diff options
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java index 251fb1a64e..0ffe693187 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/resource/ResourceDataMergeBusinessLogic.java @@ -1,62 +1,38 @@ package org.openecomp.sdc.be.components.merge.resource; -import java.util.ArrayList; -import java.util.List; - -import org.openecomp.sdc.be.components.merge.input.ComponentInputsMergeBL; -import org.openecomp.sdc.be.components.merge.property.ComponentInstanceInputsMergeBL; -import org.openecomp.sdc.be.components.merge.property.ComponentInstancePropertiesMergeBL; +import org.openecomp.sdc.be.components.merge.instance.ComponentsMergeCommand; import org.openecomp.sdc.be.dao.api.ActionStatus; -import org.openecomp.sdc.be.model.InputDefinition; import org.openecomp.sdc.be.model.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.List; + @Component public class ResourceDataMergeBusinessLogic implements MergeResourceBusinessLogic { - private final static Logger log = LoggerFactory.getLogger(ResourceDataMergeBusinessLogic.class.getName()); + private static final Logger LOGGER = LoggerFactory.getLogger(ResourceDataMergeBusinessLogic.class); - @javax.annotation.Resource - private ComponentInputsMergeBL inputsValuesMergeBL; + private List<ComponentsMergeCommand> componentMergingCommands; - @javax.annotation.Resource - private ComponentInstancePropertiesMergeBL instancePropertiesValueMergeBL; - - @javax.annotation.Resource - private ComponentInstanceInputsMergeBL instanceInputsValueMergeBL; + public ResourceDataMergeBusinessLogic(List<ComponentsMergeCommand> componentMergingCommands) { + this.componentMergingCommands = componentMergingCommands; + } @Override public ActionStatus mergeResourceEntities(Resource oldResource, Resource newResource) { if (oldResource == null) { return ActionStatus.OK; } - - ActionStatus mergeInstInputsStatus = instancePropertiesValueMergeBL.mergeComponentInstancesProperties(oldResource, newResource); - if (mergeInstInputsStatus != ActionStatus.OK) { - log.error("failed to merge instance properties of resource {} status is {}", newResource.getUniqueId(), mergeInstInputsStatus); - return mergeInstInputsStatus; - } - - ActionStatus mergeInstPropsStatus = instanceInputsValueMergeBL.mergeComponentInstancesInputs(oldResource, newResource); - if (mergeInstPropsStatus != ActionStatus.OK) { - log.error("failed to merge instance inputs of resource {} status is {}", newResource.getUniqueId(), mergeInstPropsStatus); - return mergeInstPropsStatus; - } - - ActionStatus mergeInputsStatus = mergeInputs(oldResource, newResource); - if (mergeInputsStatus != ActionStatus.OK) { - log.error("failed to merge inputs of resource {} status is {}", newResource.getUniqueId(), mergeInputsStatus); - return mergeInputsStatus; + for (ComponentsMergeCommand componentMergeCommand : componentMergingCommands) { + ActionStatus mergeStatus = componentMergeCommand.mergeComponents(oldResource, newResource); + if (mergeStatus != ActionStatus.OK) { + LOGGER.error("failed on merge command {} of resource {} status is {}", componentMergeCommand.description(), newResource.getUniqueId(), mergeStatus); + return mergeStatus; + } } return ActionStatus.OK; } - private ActionStatus mergeInputs(Resource oldResource, Resource newResource) { - List<InputDefinition> inputsToMerge = newResource.getInputs() != null ? newResource.getInputs() : new ArrayList<>(); - return inputsValuesMergeBL.mergeAndRedeclareComponentInputs(oldResource, newResource, inputsToMerge); - } - - } |