use of com.runwaysdk.system.VaultFile in project geoprism-registry by terraframe.
the class ExcelService method getExcelConfiguration.
public JSONObject getExcelConfiguration(String type, Date startDate, Date endDate, String fileName, InputStream fileStream, ImportStrategy strategy, Boolean copyBlank) {
// Save the file to the file system
try {
ServerGeoObjectType geoObjectType = ServerGeoObjectType.get(type);
VaultFile vf = VaultFile.createAndApply(fileName, fileStream);
try (InputStream is = vf.openNewStream()) {
SimpleDateFormat format = new SimpleDateFormat(GeoObjectImportConfiguration.DATE_FORMAT);
format.setTimeZone(GeoRegistryUtil.SYSTEM_TIMEZONE);
ExcelFieldContentsHandler handler = new ExcelFieldContentsHandler();
ExcelDataFormatter formatter = new ExcelDataFormatter();
ExcelSheetReader reader = new ExcelSheetReader(handler, formatter);
reader.process(is);
JSONObject object = new JSONObject();
object.put(GeoObjectImportConfiguration.TYPE, this.getType(geoObjectType));
object.put(GeoObjectImportConfiguration.SHEET, handler.getSheets().getJSONObject(0));
object.put(ImportConfiguration.VAULT_FILE_ID, vf.getOid());
object.put(ImportConfiguration.FILE_NAME, fileName);
object.put(GeoObjectImportConfiguration.HAS_POSTAL_CODE, PostalCodeFactory.isAvailable(geoObjectType));
object.put(ImportConfiguration.IMPORT_STRATEGY, strategy.name());
object.put(ImportConfiguration.FORMAT_TYPE, FormatImporterType.EXCEL.name());
object.put(ImportConfiguration.OBJECT_TYPE, ObjectImporterFactory.ObjectImportType.GEO_OBJECT.name());
object.put(ImportConfiguration.COPY_BLANK, copyBlank);
if (startDate != null) {
object.put(GeoObjectImportConfiguration.START_DATE, format.format(startDate));
}
if (endDate != null) {
object.put(GeoObjectImportConfiguration.END_DATE, format.format(endDate));
}
return object;
}
} catch (InvalidFormatException e) {
InvalidExcelFileException ex = new InvalidExcelFileException(e);
ex.setFileName(fileName);
throw ex;
} catch (RunwayException | SmartException e) {
throw e;
} catch (Exception e) {
throw new ProgrammingErrorException(e);
}
}
use of com.runwaysdk.system.VaultFile in project geoprism-registry by terraframe.
the class ShapefileService method getShapefileConfiguration.
@Request(RequestType.SESSION)
public JSONObject getShapefileConfiguration(String sessionId, String type, Date startDate, Date endDate, String fileName, InputStream fileStream, ImportStrategy strategy, Boolean copyBlank) {
// Save the file to the file system
try {
ServerGeoObjectType geoObjectType = ServerGeoObjectType.get(type);
VaultFile vf = VaultFile.createAndApply(fileName, fileStream);
try (CloseableFile dbf = ShapefileImporter.getShapefileFromResource(vf, "dbf")) {
SimpleDateFormat format = new SimpleDateFormat(GeoObjectImportConfiguration.DATE_FORMAT);
format.setTimeZone(GeoRegistryUtil.SYSTEM_TIMEZONE);
JSONObject object = new JSONObject();
object.put(GeoObjectImportConfiguration.TYPE, this.getType(geoObjectType));
object.put(GeoObjectImportConfiguration.SHEET, this.getSheetInformation(dbf));
object.put(ImportConfiguration.VAULT_FILE_ID, vf.getOid());
object.put(ImportConfiguration.FILE_NAME, fileName);
object.put(GeoObjectImportConfiguration.HAS_POSTAL_CODE, PostalCodeFactory.isAvailable(geoObjectType));
object.put(ImportConfiguration.IMPORT_STRATEGY, strategy.name());
object.put(ImportConfiguration.FORMAT_TYPE, FormatImporterType.SHAPEFILE.name());
object.put(ImportConfiguration.OBJECT_TYPE, ObjectImporterFactory.ObjectImportType.GEO_OBJECT.name());
object.put(ImportConfiguration.COPY_BLANK, copyBlank);
if (startDate != null) {
object.put(GeoObjectImportConfiguration.START_DATE, format.format(startDate));
}
if (endDate != null) {
object.put(GeoObjectImportConfiguration.END_DATE, format.format(endDate));
}
return object;
}
} catch (RunwayException | SmartException e) {
throw e;
} catch (Exception e) {
throw new ProgrammingErrorException(e);
}
}
use of com.runwaysdk.system.VaultFile in project geoprism-registry by terraframe.
the class ETLService method resolveImportInTrans.
@Transaction
private void resolveImportInTrans(String historyId, ImportHistory hist) {
hist.appLock();
ImportErrorQuery ieq = new ImportErrorQuery(new QueryFactory());
ieq.WHERE(ieq.getHistory().EQ(historyId));
OIterator<? extends ImportError> it = ieq.getIterator();
try {
ImportError err = it.next();
err.delete();
} finally {
it.close();
}
hist.clearStatus();
hist.addStatus(AllJobStatus.SUCCESS);
hist.clearStage();
hist.addStage(ImportStage.COMPLETE);
hist.apply();
VaultFile file = hist.getImportFile();
file.delete();
}
use of com.runwaysdk.system.VaultFile in project geoprism-registry by terraframe.
the class ChangeRequestService method deleteDocumentInTransCR.
@Transaction
void deleteDocumentInTransCR(String crOid, String vfOid) {
ChangeRequest request = ChangeRequest.get(crOid);
if (!this.permService.getPermissions(request).contains(ChangeRequestPermissionAction.WRITE_DOCUMENTS)) {
throw new CGRPermissionException();
}
VaultFile vf = VaultFile.get(vfOid);
vf.delete();
}
use of com.runwaysdk.system.VaultFile in project geoprism-registry by terraframe.
the class ExcelService method getBusinessTypeConfiguration.
public JSONObject getBusinessTypeConfiguration(String type, Date date, String fileName, InputStream fileStream, ImportStrategy strategy, Boolean copyBlank) {
// Save the file to the file system
try {
BusinessType businessType = BusinessType.getByCode(type);
VaultFile vf = VaultFile.createAndApply(fileName, fileStream);
try (InputStream is = vf.openNewStream()) {
SimpleDateFormat format = new SimpleDateFormat(GeoObjectImportConfiguration.DATE_FORMAT);
format.setTimeZone(GeoRegistryUtil.SYSTEM_TIMEZONE);
ExcelFieldContentsHandler handler = new ExcelFieldContentsHandler();
ExcelDataFormatter formatter = new ExcelDataFormatter();
ExcelSheetReader reader = new ExcelSheetReader(handler, formatter);
reader.process(is);
JSONObject object = new JSONObject();
object.put(BusinessObjectImportConfiguration.TYPE, this.getType(businessType));
object.put(BusinessObjectImportConfiguration.SHEET, handler.getSheets().getJSONObject(0));
object.put(BusinessObjectImportConfiguration.VAULT_FILE_ID, vf.getOid());
object.put(BusinessObjectImportConfiguration.FILE_NAME, fileName);
object.put(BusinessObjectImportConfiguration.IMPORT_STRATEGY, strategy.name());
object.put(BusinessObjectImportConfiguration.FORMAT_TYPE, FormatImporterType.EXCEL.name());
object.put(BusinessObjectImportConfiguration.OBJECT_TYPE, ObjectImporterFactory.ObjectImportType.BUSINESS_OBJECT.name());
object.put(BusinessObjectImportConfiguration.COPY_BLANK, copyBlank);
if (date != null) {
object.put(BusinessObjectImportConfiguration.DATE, format.format(date));
}
return object;
}
} catch (InvalidFormatException e) {
InvalidExcelFileException ex = new InvalidExcelFileException(e);
ex.setFileName(fileName);
throw ex;
} catch (RunwayException | SmartException e) {
throw e;
} catch (Exception e) {
throw new ProgrammingErrorException(e);
}
}
Aggregations