Service Consumption BE
[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
25
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),
44         USER                                            ("user",                                                null),
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);
66
67         private String name;
68         private Class classOfJson;
69         VertexTypeEnum(String name, Class clazz){
70                 this.name = name;
71                 classOfJson = clazz;
72         }
73         
74         public String getName() {
75                 return name;
76         }
77
78         public Class getClassOfJson() {
79                 return classOfJson;
80         }
81
82         public static VertexTypeEnum getByName(String name){
83                 for ( VertexTypeEnum inst : VertexTypeEnum.values() ){
84                         if ( inst.getName().equals(name) ){
85                                 return inst;
86                         }
87                 }
88                 return null;
89         }
90 }