@Override
public boolean saveQueryOptions() {
QueryOptionsGenerator generator = new QueryOptionsGenerator(hubConfig.newStagingClient());
try {
Path dir = hubProject.getEntityConfigDir();
if (!dir.toFile().exists()) {
dir.toFile().mkdirs();
}
File stagingFile = Paths.get(dir.toString(), HubConfig.STAGING_ENTITY_QUERY_OPTIONS_FILE).toFile();
File finalFile = Paths.get(dir.toString(), HubConfig.FINAL_ENTITY_QUERY_OPTIONS_FILE).toFile();
long lastModified = Math.max(stagingFile.lastModified(), finalFile.lastModified());
List<JsonNode> entities = getModifiedRawEntities(lastModified);
if (entities.size() > 0) {
String options = generator.generateOptions(entities);
FileUtils.writeStringToFile(stagingFile, options);
FileUtils.writeStringToFile(finalFile, options);
return true;
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}