aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstanceInputsMergeBL.java72
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstancePropertiesMergeBL.java73
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/DataDefinitionsValuesMergingBusinessLogic.java10
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/MergePropertyData.java4
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyDataValueMergeBusinessLogic.java51
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyInstanceMergeDataBuilder.java10
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyValueMerger.java6
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ScalarPropertyValueMerger.java4
8 files changed, 25 insertions, 205 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstanceInputsMergeBL.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstanceInputsMergeBL.java
deleted file mode 100644
index 4e49eef94c..0000000000
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstanceInputsMergeBL.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.openecomp.sdc.be.components.merge.property;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.impl.ComponentsUtils;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.ComponentInstanceInput;
-import org.openecomp.sdc.be.model.InputDefinition;
-import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
-import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
-
-import fj.data.Either;
-
-@org.springframework.stereotype.Component
-public class ComponentInstanceInputsMergeBL {
-
- @javax.annotation.Resource
- private ToscaOperationFacade toscaOperationFacade;
-
- @javax.annotation.Resource
- private ComponentsUtils componentsUtils;
-
- @javax.annotation.Resource
- private DataDefinitionsValuesMergingBusinessLogic propertyValuesMergingBusinessLogic;
-
- public ActionStatus mergeComponentInstancesInputs(Component oldComponent, Component newComponent) {
- Map<String, List<ComponentInstanceInput>> componentInstancesInputs = newComponent.getComponentInstancesInputs();
- if (componentInstancesInputs == null) {
- return ActionStatus.OK;
- }
- componentInstancesInputs.forEach((instanceId, instInputs) -> mergeOldInstanceInputsValues(oldComponent, newComponent, instanceId, instInputs));
- return updateComponentInstancesInputs(newComponent, componentInstancesInputs);
- }
-
- public ActionStatus mergeComponentInstanceInputs(List<ComponentInstanceInput> oldInstProps, List<InputDefinition> oldInputs, Component newComponent, String instanceId) {
- List<ComponentInstanceInput> newInstInput = newComponent.safeGetComponentInstanceInput(instanceId);
- if (newInstInput == null) {
- return ActionStatus.OK;
- }
- propertyValuesMergingBusinessLogic.mergeInstanceDataDefinitions(oldInstProps, oldInputs, newInstInput, newComponent.getInputs());
- return updateComponentInstanceInputs(newComponent, instanceId, newInstInput);
- }
-
- private ActionStatus updateComponentInstanceInputs(Component newComponent, String instanceId, List<ComponentInstanceInput> newInstInput) {
- StorageOperationStatus storageOperationStatus = toscaOperationFacade.updateComponentInstanceInputs(newComponent, instanceId, newInstInput);
- if (storageOperationStatus != StorageOperationStatus.OK) {
- return componentsUtils.convertFromStorageResponse(storageOperationStatus);
- }
- return ActionStatus.OK;
- }
-
- private ActionStatus updateComponentInstancesInputs(Component component, Map<String, List<ComponentInstanceInput>> componentInstancesInputs) {
- Either<Map<String, List<ComponentInstanceInput>>, StorageOperationStatus> mapStorageOperationStatusEither = toscaOperationFacade.updateComponentInstanceInputsToComponent(componentInstancesInputs, component.getUniqueId());
- if (mapStorageOperationStatusEither.isRight()) {
- return componentsUtils.convertFromStorageResponse(mapStorageOperationStatusEither.right().value());
- }
- return ActionStatus.OK;
- }
-
- private void mergeOldInstanceInputsValues(Component oldComponent, Component newComponent, String instanceId, List<ComponentInstanceInput> instInputs) {
- ComponentInstance currentCompInstance = newComponent.getComponentInstanceById(instanceId).get();
- List<ComponentInstanceInput> oldInstInputs = oldComponent == null ? Collections.emptyList() : oldComponent.safeGetComponentInstanceInputsByName(currentCompInstance.getName());
- List<InputDefinition> oldInputs = oldComponent == null ? Collections.emptyList() : oldComponent.getInputs();
- propertyValuesMergingBusinessLogic.mergeInstanceDataDefinitions(oldInstInputs, oldInputs, instInputs, newComponent.getInputs());
- }
-
-
-}
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstancePropertiesMergeBL.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstancePropertiesMergeBL.java
deleted file mode 100644
index 43e3ec624a..0000000000
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ComponentInstancePropertiesMergeBL.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.openecomp.sdc.be.components.merge.property;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.impl.ComponentsUtils;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstanceProperty;
-import org.openecomp.sdc.be.model.InputDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
-import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
-
-import fj.data.Either;
-
-@org.springframework.stereotype.Component
-public class ComponentInstancePropertiesMergeBL {
-
- @javax.annotation.Resource
- private ToscaOperationFacade toscaOperationFacade;
-
- @javax.annotation.Resource(name = "componentUtils")
- private ComponentsUtils componentsUtils;
-
- @javax.annotation.Resource
- private DataDefinitionsValuesMergingBusinessLogic propertyValuesMergingBusinessLogic;
-
- public ActionStatus mergeComponentInstancesProperties(Component oldComponent, Resource newResource) {
- Map<String, List<ComponentInstanceProperty>> newInstProps = newResource.getComponentInstancesProperties();
- if (newInstProps == null) {
- return ActionStatus.OK;
- }
- newInstProps.forEach((instanceId, newProps) -> mergeOldInstancePropertiesValues(oldComponent, newResource, instanceId, newProps) );
- return updateComponentInstancesProperties(newResource, newInstProps);
- }
-
-
- public ActionStatus mergeComponentInstanceProperties(List<ComponentInstanceProperty> oldInstProps, List<InputDefinition> oldInputs, Component newComponent, String instanceId) {
- List<ComponentInstanceProperty> newInstProps = newComponent.safeGetComponentInstanceProperties(instanceId);
- if (newInstProps == null) {
- return ActionStatus.OK;
- }
- propertyValuesMergingBusinessLogic.mergeInstanceDataDefinitions(oldInstProps, oldInputs, newInstProps, newComponent.getInputs());
- return updateComponentInstanceProperties(newComponent, instanceId, newInstProps);
- }
-
- private void mergeOldInstancePropertiesValues(Component oldComponent, Component newComponent, String instanceId, List<ComponentInstanceProperty> newProps) {
- List<ComponentInstanceProperty> oldInstProperties = oldComponent == null ? Collections.emptyList() : oldComponent.safeGetComponentInstanceProperties(instanceId);
- List<InputDefinition> oldInputs = oldComponent == null ? Collections.emptyList() : oldComponent.getInputs();
- propertyValuesMergingBusinessLogic.mergeInstanceDataDefinitions(oldInstProperties, oldInputs, newProps, newComponent.getInputs());
- }
-
- private ActionStatus updateComponentInstancesProperties(Component newComponent, Map<String, List<ComponentInstanceProperty>> newInstProps) {
- Either<Map<String, List<ComponentInstanceProperty>>, StorageOperationStatus> mapStorageOperationStatusEither = toscaOperationFacade.updateComponentInstancePropsToComponent(newInstProps, newComponent.getUniqueId());
- if (mapStorageOperationStatusEither.isRight()) {
- return componentsUtils.convertFromStorageResponse(mapStorageOperationStatusEither.right().value());
- }
- return ActionStatus.OK;
- }
-
- private ActionStatus updateComponentInstanceProperties(Component component, String instanceId, List<ComponentInstanceProperty> newInstProps) {
- StorageOperationStatus storageOperationStatus = toscaOperationFacade.updateComponentInstanceProperties(component, instanceId, newInstProps);
- if (storageOperationStatus != StorageOperationStatus.OK) {
- return componentsUtils.convertFromStorageResponse(storageOperationStatus);
- }
- return ActionStatus.OK;
- }
-
-
-
-}
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/DataDefinitionsValuesMergingBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/DataDefinitionsValuesMergingBusinessLogic.java
index 96d3bce97e..139ac386a1 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/DataDefinitionsValuesMergingBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/DataDefinitionsValuesMergingBusinessLogic.java
@@ -1,11 +1,12 @@
package org.openecomp.sdc.be.components.merge.property;
-import java.util.List;
-
import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
import org.openecomp.sdc.be.model.InputDefinition;
import org.springframework.stereotype.Component;
+import java.util.Collections;
+import java.util.List;
+
@Component
public class DataDefinitionsValuesMergingBusinessLogic {
@@ -30,6 +31,11 @@ public class DataDefinitionsValuesMergingBusinessLogic {
}
+ public <T extends PropertyDataDefinition> void mergeInstanceDataDefinitions(List<T> oldInstanceDataDefinition, List<T> updatedInstanceDataDefinition) {
+ List<InputDefinition> emptyInputsList = Collections.emptyList();
+ mergeInstanceDataDefinitions(oldInstanceDataDefinition, emptyInputsList, updatedInstanceDataDefinition, emptyInputsList);
+ }
+
private void mergeInstanceDefinition(MergePropertyData mergeData) {
if (isSameType(mergeData.getOldProp(), mergeData.getNewProp())) {
propertyValueMergeBL.mergePropertyValue(mergeData.getOldProp(), mergeData.getNewProp(), mergeData.getGetInputNamesToMerge());
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/MergePropertyData.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/MergePropertyData.java
index 63a7a1b3a0..df65c1161f 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/MergePropertyData.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/MergePropertyData.java
@@ -1,10 +1,10 @@
package org.openecomp.sdc.be.components.merge.property;
+import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
+
import java.util.ArrayList;
import java.util.List;
-import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
-
/**
* A POJO which represents an instance property data definition (a {@link org.openecomp.sdc.be.model.ComponentInstanceProperty} or {@link org.openecomp.sdc.be.model.ComponentInstanceInput})
* that its value needs to be merged during an upgrade of a VSP.
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyDataValueMergeBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyDataValueMergeBusinessLogic.java
index 6b083596c7..318840d60a 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyDataValueMergeBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyDataValueMergeBusinessLogic.java
@@ -1,15 +1,7 @@
package org.openecomp.sdc.be.components.merge.property;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-
-import org.openecomp.sdc.be.components.impl.ImportUtils;
+import com.google.gson.Gson;
+import fj.data.Either;
import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
@@ -22,9 +14,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import com.google.gson.Gson;
-
-import fj.data.Either;
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
@Component
public class PropertyDataValueMergeBusinessLogic {
@@ -88,39 +80,6 @@ public class PropertyDataValueMergeBusinessLogic {
return propertyConvertor.convertToToscaObject(propertyType, propValue, innerType, dataTypes);
}
-
- @SuppressWarnings("unchecked")
- private Object removeUnwantedGetInputValues(Object val, List<String> getInputNamesToMerge) {
- if (val instanceof Map) {
- return removeUnwantedGetInputValues((Map<String, Object>) val, getInputNamesToMerge);
- }
- if (val instanceof List) {
- return removeUnwantedGetInputValues((List<Object>)val, getInputNamesToMerge);
- }
- return val;
- }
-
- private List<Object> removeUnwantedGetInputValues(List<Object> listVal, List<String> getInputNamesToMerge) {
- return listVal.stream().map(val -> removeUnwantedGetInputValues(val, getInputNamesToMerge)).collect(Collectors.toList());
- }
-
- private Map<String, Object> removeUnwantedGetInputValues(Map<String, Object> val, List<String> getInputNamesToMerge) {
- return val.entrySet().stream().filter(entry -> !isGetInputEntry(entry) || isGetInputToMerge(getInputNamesToMerge, entry))
- .collect(Collectors.toMap(Map.Entry::getKey, entry -> removeUnwantedGetInputValues(entry.getValue(), getInputNamesToMerge)));
- }
-
- private boolean isGetInputToMerge(List<String> getInputNamesToMerge, Map.Entry<String, Object> entry) {
- return getInputNamesToMerge.contains(retrieveGetInputInputName(entry.getValue()));
- }
-
- private String retrieveGetInputInputName(Object getInputValue) {
- return getInputValue instanceof List ? (String)((List) getInputValue).get(0) : (String)getInputValue;
- }
-
- private boolean isGetInputEntry(Map.Entry<String, Object> oldValEntry) {
- return oldValEntry.getKey().equals(ImportUtils.ToscaTagNamesEnum.GET_INPUT.getElementName());
- }
-
private boolean isEmptyValue(Object val) {
return val == null ||
val instanceof Map && ((Map) val).isEmpty() ||
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyInstanceMergeDataBuilder.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyInstanceMergeDataBuilder.java
index 09f26a39ee..df3030567d 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyInstanceMergeDataBuilder.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyInstanceMergeDataBuilder.java
@@ -1,15 +1,15 @@
package org.openecomp.sdc.be.components.merge.property;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
import org.openecomp.sdc.be.dao.utils.MapUtil;
import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
import org.openecomp.sdc.be.model.InputDefinition;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
public class PropertyInstanceMergeDataBuilder {
private final static PropertyInstanceMergeDataBuilder INSTANCE = new PropertyInstanceMergeDataBuilder();
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyValueMerger.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyValueMerger.java
index 88601bb521..9fcb864fe9 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyValueMerger.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/PropertyValueMerger.java
@@ -1,13 +1,13 @@
package org.openecomp.sdc.be.components.merge.property;
+import org.apache.commons.lang.StringUtils;
+import org.openecomp.sdc.be.components.impl.ImportUtils;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import org.apache.commons.lang.StringUtils;
-import org.openecomp.sdc.be.components.impl.ImportUtils;
-
public abstract class PropertyValueMerger {
abstract Object merge(Object oldVal, Object newVal, List<String> someStrings);
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ScalarPropertyValueMerger.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ScalarPropertyValueMerger.java
index 39381e7322..ce0ed0eed2 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ScalarPropertyValueMerger.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/property/ScalarPropertyValueMerger.java
@@ -1,9 +1,9 @@
package org.openecomp.sdc.be.components.merge.property;
-import java.util.List;
-
import org.springframework.stereotype.Component;
+import java.util.List;
+
@Component("scalar-prop-value-merger")
public class ScalarPropertyValueMerger extends PropertyValueMerger {