aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java146
1 files changed, 56 insertions, 90 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java
index 56dec5d93a..47fd74e8ce 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/attribute/ComponentAttributeDeclarator.java
@@ -17,124 +17,90 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.components.attribute;
import fj.data.Either;
-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.AttributeBusinessLogic;
import org.openecomp.sdc.be.datatypes.elements.AttributeDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.GetOutputValueDataDefinition;
-import org.openecomp.sdc.be.impl.ComponentsUtils;
import org.openecomp.sdc.be.model.AttributeDefinition;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.OutputDefinition;
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.AttributeOperation;
@org.springframework.stereotype.Component
public class ComponentAttributeDeclarator extends DefaultAttributeDeclarator<Component, AttributeDataDefinition> {
- private final ToscaOperationFacade toscaOperationFacade;
- private final AttributeBusinessLogic attributeBusinessLogic;
-
- public ComponentAttributeDeclarator(final ComponentsUtils componentsUtils,
- final AttributeOperation attributeOperation,
- final ToscaOperationFacade toscaOperationFacade,
- final AttributeBusinessLogic attributeBusinessLogic) {
-// super(componentsUtils, attributeOperation);
- this.toscaOperationFacade = toscaOperationFacade;
- this.attributeBusinessLogic = attributeBusinessLogic;
- }
-
- @Override
- public AttributeDataDefinition createDeclaredAttribute(final AttributeDataDefinition attributeDataDefinition) {
- return new AttributeDataDefinition(attributeDataDefinition);
- }
+ private final ToscaOperationFacade toscaOperationFacade;
- @Override
- public Either<?, StorageOperationStatus> updateAttributesValues(final Component component,
- final String propertiesOwnerId,
- final List<AttributeDataDefinition> attributetypeList) {
- if (CollectionUtils.isNotEmpty(attributetypeList)) {
- for (AttributeDataDefinition attribute : attributetypeList) {
- Either<AttributeDefinition, StorageOperationStatus>
- storageStatus = toscaOperationFacade
- .updateAttributeOfComponent(component, new AttributeDefinition(attribute));
- if (storageStatus.isRight()) {
- return Either.right(storageStatus.right().value());
- }
- }
+ public ComponentAttributeDeclarator(final ToscaOperationFacade toscaOperationFacade) {
+ this.toscaOperationFacade = toscaOperationFacade;
}
- return Either.left(attributetypeList);
- }
-
- @Override
- public Optional<Component> resolvePropertiesOwner(final Component component, final String propertiesOwnerId) {
- return Optional.of(component);
- }
- @Override
- public StorageOperationStatus unDeclareAttributesAsOutputs(final Component component,
- final OutputDefinition output) {
- AttributeDefinition attributeDefinition = new AttributeDefinition(output);
-
- // TODO - do we need this one
- if (attributeBusinessLogic.isAttributeUsedByOperation(component, attributeDefinition)) {
- return StorageOperationStatus.DECLARED_INPUT_USED_BY_OPERATION;
+ @Override
+ public AttributeDataDefinition createDeclaredAttribute(final AttributeDataDefinition attributeDataDefinition) {
+ return new AttributeDataDefinition(attributeDataDefinition);
}
- Optional<AttributeDefinition> attributeToUpdateCandidate =
- getDeclaredAttributeByOutputId(component, output.getUniqueId());
-
- if (attributeToUpdateCandidate.isPresent()) {
- AttributeDefinition attributeToUpdate = attributeToUpdateCandidate.get();
- return unDeclareOutput(component, output, attributeToUpdate);
+ @Override
+ public Either<?, StorageOperationStatus> updateAttributesValues(final Component component, final String propertiesOwnerId,
+ final List<AttributeDataDefinition> attributetypeList) {
+ if (CollectionUtils.isNotEmpty(attributetypeList)) {
+ for (AttributeDataDefinition attribute : attributetypeList) {
+ Either<AttributeDefinition, StorageOperationStatus> storageStatus = toscaOperationFacade
+ .updateAttributeOfComponent(component, new AttributeDefinition(attribute));
+ if (storageStatus.isRight()) {
+ return Either.right(storageStatus.right().value());
+ }
+ }
+ }
+ return Either.left(attributetypeList);
}
- return StorageOperationStatus.OK;
- }
-
- private StorageOperationStatus unDeclareOutput(final Component component,
- final OutputDefinition output,
- final AttributeDefinition attributeToUpdate) {
- prepareValueBeforeDelete(output, attributeToUpdate, Collections.emptyList());
- attributeToUpdate.setValue(output.getDefaultValue());
- Either<AttributeDefinition, StorageOperationStatus> status = toscaOperationFacade
- .updateAttributeOfComponent(component, attributeToUpdate);
- if (status.isRight()) {
- return status.right().value();
+ @Override
+ public Optional<Component> resolvePropertiesOwner(final Component component, final String propertiesOwnerId) {
+ return Optional.of(component);
}
- return StorageOperationStatus.OK;
- }
-
- private Optional<AttributeDefinition> getDeclaredAttributeByOutputId(final Component component, final String outputId) {
- List<AttributeDefinition> attributes = component.getAttributes();
-
- if (CollectionUtils.isEmpty(attributes)) {
- return Optional.empty();
+ @Override
+ public StorageOperationStatus unDeclareAttributesAsOutputs(final Component component, final OutputDefinition output) {
+ final Optional<AttributeDefinition> attributeToUpdateCandidate = getDeclaredAttributeByOutputId(component, output.getUniqueId());
+ if (attributeToUpdateCandidate.isPresent()) {
+ AttributeDefinition attributeToUpdate = attributeToUpdateCandidate.get();
+ return unDeclareOutput(component, output, attributeToUpdate);
+ }
+ return StorageOperationStatus.OK;
}
- for (AttributeDefinition attributeDefinition : attributes) {
- List<GetOutputValueDataDefinition> getOutputValues = attributeDefinition.getGetOutputValues();
- if (CollectionUtils.isEmpty(getOutputValues)) {
- continue;
- }
-
- Optional<GetOutputValueDataDefinition> getOutputCandidate =
- getOutputValues.stream().filter(getOutput -> getOutput.getOutputId().equals(outputId)).findAny();
-
- if (getOutputCandidate.isPresent()) {
- return Optional.of(attributeDefinition);
- }
+ private StorageOperationStatus unDeclareOutput(final Component component, final OutputDefinition output,
+ final AttributeDefinition attributeToUpdate) {
+ attributeToUpdate.setValue(output.getDefaultValue());
+ Either<AttributeDefinition, StorageOperationStatus> status = toscaOperationFacade.updateAttributeOfComponent(component, attributeToUpdate);
+ if (status.isRight()) {
+ return status.right().value();
+ }
+ return StorageOperationStatus.OK;
}
- return Optional.empty();
- }
-
+ private Optional<AttributeDefinition> getDeclaredAttributeByOutputId(final Component component, final String outputId) {
+ List<AttributeDefinition> attributes = component.getAttributes();
+ if (CollectionUtils.isEmpty(attributes)) {
+ return Optional.empty();
+ }
+ for (AttributeDefinition attributeDefinition : attributes) {
+ List<GetOutputValueDataDefinition> getOutputValues = attributeDefinition.getGetOutputValues();
+ if (CollectionUtils.isEmpty(getOutputValues)) {
+ continue;
+ }
+ Optional<GetOutputValueDataDefinition> getOutputCandidate = getOutputValues.stream()
+ .filter(getOutput -> getOutput.getOutputId().equals(outputId)).findAny();
+ if (getOutputCandidate.isPresent()) {
+ return Optional.of(attributeDefinition);
+ }
+ }
+ return Optional.empty();
+ }
}