dbf-exporter. jdbc -> hazelcast, ready for test (fix delete empty file)
This commit is contained in:
parent
4e08b8acd0
commit
cc8a36018d
1 changed files with 11 additions and 0 deletions
|
|
@ -70,6 +70,8 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
|
||||||
|
|
||||||
Imdg<? extends SpcexObjectBase> map = imdgProvider.getImdg(table.getHazelcastMapName(), table.getEntityClass());
|
Imdg<? extends SpcexObjectBase> map = imdgProvider.getImdg(table.getHazelcastMapName(), table.getEntityClass());
|
||||||
File dbfFile = resultContainer.getFileForExport();
|
File dbfFile = resultContainer.getFileForExport();
|
||||||
|
boolean writeOk = false;
|
||||||
|
boolean emptyMap = true;
|
||||||
try (DBFWriter dbfWriter = new DBFWriter(dbfFile, dbfCharset)) {
|
try (DBFWriter dbfWriter = new DBFWriter(dbfFile, dbfCharset)) {
|
||||||
dbfWriter.setFields(dbfFieldsForTable.get(table));
|
dbfWriter.setFields(dbfFieldsForTable.get(table));
|
||||||
Collection<? extends SpcexObjectBase> allValues = map.getAllValues();
|
Collection<? extends SpcexObjectBase> allValues = map.getAllValues();
|
||||||
|
|
@ -88,9 +90,18 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
|
||||||
else throw new Exception("Get unknown object from imdg. Class: " + value.getClass().getSimpleName());
|
else throw new Exception("Get unknown object from imdg. Class: " + value.getClass().getSimpleName());
|
||||||
dbfWriter.addRecord(values);
|
dbfWriter.addRecord(values);
|
||||||
}
|
}
|
||||||
|
writeOk = true;
|
||||||
|
emptyMap = allValues.isEmpty();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(String.format("uuid %s. Can't export table %s to file %s. Table was skipped.", resultContainer.getUuid(), table, dbfFile), e);
|
log.error(String.format("uuid %s. Can't export table %s to file %s. Table was skipped.", resultContainer.getUuid(), table, dbfFile), e);
|
||||||
return StageResult.ERROR;
|
return StageResult.ERROR;
|
||||||
|
} finally {
|
||||||
|
if (!writeOk || emptyMap) {
|
||||||
|
boolean deleteOk = resultContainer.getFileForExport().delete();
|
||||||
|
if (!deleteOk) {
|
||||||
|
log.warn("Can't delete file {}", resultContainer.getFileForExport().getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return StageResult.COMPLETE;
|
return StageResult.COMPLETE;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue