private void synchronizeReplace(DataStructureDataReplaceModel dataModel) throws SynchronizationException {
try {
if (!dataStructuresCoreService.existsReplace(dataModel.getLocation())) {
dataStructuresCoreService.createReplace(dataModel.getLocation(), dataModel.getName(), dataModel.getHash());
DATA_STRUCTURE_REPLACE_MODELS.put(dataModel.getName(), dataModel);
logger.info("Synchronized a new Replace Data file [{}] from location: {}", dataModel.getName(), dataModel.getLocation());
} else {
DataStructureDataReplaceModel existing = dataStructuresCoreService.getReplace(dataModel.getLocation());
if (!dataModel.equals(existing)) {
dataStructuresCoreService.updateReplace(dataModel.getLocation(), dataModel.getName(), dataModel.getHash());
DATA_STRUCTURE_REPLACE_MODELS.put(dataModel.getName(), dataModel);
logger.info("Synchronized a modified Replace Data file [{}] from location: {}", dataModel.getName(), dataModel.getLocation());
}
}
REPLACE_SYNCHRONIZED.add(dataModel.getLocation());
} catch (DataStructuresException e) {
throw new SynchronizationException(e);
}
}