Change to enable SDC list type input
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / dao / jsongraph / types / VertexTypeEnum.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.dao.jsongraph.types;
22
23 import org.openecomp.sdc.be.datatypes.elements.*;
24 import org.openecomp.sdc.be.resources.data.DataTypeData;
25
26
27 public enum VertexTypeEnum {
28         NODE_TYPE                                       ("node_type",                                   null),
29         TOPOLOGY_TEMPLATE                       ("topology_template",                   CompositionDataDefinition.class),
30         ARTIFACTS                                       ("artifacts",                                   ArtifactDataDefinition.class),
31         TOSCA_ARTIFACTS                         ("tosca_artifacts",                             ArtifactDataDefinition.class),
32         DEPLOYMENT_ARTIFACTS            ("deployment_artifacts",                ArtifactDataDefinition.class),  
33         INST_DEPLOYMENT_ARTIFACTS       ("inst_deployment_artifacts",   MapArtifactDataDefinition.class),
34         INTERFACE_ARTIFACTS                     ("interface_artifacts",                 InterfaceDataDefinition.class),
35         INSTANCE_ARTIFACTS                      ("instance_artifacts",                  MapArtifactDataDefinition.class),
36         PROPERTIES                                      ("properties",                                  PropertyDataDefinition.class),
37         CAPABILITIES                            ("capabilities",                                ListCapabilityDataDefinition.class),
38         CAPABILITIES_PROPERTIES         ("capabilities_properties",             MapPropertiesDataDefinition.class),     
39         REQUIREMENTS                            ("requirements",                                ListRequirementDataDefinition.class),
40         ATTRIBUTES                                      ("attributes",                                  PropertyDataDefinition.class),
41         RESOURCE_CATEGORY                       ("resourceNewCategory",                 null),
42         RESOURCE_SUBCATEGORY            ("resourceSubcategory",                 null),
43         SERVICE_CATEGORY                        ("serviceNewCategory",                  null), 
44         ADDITIONAL_INFORMATION          ("additional_information",      AdditionalInfoParameterDataDefinition.class),
45         USER                                            ("user",                                                null),
46         INPUTS                                          ("inputs",                                              PropertyDataDefinition.class),
47         GROUPS                                          ("groups",                                              GroupDataDefinition.class),
48         INST_ATTRIBUTES                         ("instAttributes",                              MapPropertiesDataDefinition.class),
49         INST_PROPERTIES                         ("instProperties",                              MapPropertiesDataDefinition.class),
50         INST_INPUTS                                     ("instInputs",                                  MapPropertiesDataDefinition.class),
51         INST_GROUPS                                     ("instGroups",                                  MapGroupsDataDefinition.class),
52         SERVICE_API_ARTIFACTS           ("serviceApiArtifacts",                 ArtifactDataDefinition.class),
53         CALCULATED_CAPABILITIES         ("calculatedCapabilities",              MapListCapabilityDataDefinition.class),
54         FULLFILLED_CAPABILITIES         ("fullfilledCapabilities",              MapListCapabilityDataDefinition.class),
55         CALCULATED_REQUIREMENTS         ("calculatedRequirements",              MapListRequirementDataDefinition.class),
56         FULLFILLED_REQUIREMENTS         ("fullfilledRequirements",              MapListRequirementDataDefinition.class),
57         CALCULATED_CAP_PROPERTIES       ("calculatedCapProperties",             MapCapabilityProperty.class),
58         FORWARDING_PATH             ("path",                            ForwardingPathDataDefinition.class),
59         POLICIES                                        ("policies",                                    PolicyDataDefinition.class),
60         EXTERNAL_REF                            ("componentInstanceExtRefs",    MapComponentInstanceExternalRefs.class),
61         CATALOG_ROOT                ("catalogRoot",                 null),
62         ARCHIVE_ROOT                ("archiveRoot",                 null),
63         INTERFACE                           ("interface",                               InterfaceDataDefinition.class),
64         INTERFACE_OPERATION                     ("interfaceOperation",                  OperationDataDefinition.class),
65         NODE_FILTER_TEMPLATE            ("NodeTemplateFilter",          CINodeFilterDataDefinition.class),
66         INST_INTERFACES             ("InstInterfaces",              MapInterfaceDataDefinition.class),
67         DATA_TYPES                                      ("data_types",                                  DataTypeDataDefinition.class);
68
69         private String name;
70         private Class classOfJson;
71         VertexTypeEnum(String name, Class clazz){
72                 this.name = name;
73                 classOfJson = clazz;
74         }
75         
76         public String getName() {
77                 return name;
78         }
79
80         public Class getClassOfJson() {
81                 return classOfJson;
82         }
83
84         public static VertexTypeEnum getByName(String name){
85                 for ( VertexTypeEnum inst : VertexTypeEnum.values() ){
86                         if ( inst.getName().equals(name) ){
87                                 return inst;
88                         }
89                 }
90                 return null;
91         }
92 }