cbfee5e7991771a0b055458a94077a2ede8ab161
[sdc.git] / catalog-dao / src / main / java / org / openecomp / sdc / be / dao / neo4j / GraphPropertiesDictionary.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 lombok.AllArgsConstructor;
23 import lombok.Getter;
24
25 @AllArgsConstructor
26 @Getter
27 public enum GraphPropertiesDictionary {
28     // @formatter:off
29     //                                  field name                                      class type                              unique          indexed
30     //                                                                                          stored in graph                         index
31     // Common
32     LABEL                               ("nodeLabel",                           String.class,                           false,          true),
33     HEALTH_CHECK                ("healthcheckis",                       String.class,                           true,           true),
34     // Resource
35     NAME                                ("name",                                        String.class,                           false,          true),
36     TOSCA_RESOURCE_NAME ("toscaResourceName",           String.class,                           false,          true),
37     CATEGORY_NAME               ("categoryName",                        String.class,                           false,          true),
38     VERSION                             ("version",                                     String.class,                           false,          true),
39     CREATION_DATE               ("creationDate",                        Long.class,                             false,          false),
40     LAST_UPDATE_DATE    ("modificationDate",            Long.class,                             false,          false),
41     IS_HIGHEST_VERSION  ("highestVersion",                      Boolean.class,                          false,          true),
42     IS_ABSTRACT                 ("abstract",                            Boolean.class,                          false,          true),
43     DESCRIPTION                 ("description",                         String.class,                           false,          false),
44     UNIQUE_ID                   ("uid",                                         String.class,                           true,           true),
45     STATE                               ("state",                                       String.class,                           false,          true),
46     TYPE                                ("type",                                        String.class,                           false,          true),
47     REQUIRED                    ("required",                            Boolean.class,                          false,          false),
48     DEFAULT_VALUE               ("defaultValue",                        String.class,                           false,          false),
49     CONSTRAINTS                 ("constraints",                         String.class,                   false,          false),
50     CONTACT_ID                  ("contactId",                           String.class,                           false,          false),
51     VENDOR_NAME                 ("vendorName",                          String.class,                           false,          false),
52     VENDOR_RELEASE              ("vendorRelease",                       String.class,                           false,          false),
53     MODEL               ("model",                               String.class,                           false,          false),
54     CONFORMANCE_LEVEL   ("conformanceLevel",            String.class,                           false,          false),
55     ICON                                ("icon",                                        String.class,                           false,          false),
56     TAGS                                ("tags",                                        String.class,                   false,          false),
57     UUID                                ("uuid",                                        String.class,                           false,          true),
58     COST                                ("cost",                                        String.class,                           false,          false),
59     LICENSE_TYPE                ("licenseType",                         String.class,                           false,          false),
60     NORMALIZED_NAME             ("normalizedName",                      String.class,                           false,          true),
61     SYSTEM_NAME                 ("systemName",                          String.class,                           false,          true),
62     IS_DELETED                  ("deleted",                                     Boolean.class,                          false,          true),
63     RESOURCE_TYPE               ("resourceType",                        String.class,                           false,          true),
64     ENTRY_SCHEMA                ("entry_schema",                        String.class,                           false,          false),
65     CSAR_UUID                   ("csarUuid",                            String.class,                           false,          true),
66     CSAR_VERSION                ("csarVersion",                         String.class,                           false,          true),
67     IMPORTED_TOSCA_CHECKSUM     ("importedToscaChecksum",                               String.class,                           false,          true),
68     GENERATED                   ("generated",                           Boolean.class,                          false,          false),
69     // User
70     USERID                              ("userId",                                      String.class,                           true,           true),
71     EMAIL                               ("email",                                       String.class,                           false,          false),
72     FIRST_NAME                  ("firstName",                           String.class,                           false,          false),
73     LAST_NAME                   ("lastName",                            String.class,                           false,          false),
74     ROLE                                ("role",                                        String.class,                           false,          true),
75     USER_STATUS                 ("status",                                      String.class,                           false,          true),
76     VALID_SOURCE_TYPES  ("validSourceTypes",        String.class,               false,          false),
77     VALID_TARGET_TYPES  ("validTargetTypes",        String.class,               false,      false),
78     NODE                                ("node",                                        String.class,                           false,          false),
79     VALUE                               ("value",                                       String.class,                           false,          false),
80     HIDDEN                              ("Hidden",                                      Boolean.class,                          false,          false),
81     PROPERTIES                  ("properties",                          String.class,                           false,          false),
82     POSITION_X                  ("positionX",                           String.class,                           false,          false),
83     POSITION_Y                  ("positionY",                           String.class,                           false,          false),
84     RELATIONSHIP_TYPE   ("relationshipType",            String.class,                           false,          false),
85     ARTIFACT_TYPE               ("artifactType",                        String.class,                           false,          true),
86     ARTIFACT_REF                ("artifactRef",                         String.class,                           false,          false),
87     ARTIFACT_REPOSITORY ("artifactRepository",          String.class,                           false,          false),
88     ARTIFACT_CHECKSUM   ("artifactChecksum",            String.class,                           false,          false),
89     CREATOR                             ("creator",                                     String.class,                           false,          false),
90     CREATOR_ID          ("creatorId",                           String.class,                           false,          false),
91     LAST_UPDATER                ("lastUpdater",                         String.class,                           false,          false),
92     CREATOR_FULL_NAME   ("creatorFullName",                     String.class,                           false,          false),
93     UPDATER_FULL_NAME   ("updaterFullName",                     String.class,                           false,          false),
94     ES_ID                               ("esId",                                        String.class,                           false,          false),
95     ARTIFACT_LABEL              ("artifactLabel",                       String.class,                           false,          true),
96     ARTIFACT_DISPLAY_NAME("artifactDisplayName",        String.class,                           false,          true),
97     INSTANCE_COUNTER    ("instanceCounter",                     Integer.class,                          false,          false),
98     PROJECT_CODE                ("projectCode",                         String.class,                           false,          false),
99     DISTRIBUTION_STATUS ("distributionStatus",          String.class,                           false,          false),
100     IS_VNF                              ("isVNF",                                       Boolean.class,                          false,          false),
101     LAST_LOGIN_TIME             ("lastLoginTime",                       Long.class,                                     false,          true),
102     ATTRIBUTE_COUNTER   ("attributeCounter",            Integer.class,                          false,          false),
103     INPUT_COUNTER               ("inputCounter",                        Integer.class,                          false,          false),
104     PROPERTY_COUNTER    ("propertyCounter",                     Integer.class,                          false,          false),
105     API_URL                             ("apiUrl",                                      String.class,                           false,          false),
106     SERVICE_API                 ("serviceApi",                          Boolean.class,                          false,          true),
107     ADDITIONAL_INFO_PARAMS ("additionalInfo",       String.class,              false,           false),
108     ADDITIONAL_INFO_ID_TO_KEY ("idToKey",               String.class,              false,               false),
109     ARTIFACT_GROUP_TYPE ("artifactGroupType",           String.class,              false,               true),
110     ARTIFACT_TIMEOUT    ("timeout",                                     Integer.class,                          false,          false),
111     IS_ACTIVE                   ("isActive",                            Boolean.class,                          false,          true),
112     PROPERTY_VALUE_RULES ("propertyValueRules",         String.class,                           false,          false),
113     //authantication
114     CONSUMER_NAME               ("consumerName",                        String.class,                           true,           true),
115     CONSUMER_PASSWORD   ("consumerPassword",            String.class,                           false,          false),
116     CONSUMER_SALT               ("consumerSalt",                        String.class,                           false,          false),
117     CONSUMER_LAST_AUTHENTICATION_TIME   ("consumerLastAuthenticationTime",              Long.class,                             false,          false),
118     CONSUMER_DETAILS_LAST_UPDATED_TIME  ("consumerDetailsLastupdatedtime",              Long.class,                             false,          false),
119     LAST_MODIFIER_USER_ID("lastModfierUserId",          String.class,                           false,          false),
120     ARTIFACT_VERSION    ("artifactVersion",                     String.class,                           false,          false),
121     ARTIFACT_UUID               ("artifactUUID",                        String.class,                           false,          false),
122     PAYLOAD_UPDATE_DATE ("payloadUpdateDate",           Long.class,                             false,          false),
123     HEAT_PARAMS_UPDATE_DATE     ("heatParamsUpdateDate",Long.class,                             false,          false),
124     //product
125     FULL_NAME                   ("fullName",                            String.class,               false,              true),
126     //was changed as part of migration from 1602 to 1602 ( in 1602 was defined as unique. it's problem to reconfigure the index )
127     CONSTANT_UUID               ("constantUuidNew",                     String.class,               false,              true),
128     CONTACTS                    ("contacts",                            String.class,                           false,          false),
129     //categorys
130     ICONS               ("icons",                   String.class,               false,      false),
131     METADATA_KEYS       ("metadataKeys",            String.class,               false,      false),
132     USE_SERVICE_SUBSTITUTION_FOR_NESTED_SERVICES   ("useServiceSubstitutionForNestedServices",      Boolean.class,                 false,      false),
133     //relation
134     CAPABILITY_OWNER_ID ("capOwnerId",                          String.class,                           false,          false),
135     REQUIREMENT_OWNER_ID ("reqOwnerId",                         String.class,                           false,          false),
136     CAPABILITY_ID               ("capabiltyId",                         String.class,                           false,          false),
137     REQUIREMENT_ID              ("requirementId",                       String.class,                           false,          false),
138     PROPERTY_ID                 ("propertyId",                          String.class,                           false,          false),
139     PROPERTY_NAME               ("propertyName",                        String.class,                           false,          false),
140     //component instance
141     ORIGIN_TYPE                 ("originType",                          String.class,                           false,          false),
142     //requirement & capabilty
143     MIN_OCCURRENCES             ("minOccurrences",                      String.class,                           false,          false),
144     MAX_OCCURRENCES             ("maxOccurrences",                      String.class,                           false,          false),
145     //Data type
146     DERIVED_FROM                ("derivedFrom",                         String.class,                           false,          false),
147     MEMBERS                             ("members",                                     String.class,                           false,          false),
148     TARGETS                             ("targets ",                            String.class,                           false,          false),
149     METADATA                    ("metadata",                            String.class,                           false,          false),
150     INVARIANT_UUID              ("invariantUuid",                       String.class,                           false,          true),
151     IS_BASE                             ("isBase",                                      Boolean.class,                          false,          true),
152     GROUP_UUID                  ("groupUuid",                       String.class,                               false,          true),
153     STATUS                              ("status",                              String.class,                           false,          false),
154     FUNCTIONAL_MENU             ("functionalMenu",                      String.class,                           false,          false),
155     REQUIRED_ARTIFACTS  ("requiredArtifacts",           String.class,                           false,          false),
156     CUSTOMIZATION_UUID  ("customizationUUID",           String.class,                           false,          false),
157     IS_ARCHIVED                 ("isArchived",                      Boolean.class,                              false,          true),
158     IS_VSP_ARCHIVED             ("isVspArchived",                   Boolean.class,                              false,          true),
159     ARCHIVE_TIME                ("archiveTime",                     Long.class,                                 false,          true);
160     // @formatter:on
161
162     private final String property;
163     private final Class<?> clazz;
164     private final boolean unique;
165     private final boolean indexed;
166
167 }