diff options
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java')
-rw-r--r-- | catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java | 96 |
1 files changed, 47 insertions, 49 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java index f82a2982b0..279aab667c 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/AttributeOperation.java @@ -35,12 +35,12 @@ import org.apache.commons.lang3.tuple.ImmutablePair; import org.openecomp.sdc.be.dao.graph.datatype.GraphEdge; import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels; import org.openecomp.sdc.be.dao.titan.TitanOperationStatus; -import org.openecomp.sdc.be.datatypes.elements.AttributeDataDefinition; +import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; -import org.openecomp.sdc.be.model.AttributeDefinition; import org.openecomp.sdc.be.model.ComponentInstance; -import org.openecomp.sdc.be.model.ComponentInstanceAttribute; +import org.openecomp.sdc.be.model.ComponentInstanceProperty; import org.openecomp.sdc.be.model.DataTypeDefinition; +import org.openecomp.sdc.be.model.PropertyDefinition; import org.openecomp.sdc.be.model.operations.api.IAttributeOperation; import org.openecomp.sdc.be.model.operations.api.IPropertyOperation; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; @@ -81,7 +81,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO * @param attributeDefinition * @return */ - private Either<AttributeData, TitanOperationStatus> addAttributeToNodeType(AttributeDefinition attributeDefinition, NodeTypeEnum nodeType, String nodeUniqueId) { + private Either<AttributeData, TitanOperationStatus> addAttributeToNodeType(PropertyDefinition attributeDefinition, NodeTypeEnum nodeType, String nodeUniqueId) { String attUniqueId = UniqueIdBuilder.buildAttributeUid(nodeUniqueId, attributeDefinition.getName()); Supplier<AttributeData> dataBuilder = () -> buildAttributeData(attributeDefinition, attUniqueId); Supplier<String> defNameGenerator = () -> "Attribute : " + attributeDefinition.getName(); @@ -90,7 +90,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } - private TitanOperationStatus addAttributeToNodeType(TitanVertex metadataVertex, AttributeDefinition attributeDefinition, NodeTypeEnum nodeType, String nodeUniqueId) { + private TitanOperationStatus addAttributeToNodeType(TitanVertex metadataVertex, PropertyDefinition attributeDefinition, NodeTypeEnum nodeType, String nodeUniqueId) { String attUniqueId = UniqueIdBuilder.buildAttributeUid(nodeUniqueId, attributeDefinition.getName()); Supplier<AttributeData> dataBuilder = () -> buildAttributeData(attributeDefinition, attUniqueId); Supplier<String> defNameGenerator = () -> "Attribute : " + attributeDefinition.getName(); @@ -99,7 +99,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } - private AttributeData buildAttributeData(AttributeDefinition attributeDefinition, String attUniqueId) { + private AttributeData buildAttributeData(PropertyDefinition attributeDefinition, String attUniqueId) { attributeDefinition.setUniqueId(attUniqueId); return new AttributeData(attributeDefinition); } @@ -115,14 +115,14 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public Either<Map<String, AttributeDefinition>, StorageOperationStatus> deleteAllAttributeAssociatedToNode(NodeTypeEnum nodeType, String uniqueId) { + public Either<Map<String, PropertyDefinition>, StorageOperationStatus> deleteAllAttributeAssociatedToNode(NodeTypeEnum nodeType, String uniqueId) { Wrapper<TitanOperationStatus> errorWrapper; - List<AttributeDefinition> attributes = new ArrayList<>(); + List<PropertyDefinition> attributes = new ArrayList<>(); TitanOperationStatus findAllResourceAttribues = findNodeNonInheretedAttribues(uniqueId, NodeTypeEnum.Resource, attributes); errorWrapper = (findAllResourceAttribues != TitanOperationStatus.OK) ? new Wrapper<>(findAllResourceAttribues) : new Wrapper<>(); if (errorWrapper.isEmpty()) { - for (AttributeDefinition attDef : attributes) { + for (PropertyDefinition attDef : attributes) { log.debug("Before deleting attribute from graph {}", attDef.getUniqueId()); Either<AttributeData, TitanOperationStatus> deleteNode = titanGenericDao.deleteNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Attribute), attDef.getUniqueId(), AttributeData.class); if (deleteNode.isRight()) { @@ -133,7 +133,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } if (errorWrapper.isEmpty()) { - Map<String, AttributeDefinition> attributesMap = attributes.stream().collect(Collectors.toMap(e -> e.getName(), e -> e)); + Map<String, PropertyDefinition> attributesMap = attributes.stream().collect(Collectors.toMap(e -> e.getName(), e -> e)); return Either.left(attributesMap); } else { return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(errorWrapper.getInnerElement())); @@ -147,9 +147,9 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public TitanOperationStatus addAttributesToGraph(TitanVertex metadataVertex, Map<String, AttributeDefinition> attributes, String resourceId, Map<String, DataTypeDefinition> dataTypes) { + public TitanOperationStatus addAttributesToGraph(TitanVertex metadataVertex, Map<String, PropertyDefinition> attributes, String resourceId, Map<String, DataTypeDefinition> dataTypes) { TitanOperationStatus titanStatus = TitanOperationStatus.OK; - for (AttributeDefinition attribute : attributes.values()) { + for (PropertyDefinition attribute : attributes.values()) { TitanOperationStatus eitherAddAttribute = addAttributeToGraphByVertex(metadataVertex, attribute, resourceId, dataTypes); if (!eitherAddAttribute.equals(TitanOperationStatus.OK)) { titanStatus = eitherAddAttribute; @@ -160,9 +160,9 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public Either<List<ComponentInstanceAttribute>, TitanOperationStatus> getAllAttributesOfResourceInstance(ComponentInstance compInstance) { + public Either<List<ComponentInstanceProperty>, TitanOperationStatus> getAllAttributesOfResourceInstance(ComponentInstance compInstance) { - Either<List<ComponentInstanceAttribute>, TitanOperationStatus> result; + Either<List<ComponentInstanceProperty>, TitanOperationStatus> result; Either<List<ImmutablePair<AttributeValueData, GraphEdge>>, TitanOperationStatus> attributeImplNodes = titanGenericDao.getChildrenNodes(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.ResourceInstance), compInstance.getUniqueId(), GraphEdgeLabels.ATTRIBUTE_VALUE, NodeTypeEnum.AttributeValue, AttributeValueData.class); @@ -185,31 +185,31 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO return result; } - private Either<List<ComponentInstanceAttribute>, TitanOperationStatus> mergeAttributesResults(Either<List<ComponentInstanceAttribute>, TitanOperationStatus> eitherAttributesThatDoesNotExistOnRI, - Either<List<ComponentInstanceAttribute>, TitanOperationStatus> eitherAttributesThatExistOnRI) { + private Either<List<ComponentInstanceProperty>, TitanOperationStatus> mergeAttributesResults(Either<List<ComponentInstanceProperty>, TitanOperationStatus> eitherAttributesThatDoesNotExistOnRI, + Either<List<ComponentInstanceProperty>, TitanOperationStatus> eitherAttributesThatExistOnRI) { - Either<List<ComponentInstanceAttribute>, TitanOperationStatus> result; + Either<List<ComponentInstanceProperty>, TitanOperationStatus> result; if (eitherAttributesThatExistOnRI.isRight()) { result = Either.right(eitherAttributesThatExistOnRI.right().value()); } else if (eitherAttributesThatDoesNotExistOnRI.isRight()) { result = Either.right(eitherAttributesThatDoesNotExistOnRI.right().value()); } else { - final List<ComponentInstanceAttribute> attributesThatExistOnRI = eitherAttributesThatExistOnRI.left().value(); - final List<ComponentInstanceAttribute> attributesThatDoesNotExistOnRI = eitherAttributesThatDoesNotExistOnRI.left().value(); + final List<ComponentInstanceProperty> attributesThatExistOnRI = eitherAttributesThatExistOnRI.left().value(); + final List<ComponentInstanceProperty> attributesThatDoesNotExistOnRI = eitherAttributesThatDoesNotExistOnRI.left().value(); Set<String> attributesIdThatExistOnRI = attributesThatExistOnRI.stream().map(e -> e.getUniqueId()).collect(Collectors.toSet()); // Attributes From The Resource Without attributes that also exist // on the instance - Stream<ComponentInstanceAttribute> filterAttributesThatDoesNotExistOnRI = attributesThatDoesNotExistOnRI.stream().filter(e -> !attributesIdThatExistOnRI.contains(e.getUniqueId())); + Stream<ComponentInstanceProperty> filterAttributesThatDoesNotExistOnRI = attributesThatDoesNotExistOnRI.stream().filter(e -> !attributesIdThatExistOnRI.contains(e.getUniqueId())); // Add Fields From Resource Attributes fillAttributeInfoFromResource(attributesThatExistOnRI, attributesThatDoesNotExistOnRI); // Adding the Attributes on the instance for the full list - List<ComponentInstanceAttribute> mergedList = Stream.concat(filterAttributesThatDoesNotExistOnRI, attributesThatExistOnRI.stream()).collect(Collectors.toList()); + List<ComponentInstanceProperty> mergedList = Stream.concat(filterAttributesThatDoesNotExistOnRI, attributesThatExistOnRI.stream()).collect(Collectors.toList()); result = Either.left(mergedList); } return result; } - private void fillAttributeInfoFromResource(List<ComponentInstanceAttribute> attributesThatExistOnRI, List<ComponentInstanceAttribute> attributesThatDoesNotExistOnRI) { + private void fillAttributeInfoFromResource(List<ComponentInstanceProperty> attributesThatExistOnRI, List<ComponentInstanceProperty> attributesThatDoesNotExistOnRI) { attributesThatExistOnRI.stream() .forEach(e -> addAttributeInfo(e, // Finds the same attribute in the resource @@ -217,7 +217,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } - private void addAttributeInfo(ComponentInstanceAttribute attributeFromRI, ComponentInstanceAttribute attributeFromResource) { + private void addAttributeInfo(ComponentInstanceProperty attributeFromRI, ComponentInstanceProperty attributeFromResource) { attributeFromRI.setName(attributeFromResource.getName()); attributeFromRI.setDescription(attributeFromResource.getDescription()); attributeFromRI.setDefaultValue(attributeFromResource.getDefaultValue()); @@ -228,18 +228,18 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } } - private Either<List<ComponentInstanceAttribute>, TitanOperationStatus> getAttributesFromResource(ComponentInstance compInstance) { - Either<List<ComponentInstanceAttribute>, TitanOperationStatus> result; - List<AttributeDefinition> attributes = new ArrayList<>(); + private Either<List<ComponentInstanceProperty>, TitanOperationStatus> getAttributesFromResource(ComponentInstance compInstance) { + Either<List<ComponentInstanceProperty>, TitanOperationStatus> result; + List<PropertyDefinition> attributes = new ArrayList<>(); // Attributes does not exist on Ri - fetch them from resource TitanOperationStatus findAllResourceAttribues = findAllResourceAttributesRecursively(compInstance.getComponentUid(), attributes); if (findAllResourceAttribues != TitanOperationStatus.OK) { result = Either.right(findAllResourceAttribues); } else { - List<ComponentInstanceAttribute> buildAttInstanceFromResource = attributes.stream().map(attDef -> new ComponentInstanceAttribute(attDef, false, null)).collect(Collectors.toList()); + List<ComponentInstanceProperty> buildAttInstanceFromResource = attributes.stream().map(attDef -> new ComponentInstanceProperty(false, attDef, null)).collect(Collectors.toList()); // Set Value to be default value in case it is empty - Consumer<ComponentInstanceAttribute> valueSetter = att -> { + Consumer<ComponentInstanceProperty> valueSetter = att -> { if (StringUtils.isEmpty(att.getValue())) { att.setValue(att.getDefaultValue()); } @@ -251,9 +251,9 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO return result; } - private Either<List<ComponentInstanceAttribute>, TitanOperationStatus> convertToComponentInstanceAttribute(List<ImmutablePair<AttributeValueData, GraphEdge>> list) { - Either<List<ComponentInstanceAttribute>, TitanOperationStatus> result = null; - List<ComponentInstanceAttribute> componentInstanceAttribute = new ArrayList<>(); + private Either<List<ComponentInstanceProperty>, TitanOperationStatus> convertToComponentInstanceAttribute(List<ImmutablePair<AttributeValueData, GraphEdge>> list) { + Either<List<ComponentInstanceProperty>, TitanOperationStatus> result = null; + List<ComponentInstanceProperty> componentInstanceAttribute = new ArrayList<>(); for (ImmutablePair<AttributeValueData, GraphEdge> attributeValue : list) { AttributeValueData attributeValueData = attributeValue.getLeft(); String attributeValueUid = attributeValueData.getUniqueId(); @@ -272,7 +272,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO ImmutablePair<AttributeData, GraphEdge> attributeDefPair = attributeDefRes.left().value(); String attributeUniqueId = attributeDefPair.left.getUniqueId(); - ComponentInstanceAttribute resourceInstanceAttribute = new ComponentInstanceAttribute(); + ComponentInstanceProperty resourceInstanceAttribute = new ComponentInstanceProperty(); // set attribute original unique id resourceInstanceAttribute.setUniqueId(attributeUniqueId); // set hidden @@ -302,14 +302,14 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO * @return */ @Override - public TitanOperationStatus findAllResourceAttributesRecursively(String resourceId, List<AttributeDefinition> attributes) { - final NodeElementFetcher<AttributeDefinition> singleNodeFetcher = (resourceIdParam, attributesParam) -> findNodeNonInheretedAttribues(resourceIdParam, NodeTypeEnum.Resource, attributesParam); + public TitanOperationStatus findAllResourceAttributesRecursively(String resourceId, List<PropertyDefinition> attributes) { + final NodeElementFetcher<PropertyDefinition> singleNodeFetcher = (resourceIdParam, attributesParam) -> findNodeNonInheretedAttribues(resourceIdParam, NodeTypeEnum.Resource, attributesParam); return findAllResourceElementsDefinitionRecursively(resourceId, attributes, singleNodeFetcher); } @Override - public TitanOperationStatus findNodeNonInheretedAttribues(String uniqueId, NodeTypeEnum nodeType, List<AttributeDefinition> attributes) { + public TitanOperationStatus findNodeNonInheretedAttribues(String uniqueId, NodeTypeEnum nodeType, List<PropertyDefinition> attributes) { Either<List<ImmutablePair<AttributeData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao.getChildrenNodes(UniqueIdBuilder.getKeyByNodeType(nodeType), uniqueId, GraphEdgeLabels.ATTRIBUTE, NodeTypeEnum.Attribute, AttributeData.class); @@ -330,7 +330,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO log.debug("Attribute {} is associated to node {}", attributeName, uniqueId); AttributeData attributeData = immutablePair.getKey(); - AttributeDefinition attributeDefinition = this.convertAttributeDataToAttributeDefinition(attributeData, attributeName, uniqueId); + PropertyDefinition attributeDefinition = this.convertAttributeDataToAttributeDefinition(attributeData, attributeName, uniqueId); attributes.add(attributeDefinition); @@ -343,16 +343,16 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public AttributeDefinition convertAttributeDataToAttributeDefinition(AttributeData attributeData, String attributeName, String resourceId) { + public PropertyDefinition convertAttributeDataToAttributeDefinition(AttributeData attributeData, String attributeName, String resourceId) { log.debug("The object returned after create attribute is {}", attributeData); - AttributeDefinition attributeDefResult = new AttributeDefinition(attributeData.getAttributeDataDefinition()); + PropertyDefinition attributeDefResult = new PropertyDefinition(attributeData.getAttributeDataDefinition()); attributeDefResult.setName(attributeName); attributeDefResult.setParentUniqueId(resourceId); return attributeDefResult; } @Override - public Either<AttributeData, StorageOperationStatus> addAttribute(AttributeDefinition attributeDefinition, String resourceId) { + public Either<AttributeData, StorageOperationStatus> addAttribute(PropertyDefinition attributeDefinition, String resourceId) { Either<AttributeData, StorageOperationStatus> eitherResult; Either<Map<String, DataTypeDefinition>, TitanOperationStatus> allDataTypes = applicationDataTypeCache.getAll(); @@ -373,7 +373,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public Either<AttributeData, StorageOperationStatus> updateAttribute(String attributeId, AttributeDefinition newAttDef, Map<String, DataTypeDefinition> dataTypes) { + public Either<AttributeData, StorageOperationStatus> updateAttribute(String attributeId, PropertyDefinition newAttDef, Map<String, DataTypeDefinition> dataTypes) { StorageOperationStatus validateAndUpdateAttribute = propertyOperation.validateAndUpdateProperty(newAttDef, dataTypes); if (validateAndUpdateAttribute != StorageOperationStatus.OK) { @@ -388,7 +388,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO return Either.left(either.left().value()); } - private Either<AttributeData, TitanOperationStatus> updateAttributeFromGraph(String attributeId, AttributeDefinition attributeDefenition) { + private Either<AttributeData, TitanOperationStatus> updateAttributeFromGraph(String attributeId, PropertyDefinition attributeDefenition) { log.debug("Before updating attribute on graph {}", attributeId); // get the original property data @@ -398,12 +398,12 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO return Either.right(eitherAttribute.right().value()); } AttributeData orgAttributeData = eitherAttribute.left().value(); - AttributeDataDefinition orgAttributeDataDefinition = orgAttributeData.getAttributeDataDefinition(); + PropertyDataDefinition orgAttributeDataDefinition = orgAttributeData.getAttributeDataDefinition(); // create new property data to update AttributeData newAttributeData = new AttributeData(); newAttributeData.setAttributeDataDefinition(attributeDefenition); - AttributeDataDefinition newAttributeDataDefinition = newAttributeData.getAttributeDataDefinition(); + PropertyDataDefinition newAttributeDataDefinition = newAttributeData.getAttributeDataDefinition(); // update the original property data with new values if (!Objects.equals(orgAttributeDataDefinition.getDefaultValue(), newAttributeDataDefinition.getDefaultValue())) { @@ -424,17 +424,15 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public ComponentInstanceAttribute buildResourceInstanceAttribute(AttributeValueData attributeValueData, ComponentInstanceAttribute resourceInstanceAttribute) { + public ComponentInstanceProperty buildResourceInstanceAttribute(AttributeValueData attributeValueData, ComponentInstanceProperty resourceInstanceAttribute) { Boolean hidden = attributeValueData.isHidden(); String uid = attributeValueData.getUniqueId(); - ComponentInstanceAttribute instanceAttribute = new ComponentInstanceAttribute(resourceInstanceAttribute, hidden, uid); - - return instanceAttribute; + return new ComponentInstanceProperty(hidden, resourceInstanceAttribute, uid); } @Override - public Either<AttributeData, TitanOperationStatus> addAttributeToGraph(AttributeDefinition attribute, String resourceId, Map<String, DataTypeDefinition> dataTypes) { + public Either<AttributeData, TitanOperationStatus> addAttributeToGraph(PropertyDefinition attribute, String resourceId, Map<String, DataTypeDefinition> dataTypes) { Either<AttributeData, TitanOperationStatus> eitherResult; StorageOperationStatus validateAndUpdateAttribute = propertyOperation.validateAndUpdateProperty(attribute, dataTypes); if (validateAndUpdateAttribute != StorageOperationStatus.OK) { @@ -448,7 +446,7 @@ public class AttributeOperation extends AbstractOperation implements IAttributeO } @Override - public TitanOperationStatus addAttributeToGraphByVertex(TitanVertex metadataVertex, AttributeDefinition attribute, String resourceId, Map<String, DataTypeDefinition> dataTypes) { + public TitanOperationStatus addAttributeToGraphByVertex(TitanVertex metadataVertex, PropertyDefinition attribute, String resourceId, Map<String, DataTypeDefinition> dataTypes) { StorageOperationStatus validateAndUpdateAttribute = propertyOperation.validateAndUpdateProperty(attribute, dataTypes); TitanOperationStatus result; if (validateAndUpdateAttribute != StorageOperationStatus.OK) { |