diff options
Diffstat (limited to 'catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java')
-rw-r--r-- | catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java | 431 |
1 files changed, 228 insertions, 203 deletions
diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java index 3a0a42c2cd..c3c5e9f704 100644 --- a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java +++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,223 +17,248 @@ * limitations under the License. * ============LICENSE_END========================================================= */ - package org.openecomp.sdc.be.dao.graph; +import java.util.Map; import org.openecomp.sdc.be.dao.graph.datatype.GraphElementTypeEnum; import org.openecomp.sdc.be.dao.graph.datatype.GraphNode; import org.openecomp.sdc.be.dao.graph.datatype.GraphRelation; import org.openecomp.sdc.be.dao.graph.datatype.RelationEndPoint; import org.openecomp.sdc.be.dao.neo4j.GraphPropertiesDictionaryExtractor; import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; -import org.openecomp.sdc.be.resources.data.*; +import org.openecomp.sdc.be.resources.data.AdditionalInfoParameterData; +import org.openecomp.sdc.be.resources.data.AnnotationTypeData; +import org.openecomp.sdc.be.resources.data.ArtifactData; +import org.openecomp.sdc.be.resources.data.AttributeData; +import org.openecomp.sdc.be.resources.data.AttributeValueData; +import org.openecomp.sdc.be.resources.data.CapabilityData; +import org.openecomp.sdc.be.resources.data.CapabilityInstData; +import org.openecomp.sdc.be.resources.data.CapabilityTypeData; +import org.openecomp.sdc.be.resources.data.ComponentInstanceData; +import org.openecomp.sdc.be.resources.data.ConsumerData; +import org.openecomp.sdc.be.resources.data.DataTypeData; +import org.openecomp.sdc.be.resources.data.GraphNodeLock; +import org.openecomp.sdc.be.resources.data.GroupData; +import org.openecomp.sdc.be.resources.data.GroupInstanceData; +import org.openecomp.sdc.be.resources.data.GroupTypeData; +import org.openecomp.sdc.be.resources.data.HeatParameterData; +import org.openecomp.sdc.be.resources.data.HeatParameterValueData; +import org.openecomp.sdc.be.resources.data.InputValueData; +import org.openecomp.sdc.be.resources.data.InputsData; +import org.openecomp.sdc.be.resources.data.InterfaceData; +import org.openecomp.sdc.be.resources.data.OperationData; +import org.openecomp.sdc.be.resources.data.PolicyTypeData; +import org.openecomp.sdc.be.resources.data.ProductMetadataData; +import org.openecomp.sdc.be.resources.data.PropertyData; +import org.openecomp.sdc.be.resources.data.PropertyValueData; +import org.openecomp.sdc.be.resources.data.RelationshipInstData; +import org.openecomp.sdc.be.resources.data.RelationshipTypeData; +import org.openecomp.sdc.be.resources.data.RequirementData; +import org.openecomp.sdc.be.resources.data.RequirementImplData; +import org.openecomp.sdc.be.resources.data.ResourceCategoryData; +import org.openecomp.sdc.be.resources.data.ResourceMetadataData; +import org.openecomp.sdc.be.resources.data.ServiceCategoryData; +import org.openecomp.sdc.be.resources.data.ServiceMetadataData; +import org.openecomp.sdc.be.resources.data.TagData; +import org.openecomp.sdc.be.resources.data.UserData; +import org.openecomp.sdc.be.resources.data.UserFunctionalMenuData; import org.openecomp.sdc.be.resources.data.category.CategoryData; import org.openecomp.sdc.be.resources.data.category.GroupingData; import org.openecomp.sdc.be.resources.data.category.SubCategoryData; -import java.util.Map; - public class GraphElementFactory { - public static <T extends GraphNode> T createElement(String label, GraphElementTypeEnum type, - Map<String, Object> properties, Class<T> clazz) { - T element = null; - - if (type.equals(GraphElementTypeEnum.Node)) { - element = createNode(label, properties, clazz); - } - return element; - } - - public static GraphNode createElement(String label, GraphElementTypeEnum type, Map<String, Object> properties) { - GraphNode element = null; - - if (type.equals(GraphElementTypeEnum.Node)) { - element = createNode(label, properties); - } - return element; - } - - public static GraphRelation createRelation(String type, Map<String, Object> properties, GraphNode from, - GraphNode to) { - GraphRelation element = new GraphRelation(type); - RelationEndPoint endPOintFrom = new RelationEndPoint(NodeTypeEnum.getByName(from.getLabel()), - from.getUniqueIdKey(), from.getUniqueId()); - RelationEndPoint endPOintTo = new RelationEndPoint(NodeTypeEnum.getByName(to.getLabel()), to.getUniqueIdKey(), - to.getUniqueId()); - element.setFrom(endPOintFrom); - element.setTo(endPOintTo); - element.addPropertis(properties); - return element; - } + public static <T extends GraphNode> T createElement(String label, GraphElementTypeEnum type, Map<String, Object> properties, Class<T> clazz) { + T element = null; + if (type.equals(GraphElementTypeEnum.Node)) { + element = createNode(label, properties, clazz); + } + return element; + } - private static GraphNode createNode(String label, Map<String, Object> properties) { - GraphNode element = null; - NodeTypeEnum type = NodeTypeEnum.getByName(label); - if (type != null) { - switch (type) { - case User: - element = new UserData(properties); - break; - case ResourceCategory: - element = new ResourceCategoryData(properties); - break; - case ServiceCategory: - element = new ServiceCategoryData(properties); - break; - case Tag: - element = new TagData(properties); - break; - case Service: - element = new ServiceMetadataData(new GraphPropertiesDictionaryExtractor(properties)); - break; - case Resource: - element = new ResourceMetadataData(new GraphPropertiesDictionaryExtractor(properties)); - break; - case Property: - element = new PropertyData(properties); - break; - case HeatParameter: - element = new HeatParameterData(properties); - break; - case HeatParameterValue: - element = new HeatParameterValueData(properties); - break; - } - } - return element; - } + public static GraphNode createElement(String label, GraphElementTypeEnum type, Map<String, Object> properties) { + GraphNode element = null; + if (type.equals(GraphElementTypeEnum.Node)) { + element = createNode(label, properties); + } + return element; + } - private static <T extends GraphNode> T createNode(String label, Map<String, Object> properties, Class<T> clazz) { - T element = null; - NodeTypeEnum type = NodeTypeEnum.getByName(label); - if (type != null) { - switch (type) { - case User: - element = clazz.cast(new UserData(properties)); - break; - case ResourceCategory: - element = clazz.cast(new ResourceCategoryData(properties)); - break; - case ServiceCategory: - element = clazz.cast(new ServiceCategoryData(properties)); - break; - case ResourceNewCategory: - case ServiceNewCategory: - case ProductCategory: - element = clazz.cast(new CategoryData(properties)); - break; - case ResourceSubcategory: - case ProductSubcategory: - element = clazz.cast(new SubCategoryData(properties)); - break; - case ProductGrouping: - element = clazz.cast(new GroupingData(properties)); - break; - case Tag: - element = clazz.cast(new TagData(properties)); - break; - case Service: - element = clazz.cast(new ServiceMetadataData(new GraphPropertiesDictionaryExtractor(properties))); - break; - case Product: - element = clazz.cast(new ProductMetadataData(new GraphPropertiesDictionaryExtractor(properties))); - break; - case Resource: - element = clazz.cast(new ResourceMetadataData(new GraphPropertiesDictionaryExtractor(properties))); - break; - case Attribute: - element = clazz.cast(new AttributeData(properties)); - break; - case Property: - element = clazz.cast(new PropertyData(properties)); - break; - case CapabilityType: - element = clazz.cast(new CapabilityTypeData(properties)); - break; - case Requirement: - element = clazz.cast(new RequirementData(properties)); - break; - case RequirementImpl: - element = clazz.cast(new RequirementImplData(properties)); - break; - case Capability: - element = clazz.cast(new CapabilityData(properties)); - break; - case CapabilityInst: - element = clazz.cast(new CapabilityInstData(properties)); - break; - case PropertyValue: - element = clazz.cast(new PropertyValueData(properties)); - break; - case AttributeValue: - element = clazz.cast(new AttributeValueData(properties)); - break; - case InputValue: - element = clazz.cast(new InputValueData(properties)); - break; - case RelationshipType: - element = clazz.cast(new RelationshipTypeData(properties)); - break; - case LockNode: - element = clazz.cast(new GraphNodeLock(properties)); - break; - case ArtifactRef: - element = clazz.cast(new ArtifactData(properties)); - break; - case Interface: - element = clazz.cast(new InterfaceData(properties)); - break; - case InterfaceOperation: - element = clazz.cast(new OperationData(properties)); - break; - case Input: - element = clazz.cast(new InputsData(properties)); - break; - case ResourceInstance: - element = clazz.cast(new ComponentInstanceData(properties)); - break; - case RelationshipInst: - element = clazz.cast(new RelationshipInstData(properties)); - break; - case AdditionalInfoParameters: - element = clazz.cast(new AdditionalInfoParameterData(properties)); - break; - case ConsumerCredentials: - element = clazz.cast(new ConsumerData(properties)); - break; - case HeatParameter: - element = clazz.cast(new HeatParameterData(properties)); - break; - case HeatParameterValue: - element = clazz.cast(new HeatParameterValueData(properties)); - break; - case DataType: - element = clazz.cast(new DataTypeData(properties)); - break; - case Group: - element = clazz.cast(new GroupData(properties)); - break; - case GroupType: - element = clazz.cast(new GroupTypeData(properties)); - break; - case UserFunctionalMenu: - element = clazz.cast(new UserFunctionalMenuData(properties)); - break; - case PolicyType: - element = clazz.cast(new PolicyTypeData(properties)); - break; - case GroupInstance: - element = clazz.cast(new GroupInstanceData(properties)); - break; - case AnnotationType: - element = clazz.cast(new AnnotationTypeData(properties)); - default: - break; - } + public static GraphRelation createRelation(String type, Map<String, Object> properties, GraphNode from, GraphNode to) { + GraphRelation element = new GraphRelation(type); + RelationEndPoint endPOintFrom = new RelationEndPoint(NodeTypeEnum.getByName(from.getLabel()), from.getUniqueIdKey(), from.getUniqueId()); + RelationEndPoint endPOintTo = new RelationEndPoint(NodeTypeEnum.getByName(to.getLabel()), to.getUniqueIdKey(), to.getUniqueId()); + element.setFrom(endPOintFrom); + element.setTo(endPOintTo); + element.addPropertis(properties); + return element; + } - } - return element; - } + private static GraphNode createNode(String label, Map<String, Object> properties) { + GraphNode element = null; + NodeTypeEnum type = NodeTypeEnum.getByName(label); + if (type != null) { + switch (type) { + case User: + element = new UserData(properties); + break; + case ResourceCategory: + element = new ResourceCategoryData(properties); + break; + case ServiceCategory: + element = new ServiceCategoryData(properties); + break; + case Tag: + element = new TagData(properties); + break; + case Service: + element = new ServiceMetadataData(new GraphPropertiesDictionaryExtractor(properties)); + break; + case Resource: + element = new ResourceMetadataData(new GraphPropertiesDictionaryExtractor(properties)); + break; + case Property: + element = new PropertyData(properties); + break; + case HeatParameter: + element = new HeatParameterData(properties); + break; + case HeatParameterValue: + element = new HeatParameterValueData(properties); + break; + } + } + return element; + } + private static <T extends GraphNode> T createNode(String label, Map<String, Object> properties, Class<T> clazz) { + T element = null; + NodeTypeEnum type = NodeTypeEnum.getByName(label); + if (type != null) { + switch (type) { + case User: + element = clazz.cast(new UserData(properties)); + break; + case ResourceCategory: + element = clazz.cast(new ResourceCategoryData(properties)); + break; + case ServiceCategory: + element = clazz.cast(new ServiceCategoryData(properties)); + break; + case ResourceNewCategory: + case ServiceNewCategory: + case ProductCategory: + element = clazz.cast(new CategoryData(properties)); + break; + case ResourceSubcategory: + case ProductSubcategory: + element = clazz.cast(new SubCategoryData(properties)); + break; + case ProductGrouping: + element = clazz.cast(new GroupingData(properties)); + break; + case Tag: + element = clazz.cast(new TagData(properties)); + break; + case Service: + element = clazz.cast(new ServiceMetadataData(new GraphPropertiesDictionaryExtractor(properties))); + break; + case Product: + element = clazz.cast(new ProductMetadataData(new GraphPropertiesDictionaryExtractor(properties))); + break; + case Resource: + element = clazz.cast(new ResourceMetadataData(new GraphPropertiesDictionaryExtractor(properties))); + break; + case Attribute: + element = clazz.cast(new AttributeData(properties)); + break; + case Property: + element = clazz.cast(new PropertyData(properties)); + break; + case CapabilityType: + element = clazz.cast(new CapabilityTypeData(properties)); + break; + case Requirement: + element = clazz.cast(new RequirementData(properties)); + break; + case RequirementImpl: + element = clazz.cast(new RequirementImplData(properties)); + break; + case Capability: + element = clazz.cast(new CapabilityData(properties)); + break; + case CapabilityInst: + element = clazz.cast(new CapabilityInstData(properties)); + break; + case PropertyValue: + element = clazz.cast(new PropertyValueData(properties)); + break; + case AttributeValue: + element = clazz.cast(new AttributeValueData(properties)); + break; + case InputValue: + element = clazz.cast(new InputValueData(properties)); + break; + case RelationshipType: + element = clazz.cast(new RelationshipTypeData(properties)); + break; + case LockNode: + element = clazz.cast(new GraphNodeLock(properties)); + break; + case ArtifactRef: + element = clazz.cast(new ArtifactData(properties)); + break; + case Interface: + element = clazz.cast(new InterfaceData(properties)); + break; + case InterfaceOperation: + element = clazz.cast(new OperationData(properties)); + break; + case Input: + element = clazz.cast(new InputsData(properties)); + break; + case ResourceInstance: + element = clazz.cast(new ComponentInstanceData(properties)); + break; + case RelationshipInst: + element = clazz.cast(new RelationshipInstData(properties)); + break; + case AdditionalInfoParameters: + element = clazz.cast(new AdditionalInfoParameterData(properties)); + break; + case ConsumerCredentials: + element = clazz.cast(new ConsumerData(properties)); + break; + case HeatParameter: + element = clazz.cast(new HeatParameterData(properties)); + break; + case HeatParameterValue: + element = clazz.cast(new HeatParameterValueData(properties)); + break; + case DataType: + element = clazz.cast(new DataTypeData(properties)); + break; + case Group: + element = clazz.cast(new GroupData(properties)); + break; + case GroupType: + element = clazz.cast(new GroupTypeData(properties)); + break; + case UserFunctionalMenu: + element = clazz.cast(new UserFunctionalMenuData(properties)); + break; + case PolicyType: + element = clazz.cast(new PolicyTypeData(properties)); + break; + case GroupInstance: + element = clazz.cast(new GroupInstanceData(properties)); + break; + case AnnotationType: + element = clazz.cast(new AnnotationTypeData(properties)); + default: + break; + } + } + return element; + } } |