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