import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.openecomp.sdc.be.components.property.propertytopolicydeclarators.ComponentInstancePropertyToPolicyDeclarator;
import org.openecomp.sdc.be.components.property.propertytopolicydeclarators.ComponentPropertyToPolicyDeclarator;
ComponentInstInputsMap componentInstInputsMap) {
updatePropertiesConstraints(component, componentInstInputsMap);
PropertyDeclarator propertyDeclarator = getPropertyDeclarator(componentInstInputsMap);
+ undoCISubstitutionMapping(componentInstInputsMap);
Pair<String, List<ComponentInstancePropInput>> propsToDeclare = componentInstInputsMap.resolvePropertiesToDeclare();
return propertyDeclarator.declarePropertiesAsInputs(component, propsToDeclare.getLeft(), propsToDeclare.getRight());
}
+ private void undoCISubstitutionMapping(ComponentInstInputsMap componentInstInputsMap) {
+ if (MapUtils.isNotEmpty(componentInstInputsMap.getComponentInstanceProperties())) {
+ componentInstInputsMap.getComponentInstanceProperties().values()
+ .forEach(componentInstancePropInputsList -> componentInstancePropInputsList.stream()
+ .forEach(componentInstancePropInput -> componentInstancePropInput.setMappedToComponentProperty(false)));
+ }
+ }
+
private void updatePropertiesConstraints(Component component, ComponentInstInputsMap componentInstInputsMap) {
componentInstInputsMap.getComponentInstanceProperties()
.forEach((k, v) -> updatePropsConstraints(component.safeGetComponentInstancesProperties(), k, v));