summaryrefslogtreecommitdiffstats
path: root/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/graph/GraphElementFactory.java
diff options
context:
space:
mode:
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.java431
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;
+ }
}