145bcbdbc0556096241fe221d09a0eeb27502527
[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     MODEL_TYPE          ("modelType",               String.class,               false,      false),
55     CONFORMANCE_LEVEL   ("conformanceLevel",            String.class,                           false,          false),
56     ICON                                ("icon",                                        String.class,                           false,          false),
57     TAGS                                ("tags",                                        String.class,                   false,          false),
58     UUID                                ("uuid",                                        String.class,                           false,          true),
59     COST                                ("cost",                                        String.class,                           false,          false),
60     LICENSE_TYPE                ("licenseType",                         String.class,                           false,          false),
61     NORMALIZED_NAME             ("normalizedName",                      String.class,                           false,          true),
62     SYSTEM_NAME                 ("systemName",                          String.class,                           false,          true),
63     IS_DELETED                  ("deleted",                                     Boolean.class,                          false,          true),
64     RESOURCE_TYPE               ("resourceType",                        String.class,                           false,          true),
65     ENTRY_SCHEMA                ("entry_schema",                        String.class,                           false,          false),
66     CSAR_UUID                   ("csarUuid",                            String.class,                           false,          true),
67     CSAR_VERSION                ("csarVersion",                         String.class,                           false,          true),
68     CSAR_VERSION_ID                     ("csarUuid",                            String.class,                           false,          true),
69     IMPORTED_TOSCA_CHECKSUM     ("importedToscaChecksum",                               String.class,                           false,          true),
70     GENERATED                   ("generated",                           Boolean.class,                          false,          false),
71     // User
72     USERID                              ("userId",                                      String.class,                           true,           true),
73     EMAIL                               ("email",                                       String.class,                           false,          false),
74     FIRST_NAME                  ("firstName",                           String.class,                           false,          false),
75     LAST_NAME                   ("lastName",                            String.class,                           false,          false),
76     ROLE                                ("role",                                        String.class,                           false,          true),
77     USER_STATUS                 ("status",                                      String.class,                           false,          true),
78     VALID_SOURCE_TYPES  ("validSourceTypes",        String.class,               false,          false),
79     VALID_TARGET_TYPES  ("validTargetTypes",        String.class,               false,      false),
80     NODE                                ("node",                                        String.class,                           false,          false),
81     VALUE                               ("value",                                       String.class,                           false,          false),
82     HIDDEN                              ("Hidden",                                      Boolean.class,                          false,          false),
83     PROPERTIES                  ("properties",                          String.class,                           false,          false),
84     POSITION_X                  ("positionX",                           String.class,                           false,          false),
85     POSITION_Y                  ("positionY",                           String.class,                           false,          false),
86     RELATIONSHIP_TYPE   ("relationshipType",            String.class,                           false,          false),
87     ARTIFACT_TYPE               ("artifactType",                        String.class,                           false,          true),
88     ARTIFACT_REF                ("artifactRef",                         String.class,                           false,          false),
89     ARTIFACT_REPOSITORY ("artifactRepository",          String.class,                           false,          false),
90     ARTIFACT_CHECKSUM   ("artifactChecksum",            String.class,                           false,          false),
91     CREATOR                             ("creator",                                     String.class,                           false,          false),
92     CREATOR_ID          ("creatorId",                           String.class,                           false,          false),
93     LAST_UPDATER                ("lastUpdater",                         String.class,                           false,          false),
94     CREATOR_FULL_NAME   ("creatorFullName",                     String.class,                           false,          false),
95     UPDATER_FULL_NAME   ("updaterFullName",                     String.class,                           false,          false),
96     ES_ID                               ("esId",                                        String.class,                           false,          false),
97     ARTIFACT_LABEL              ("artifactLabel",                       String.class,                           false,          true),
98     ARTIFACT_DISPLAY_NAME("artifactDisplayName",        String.class,                           false,          true),
99     INSTANCE_COUNTER    ("instanceCounter",                     Integer.class,                          false,          false),
100     PROJECT_CODE                ("projectCode",                         String.class,                           false,          false),
101     DISTRIBUTION_STATUS ("distributionStatus",          String.class,                           false,          false),
102     IS_VNF                              ("isVNF",                                       Boolean.class,                          false,          false),
103     LAST_LOGIN_TIME             ("lastLoginTime",                       Long.class,                                     false,          true),
104     ATTRIBUTE_COUNTER   ("attributeCounter",            Integer.class,                          false,          false),
105     INPUT_COUNTER               ("inputCounter",                        Integer.class,                          false,          false),
106     PROPERTY_COUNTER    ("propertyCounter",                     Integer.class,                          false,          false),
107     API_URL                             ("apiUrl",                                      String.class,                           false,          false),
108     SERVICE_API                 ("serviceApi",                          Boolean.class,                          false,          true),
109     ADDITIONAL_INFO_PARAMS ("additionalInfo",       String.class,              false,           false),
110     ADDITIONAL_INFO_ID_TO_KEY ("idToKey",               String.class,              false,               false),
111     ARTIFACT_GROUP_TYPE ("artifactGroupType",           String.class,              false,               true),
112     ARTIFACT_TIMEOUT    ("timeout",                                     Integer.class,                          false,          false),
113     IS_ACTIVE                   ("isActive",                            Boolean.class,                          false,          true),
114     PROPERTY_VALUE_RULES ("propertyValueRules",         String.class,                           false,          false),
115     //authantication
116     CONSUMER_NAME               ("consumerName",                        String.class,                           true,           true),
117     CONSUMER_PASSWORD   ("consumerPassword",            String.class,                           false,          false),
118     CONSUMER_SALT               ("consumerSalt",                        String.class,                           false,          false),
119     CONSUMER_LAST_AUTHENTICATION_TIME   ("consumerLastAuthenticationTime",              Long.class,                             false,          false),
120     CONSUMER_DETAILS_LAST_UPDATED_TIME  ("consumerDetailsLastupdatedtime",              Long.class,                             false,          false),
121     LAST_MODIFIER_USER_ID("lastModfierUserId",          String.class,                           false,          false),
122     ARTIFACT_VERSION    ("artifactVersion",                     String.class,                           false,          false),
123     ARTIFACT_UUID               ("artifactUUID",                        String.class,                           false,          false),
124     PAYLOAD_UPDATE_DATE ("payloadUpdateDate",           Long.class,                             false,          false),
125     HEAT_PARAMS_UPDATE_DATE     ("heatParamsUpdateDate",Long.class,                             false,          false),
126     //product
127     FULL_NAME                   ("fullName",                            String.class,               false,              true),
128     //was changed as part of migration from 1602 to 1602 ( in 1602 was defined as unique. it's problem to reconfigure the index )
129     CONSTANT_UUID               ("constantUuidNew",                     String.class,               false,              true),
130     CONTACTS                    ("contacts",                            String.class,                           false,          false),
131     //categorys
132     ICONS               ("icons",                   String.class,               false,      false),
133     METADATA_KEYS       ("metadataKeys",            String.class,               false,      false),
134     USE_SERVICE_SUBSTITUTION_FOR_NESTED_SERVICES   ("useServiceSubstitutionForNestedServices",      Boolean.class,                 false,      false),
135     //relation
136     CAPABILITY_OWNER_ID ("capOwnerId",                          String.class,                           false,          false),
137     REQUIREMENT_OWNER_ID ("reqOwnerId",                         String.class,                           false,          false),
138     CAPABILITY_ID               ("capabiltyId",                         String.class,                           false,          false),
139     REQUIREMENT_ID              ("requirementId",                       String.class,                           false,          false),
140     PROPERTY_ID                 ("propertyId",                          String.class,                           false,          false),
141     PROPERTY_NAME               ("propertyName",                        String.class,                           false,          false),
142     //component instance
143     ORIGIN_TYPE                 ("originType",                          String.class,                           false,          false),
144     //requirement & capabilty
145     MIN_OCCURRENCES             ("minOccurrences",                      String.class,                           false,          false),
146     MAX_OCCURRENCES             ("maxOccurrences",                      String.class,                           false,          false),
147     //Data type
148     DERIVED_FROM                ("derivedFrom",                         String.class,                           false,          false),
149     MEMBERS                             ("members",                                     String.class,                           false,          false),
150     TARGETS                             ("targets ",                            String.class,                           false,          false),
151     METADATA                    ("metadata",                            String.class,                           false,          false),
152     INVARIANT_UUID              ("invariantUuid",                       String.class,                           false,          true),
153     IS_BASE                             ("isBase",                                      Boolean.class,                          false,          true),
154     GROUP_UUID                  ("groupUuid",                       String.class,                               false,          true),
155     STATUS                              ("status",                              String.class,                           false,          false),
156     FUNCTIONAL_MENU             ("functionalMenu",                      String.class,                           false,          false),
157     REQUIRED_ARTIFACTS  ("requiredArtifacts",           String.class,                           false,          false),
158     CUSTOMIZATION_UUID  ("customizationUUID",           String.class,                           false,          false),
159     IS_ARCHIVED                 ("isArchived",                      Boolean.class,                              false,          true),
160     IS_VSP_ARCHIVED             ("isVspArchived",                   Boolean.class,                              false,          true),
161     ARCHIVE_TIME                ("archiveTime",                     Long.class,                                 false,          true);
162     // @formatter:on
163
164     private final String property;
165     private final Class<?> clazz;
166     private final boolean unique;
167     private final boolean indexed;
168
169 }