Import VSP with non-standard data types
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / dao / neo4j / GraphEdgeLabels.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 package org.openecomp.sdc.be.dao.neo4j;
21
22 import java.util.ArrayList;
23 import java.util.List;
24 import lombok.AllArgsConstructor;
25 import lombok.Getter;
26
27 @AllArgsConstructor
28 public enum GraphEdgeLabels {
29
30     // field name
31     // @formatter:off
32     STATE("STATE"),
33     LAST_STATE("LAST_STATE"),
34     CREATOR("CREATOR"),
35     LAST_MODIFIER("LAST_MODIFIER"),
36     ATTRIBUTE("EDGE_ATTRIBUTE"),
37     PROPERTY("EDGE_PROPERTY"),
38     CATEGORY("CATEGORY"),
39     DERIVED_FROM("DERIVED_FROM"),
40     REQUIREMENT("REQUIREMENT"),
41     CAPABILITY_TYPE("CAPABILITY_TYPE"),
42     RELATIONSHIP_TYPE("RELATIONSHIP_TYPE"),
43     CAPABILITY("CAPABILITY"),
44     CAPABILITY_IMPL("CAPABILITY_IMPL"),
45     INSTANCE_OF("INSTANCE_OF"),
46     INTERFACE("INTERFACE"),
47     INTERFACE_OPERATION("INTERFACE_OPERATION"),
48     ARTIFACT_REF("ARTIFACT_REF"),
49     INPUTS("INPUTS"),
50     REQUIREMENT_IMPL("REQUIREMENT_IMPL"),
51     NODE_IMPL("NODE_IMPL"),
52     IMPLEMENTATION_OF("IMPLEMENTATION_OF"),
53     ATTRIBUTE_VALUE("ATTRIBUTE_VALUE"),
54     INPUT_VALUE("INPUT_VALUE"),
55     PROPERTY_VALUE("PROPERTY_VALUE"),
56     CAPABILITY_INST("CAPABILITY_INST"),
57     TYPE_OF("TYPE_OF"),
58     RESOURCE_INST("RESOURCE_INST"),
59     RELATIONSHIP_INST("RELATIONSHIP_INST"),
60     CAPABILITY_NODE("CAPABILITY_NODE"),
61     LAST_DISTRIBUTION_STATE_MODIFAIER("LAST_DISTRIBUTION_STATE_MODIFAIER"),
62     ATTRIBUTE_IMPL("ATTRIBUTE_IMPL"),
63     INPUT_IMPL("INPUT_IMPL"),
64     PROPERTY_IMPL("PROPERTY_IMPL"),
65     ADDITIONAL_INFORMATION("ADDITIONAL_INFORMATION"),
66     HEAT_PARAMETER("HEAT_PARAMETER"),
67     SUB_CATEGORY("SUB_CATEGORY"),
68     GROUPING("GROUPING"),
69     CATEGORIZED_TO("CATEGORIZED_TO"),
70     GENERATED_FROM("GENERATED_FROM"),
71     PARAMETER_VALUE("PARAMETER_VALUE"),
72     PARAMETER_IMPL("PARAMETER_IMPL"),
73     MODEL_ELEMENT("MODEL_ELEMENT"),
74     MODEL("MODEL"),
75     // VF additions
76     CALCULATED_REQUIREMENT("CALCULATED_REQUIREMENT"),
77     CALCULATED_CAPABILITY("CALCULATED_CAPABILITY"),
78     RELATIONSHIP_ORIGIN("RELATIONSHIP_ORIGIN"),
79     CAPABILITY_ORIGIN("CAPABILITY_ORIGIN"),
80     CALCULATED_REQUIREMENT_FULLFILLED("CALCULATED_REQUIREMENT_FULLFILLED"),
81     CALCULATED_CAPABILITY_FULLFILLED("CALCULATED_CAPABILITY_FULLFILLED"),
82     // Group
83     GROUP("GROUP"),
84     GROUP_ARTIFACT_REF("GROUP_ARTIFACT_REF"),
85     GROUP_MEMBER("GROUP_MEMBER"),
86     INPUT("EDGE_INPUT"),
87     GET_INPUT("GET_INPUT"),
88     GROUP_INST("GROUP_INST"),
89     GROUP_TYPE_CAPABILITY_TYPE("GROUP_TYPE_CAPABILITY_TYPE"),
90     GROUP_TYPE_CAPABILITY("GROUP_TYPE_CAPABILITY");
91     // @formatter:on
92
93     @Getter
94     private final String property;
95
96     public static List<String> getAllProperties() {
97
98         List<String> arrayList = new ArrayList<>();
99
100         for (GraphEdgeLabels graphProperty : GraphEdgeLabels.values()) {
101             arrayList.add(graphProperty.getProperty());
102         }
103
104         return arrayList;
105     }
106
107     public static GraphEdgeLabels getByName(String property) {
108         for (GraphEdgeLabels inst : GraphEdgeLabels.values()) {
109             if (inst.getProperty().equals(property)) {
110                 return inst;
111             }
112         }
113         return null;
114     }
115 }