summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java270
1 files changed, 115 insertions, 155 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java
index 14479d4263..dc5b95fd55 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/ComponentPropertyDeclarator.java
@@ -13,10 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.be.components.property;
import fj.data.Either;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
import org.apache.commons.collections.CollectionUtils;
import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition;
@@ -30,183 +33,140 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
@org.springframework.stereotype.Component
public class ComponentPropertyDeclarator extends DefaultPropertyDeclarator<Component, PropertyDataDefinition> {
- private ToscaOperationFacade toscaOperationFacade;
- PropertyBusinessLogic propertyBL;
-
-
- public ComponentPropertyDeclarator(ComponentsUtils componentsUtils,
- PropertyOperation propertyOperation,
- ToscaOperationFacade toscaOperationFacade,
- PropertyBusinessLogic propertyBL) {
- super(componentsUtils, propertyOperation);
- this.toscaOperationFacade = toscaOperationFacade;
- this.propertyBL = propertyBL;
- }
+ PropertyBusinessLogic propertyBL;
+ private ToscaOperationFacade toscaOperationFacade;
- @Override
- public PropertyDataDefinition createDeclaredProperty(PropertyDataDefinition prop) {
- return new PropertyDataDefinition(prop);
- }
-
- @Override
- public Either<?, StorageOperationStatus> updatePropertiesValues(Component component,
- String propertiesOwnerId,
- List<PropertyDataDefinition> properties) {
- if(CollectionUtils.isNotEmpty(properties)) {
- for(PropertyDataDefinition property : properties) {
- Either<PropertyDefinition, StorageOperationStatus>
- storageStatus = toscaOperationFacade
- .updatePropertyOfComponent(component, new PropertyDefinition(property));
- if(storageStatus.isRight()) {
- return Either.right(storageStatus.right().value());
- }
- }
+ public ComponentPropertyDeclarator(ComponentsUtils componentsUtils, PropertyOperation propertyOperation,
+ ToscaOperationFacade toscaOperationFacade, PropertyBusinessLogic propertyBL) {
+ super(componentsUtils, propertyOperation);
+ this.toscaOperationFacade = toscaOperationFacade;
+ this.propertyBL = propertyBL;
}
- return Either.left(properties);
- }
-
- @Override
- public Optional<Component> resolvePropertiesOwner(Component component, String propertiesOwnerId) {
- return Optional.of(component);
- }
- @Override
- public void addPropertiesListToInput(PropertyDataDefinition declaredProp,
- InputDefinition input) {
-
- List<ComponentInstanceProperty> propertiesList = input.getProperties();
- if(propertiesList == null) {
- propertiesList = new ArrayList<>(); // adding the property with the new value for UI
+ @Override
+ public PropertyDataDefinition createDeclaredProperty(PropertyDataDefinition prop) {
+ return new PropertyDataDefinition(prop);
}
- propertiesList.add(new ComponentInstanceProperty(declaredProp));
- input.setProperties(propertiesList);
- }
-
- @Override
- public StorageOperationStatus unDeclarePropertiesAsInputs(Component component,
- InputDefinition input) {
- PropertyDefinition propertyDefinition = new PropertyDefinition(input);
- if(propertyBL.isPropertyUsedByOperation(component, propertyDefinition)) {
- return StorageOperationStatus.DECLARED_INPUT_USED_BY_OPERATION;
- }
-
- Optional<PropertyDefinition> propertyToUpdateCandidate =
- getDeclaredPropertyByInputId(component, input.getUniqueId());
-
- if(propertyToUpdateCandidate.isPresent()) {
- PropertyDefinition propertyToUpdate = propertyToUpdateCandidate.get();
- return unDeclareInput(component, input, propertyToUpdate);
+ @Override
+ public Either<?, StorageOperationStatus> updatePropertiesValues(Component component, String propertiesOwnerId,
+ List<PropertyDataDefinition> properties) {
+ if (CollectionUtils.isNotEmpty(properties)) {
+ for (PropertyDataDefinition property : properties) {
+ Either<PropertyDefinition, StorageOperationStatus> storageStatus = toscaOperationFacade
+ .updatePropertyOfComponent(component, new PropertyDefinition(property));
+ if (storageStatus.isRight()) {
+ return Either.right(storageStatus.right().value());
+ }
+ }
+ }
+ return Either.left(properties);
}
-
- return StorageOperationStatus.OK;
- }
-
- @Override
- public StorageOperationStatus unDeclarePropertiesAsListInputs(Component component,
- InputDefinition input) {
- PropertyDefinition propertyDefinition = new PropertyDefinition(input);
-
- if(propertyBL.isPropertyUsedByOperation(component, propertyDefinition)) {
- return StorageOperationStatus.DECLARED_INPUT_USED_BY_OPERATION;
+ @Override
+ public Optional<Component> resolvePropertiesOwner(Component component, String propertiesOwnerId) {
+ return Optional.of(component);
}
- Optional<List <PropertyDefinition>> propertyToUpdateCandidate =
- getDeclaredPropertiesByInputId(component, input.getUniqueId());
-
- if(propertyToUpdateCandidate.isPresent()) {
- List<PropertyDefinition> propertiesToUpdate = propertyToUpdateCandidate.get();
- if (!propertiesToUpdate.isEmpty()) {
- return unDeclareInputs(component, input, propertiesToUpdate);
- }
+ @Override
+ public void addPropertiesListToInput(PropertyDataDefinition declaredProp, InputDefinition input) {
+ List<ComponentInstanceProperty> propertiesList = input.getProperties();
+ if (propertiesList == null) {
+ propertiesList = new ArrayList<>(); // adding the property with the new value for UI
+ }
+ propertiesList.add(new ComponentInstanceProperty(declaredProp));
+ input.setProperties(propertiesList);
}
- return StorageOperationStatus.OK;
- }
-
- private StorageOperationStatus unDeclareInputs(Component component,
- InputDefinition input,
- List <PropertyDefinition> propertiesToUpdate) {
- for (PropertyDefinition propertyToUpdate : propertiesToUpdate) {
- StorageOperationStatus storageOperationStatus = unDeclareInput(component, input, propertyToUpdate);
- if (StorageOperationStatus.OK != storageOperationStatus) {
- return storageOperationStatus;
- }
+ @Override
+ public StorageOperationStatus unDeclarePropertiesAsInputs(Component component, InputDefinition input) {
+ PropertyDefinition propertyDefinition = new PropertyDefinition(input);
+ if (propertyBL.isPropertyUsedByOperation(component, propertyDefinition)) {
+ return StorageOperationStatus.DECLARED_INPUT_USED_BY_OPERATION;
+ }
+ Optional<PropertyDefinition> propertyToUpdateCandidate = getDeclaredPropertyByInputId(component, input.getUniqueId());
+ if (propertyToUpdateCandidate.isPresent()) {
+ PropertyDefinition propertyToUpdate = propertyToUpdateCandidate.get();
+ return unDeclareInput(component, input, propertyToUpdate);
+ }
+ return StorageOperationStatus.OK;
}
- return StorageOperationStatus.OK;
- }
- private StorageOperationStatus unDeclareInput(Component component,
- InputDefinition input,
- PropertyDefinition propertyToUpdate) {
- prepareValueBeforeDelete(input, propertyToUpdate, Collections.emptyList());
- propertyToUpdate.setValue(input.getDefaultValue());
- Either<PropertyDefinition, StorageOperationStatus> status = toscaOperationFacade
- .updatePropertyOfComponent(component, propertyToUpdate);
- if(status.isRight()) {
- return status.right().value();
+ @Override
+ public StorageOperationStatus unDeclarePropertiesAsListInputs(Component component, InputDefinition input) {
+ PropertyDefinition propertyDefinition = new PropertyDefinition(input);
+ if (propertyBL.isPropertyUsedByOperation(component, propertyDefinition)) {
+ return StorageOperationStatus.DECLARED_INPUT_USED_BY_OPERATION;
+ }
+ Optional<List<PropertyDefinition>> propertyToUpdateCandidate = getDeclaredPropertiesByInputId(component, input.getUniqueId());
+ if (propertyToUpdateCandidate.isPresent()) {
+ List<PropertyDefinition> propertiesToUpdate = propertyToUpdateCandidate.get();
+ if (!propertiesToUpdate.isEmpty()) {
+ return unDeclareInputs(component, input, propertiesToUpdate);
+ }
+ }
+ return StorageOperationStatus.OK;
}
- return StorageOperationStatus.OK;
- }
-
- private Optional<PropertyDefinition> getDeclaredPropertyByInputId(Component component, String inputId) {
- List<PropertyDefinition> properties = component.getProperties();
-
- if (CollectionUtils.isEmpty(properties)) {
- return Optional.empty();
+ private StorageOperationStatus unDeclareInputs(Component component, InputDefinition input, List<PropertyDefinition> propertiesToUpdate) {
+ for (PropertyDefinition propertyToUpdate : propertiesToUpdate) {
+ StorageOperationStatus storageOperationStatus = unDeclareInput(component, input, propertyToUpdate);
+ if (StorageOperationStatus.OK != storageOperationStatus) {
+ return storageOperationStatus;
+ }
+ }
+ return StorageOperationStatus.OK;
}
- for (PropertyDefinition propertyDefinition : properties) {
- List<GetInputValueDataDefinition> getInputValues = propertyDefinition.getGetInputValues();
- if (CollectionUtils.isEmpty(getInputValues)) {
- continue;
- }
-
- Optional<GetInputValueDataDefinition> getInputCandidate =
- getInputValues.stream().filter(getInput -> getInput.getInputId().equals(inputId)).findAny();
-
- if (getInputCandidate.isPresent()) {
- return Optional.of(propertyDefinition);
- }
+ private StorageOperationStatus unDeclareInput(Component component, InputDefinition input, PropertyDefinition propertyToUpdate) {
+ prepareValueBeforeDelete(input, propertyToUpdate, Collections.emptyList());
+ propertyToUpdate.setValue(input.getDefaultValue());
+ Either<PropertyDefinition, StorageOperationStatus> status = toscaOperationFacade.updatePropertyOfComponent(component, propertyToUpdate);
+ if (status.isRight()) {
+ return status.right().value();
+ }
+ return StorageOperationStatus.OK;
}
- return Optional.empty();
- }
-
- private Optional<List <PropertyDefinition>> getDeclaredPropertiesByInputId(Component component,
- String inputId) {
- List<PropertyDefinition> properties = component.getProperties();
- List<PropertyDefinition> propertiesToUpdate = new ArrayList<>();
-
- if(CollectionUtils.isEmpty(properties)) {
- return Optional.empty();
+ private Optional<PropertyDefinition> getDeclaredPropertyByInputId(Component component, String inputId) {
+ List<PropertyDefinition> properties = component.getProperties();
+ if (CollectionUtils.isEmpty(properties)) {
+ return Optional.empty();
+ }
+ for (PropertyDefinition propertyDefinition : properties) {
+ List<GetInputValueDataDefinition> getInputValues = propertyDefinition.getGetInputValues();
+ if (CollectionUtils.isEmpty(getInputValues)) {
+ continue;
+ }
+ Optional<GetInputValueDataDefinition> getInputCandidate = getInputValues.stream()
+ .filter(getInput -> getInput.getInputId().equals(inputId)).findAny();
+ if (getInputCandidate.isPresent()) {
+ return Optional.of(propertyDefinition);
+ }
+ }
+ return Optional.empty();
}
- for(PropertyDefinition propertyDefinition : properties) {
- List<GetInputValueDataDefinition> getInputValues = propertyDefinition.getGetInputValues();
- if(CollectionUtils.isEmpty(getInputValues)) {
- continue;
- }
-
- Optional<GetInputValueDataDefinition> getInputCandidate =
- getInputValues.stream().filter(getInput -> getInput.getInputId().equals(inputId))
- .findAny();
-
- if(getInputCandidate.isPresent()) {
- propertiesToUpdate.add(propertyDefinition);
- }
+ private Optional<List<PropertyDefinition>> getDeclaredPropertiesByInputId(Component component, String inputId) {
+ List<PropertyDefinition> properties = component.getProperties();
+ List<PropertyDefinition> propertiesToUpdate = new ArrayList<>();
+ if (CollectionUtils.isEmpty(properties)) {
+ return Optional.empty();
+ }
+ for (PropertyDefinition propertyDefinition : properties) {
+ List<GetInputValueDataDefinition> getInputValues = propertyDefinition.getGetInputValues();
+ if (CollectionUtils.isEmpty(getInputValues)) {
+ continue;
+ }
+ Optional<GetInputValueDataDefinition> getInputCandidate = getInputValues.stream()
+ .filter(getInput -> getInput.getInputId().equals(inputId)).findAny();
+ if (getInputCandidate.isPresent()) {
+ propertiesToUpdate.add(propertyDefinition);
+ }
+ }
+ return Optional.of(propertiesToUpdate);
}
-
- return Optional.of(propertiesToUpdate);
- }
}