@Override
public void updateResourceConfigurationDefinition(ResourceType existingType, ResourceType newType) {
log.debug("Updating resource configuration definition for " + existingType);
existingType = entityMgr.find(ResourceType.class, existingType.getId());
ConfigurationDefinition newResourceConfigurationDefinition = newType.getResourceConfigurationDefinition();
if (newResourceConfigurationDefinition != null) {
if (existingType.getResourceConfigurationDefinition() == null) {
if (log.isDebugEnabled()) {
log.debug(existingType + " currently does not have a resource configuration definition. Adding " +
"new resource configuration definition.");
}
entityMgr.persist(newResourceConfigurationDefinition);
existingType.setResourceConfigurationDefinition(newResourceConfigurationDefinition);
} else {
if (log.isDebugEnabled()) {
log.debug("Updating existing resource configuration definition for " + existingType);
}
ConfigurationDefinition existingDefinition = existingType.getResourceConfigurationDefinition();
configurationMetadataMgr.updateConfigurationDefinition(newResourceConfigurationDefinition,
existingDefinition);
}
} else { // newDefinition == null
if (existingType.getResourceConfigurationDefinition() != null) {