2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.dao.jsongraph.types;
23 import org.openecomp.sdc.be.datatypes.elements.*;
26 public enum VertexTypeEnum {
27 NODE_TYPE ("node_type", null),
28 TOPOLOGY_TEMPLATE ("topology_template", CompositionDataDefinition.class),
29 ARTIFACTS ("artifacts", ArtifactDataDefinition.class),
30 TOSCA_ARTIFACTS ("tosca_artifacts", ArtifactDataDefinition.class),
31 DEPLOYMENT_ARTIFACTS ("deployment_artifacts", ArtifactDataDefinition.class),
32 INST_DEPLOYMENT_ARTIFACTS ("inst_deployment_artifacts", MapArtifactDataDefinition.class),
33 INTERFACE_ARTIFACTS ("interface_artifacts", InterfaceDataDefinition.class),
34 INSTANCE_ARTIFACTS ("instance_artifacts", MapArtifactDataDefinition.class),
35 PROPERTIES ("properties", PropertyDataDefinition.class),
36 CAPABILITIES ("capabilities", ListCapabilityDataDefinition.class),
37 CAPABILITIES_PROPERTIES ("capabilities_properties", MapPropertiesDataDefinition.class),
38 REQUIREMENTS ("requirements", ListRequirementDataDefinition.class),
39 ATTRIBUTES ("attributes", PropertyDataDefinition.class),
40 RESOURCE_CATEGORY ("resourceNewCategory", null),
41 RESOURCE_SUBCATEGORY ("resourceSubcategory", null),
42 SERVICE_CATEGORY ("serviceNewCategory", null),
43 ADDITIONAL_INFORMATION ("additional_information", AdditionalInfoParameterDataDefinition.class),
45 INPUTS ("inputs", PropertyDataDefinition.class),
46 GROUPS ("groups", GroupDataDefinition.class),
47 INST_ATTRIBUTES ("instAttributes", MapPropertiesDataDefinition.class),
48 INST_PROPERTIES ("instProperties", MapPropertiesDataDefinition.class),
49 INST_INPUTS ("instInputs", MapPropertiesDataDefinition.class),
50 INST_GROUPS ("instGroups", MapGroupsDataDefinition.class),
51 SERVICE_API_ARTIFACTS ("serviceApiArtifacts", ArtifactDataDefinition.class),
52 CALCULATED_CAPABILITIES ("calculatedCapabilities", MapListCapabilityDataDefinition.class),
53 FULLFILLED_CAPABILITIES ("fullfilledCapabilities", MapListCapabilityDataDefinition.class),
54 CALCULATED_REQUIREMENTS ("calculatedRequirements", MapListRequirementDataDefinition.class),
55 FULLFILLED_REQUIREMENTS ("fullfilledRequirements", MapListRequirementDataDefinition.class),
56 CALCULATED_CAP_PROPERTIES ("calculatedCapProperties", MapCapabilityProperty.class),
57 FORWARDING_PATH ("path", ForwardingPathDataDefinition.class),
58 POLICIES ("policies", PolicyDataDefinition.class),
59 EXTERNAL_REF ("componentInstanceExtRefs", MapComponentInstanceExternalRefs.class),
60 CATALOG_ROOT ("catalogRoot", null),
61 ARCHIVE_ROOT ("archiveRoot", null),
62 INTERFACE ("interface", InterfaceDataDefinition.class),
63 INTERFACE_OPERATION ("interfaceOperation", OperationDataDefinition.class),
64 NODE_FILTER_TEMPLATE ("NodeTemplateFilter", CINodeFilterDataDefinition.class),
65 INST_INTERFACES ("InstInterfaces", MapInterfaceDataDefinition.class);
68 private Class classOfJson;
69 VertexTypeEnum(String name, Class clazz){
74 public String getName() {
78 public Class getClassOfJson() {
82 public static VertexTypeEnum getByName(String name){
83 for ( VertexTypeEnum inst : VertexTypeEnum.values() ){
84 if ( inst.getName().equals(name) ){