@Override
public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification {
UnitConfig.Builder unitConfig = entry.getMessage().toBuilder();
boolean modification = false;
for (ServiceConfig.Builder serviceConfig : unitConfig.getServiceConfigBuilderList()) {
ServiceDescription.Builder serviceDescription = serviceConfig.getServiceDescriptionBuilder();
if (serviceDescription.getServiceTemplateId().isEmpty()) {
if (!serviceDescription.hasType()) {
throw new NotAvailableException("ServiceType");
}
serviceDescription.setServiceTemplateId(getServiceIdByType(serviceDescription.getType()));
modification = true;
}
}
if (modification) {
throw new EntryModification(entry.setMessage(unitConfig), this);
}
}