Exception thrown when upgrading the version of a component instance in a component composition
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-4096
Change-Id: Ice98ab72f9bb69d3fa088a94e4c7c3f903de1f99
mergeOperationInputDefinitions(oldOperationDef.getInputs(), newOperationDefKeyValue.getInputs(),
originalOperationDef.getInputs());
}
mergeOperationInputDefinitions(oldOperationDef.getInputs(), newOperationDefKeyValue.getInputs(),
originalOperationDef.getInputs());
}
- if (!originalOperationDef.getImplementation().equals(oldOperationDef.getImplementation())) {
+ if (originalValueOverwritten(originalOperationDef.getImplementation(), oldOperationDef.getImplementation()) ) {
newOperationDefKeyValue.setImplementation(oldOperationDef.getImplementation());
}
newOperationDefKeyValue.setImplementation(oldOperationDef.getImplementation());
}
- if (!originalOperationDef.getDescription().equals(oldOperationDef.getDescription())) {
+ if (originalValueOverwritten(originalOperationDef.getDescription(), oldOperationDef.getDescription())) {
newOperationDefKeyValue.setDescription(oldOperationDef.getDescription());
}
newInterfaceDefOperationMap.put(newOperationDefKey, newOperationDefKeyValue);
newOperationDefKeyValue.setDescription(oldOperationDef.getDescription());
}
newInterfaceDefOperationMap.put(newOperationDefKey, newOperationDefKeyValue);
StorageOperationStatus updateStatus = toscaOperationFacade.updateComponentInstanceInterfaces(currentComponent, instanceId);
return componentsUtils.convertFromStorageResponse(updateStatus);
}
StorageOperationStatus updateStatus = toscaOperationFacade.updateComponentInstanceInterfaces(currentComponent, instanceId);
return componentsUtils.convertFromStorageResponse(updateStatus);
}
+
+ private <T> boolean originalValueOverwritten(final T originalValue, final T oldValue) {
+ if (originalValue == null) {
+ return oldValue != null;
+ }
+ return !originalValue.equals(oldValue);
+ }
private void mergeOperationInputDefinitions(ListDataDefinition<OperationInputDefinition> oldInputs,
ListDataDefinition<OperationInputDefinition> newInputs,
private void mergeOperationInputDefinitions(ListDataDefinition<OperationInputDefinition> oldInputs,
ListDataDefinition<OperationInputDefinition> newInputs,