private void synchronizeAppend(DataStructureDataAppendModel dataModel) throws SynchronizationException {
try {
if (!dataStructuresCoreService.existsAppend(dataModel.getLocation())) {
dataStructuresCoreService.createAppend(dataModel.getLocation(), dataModel.getName(), dataModel.getHash());
DATA_STRUCTURE_APPEND_MODELS.put(dataModel.getName(), dataModel);
logger.info("Synchronized a new Append Data file [{}] from location: {}", dataModel.getName(), dataModel.getLocation());
} else {
DataStructureDataAppendModel existing = dataStructuresCoreService.getAppend(dataModel.getLocation());
if (!dataModel.equals(existing)) {
dataStructuresCoreService.updateAppend(dataModel.getLocation(), dataModel.getName(), dataModel.getHash());
DATA_STRUCTURE_APPEND_MODELS.put(dataModel.getName(), dataModel);
logger.info("Synchronized a modified Append Data file [{}] from location: {}", dataModel.getName(), dataModel.getLocation());
}
}
APPEND_SYNCHRONIZED.add(dataModel.getLocation());
} catch (DataStructuresException e) {
throw new SynchronizationException(e);
}
}