2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.dao.neo4j;
23 import java.util.ArrayList;
24 import java.util.List;
27 public enum GraphPropertiesDictionary {
28 // field name class type unique indexed
29 // stored in graph index
31 LABEL ("nodeLabel", String.class, false, true),
32 HEALTH_CHECK ("healthcheckis", String.class, true, true), //yavivi
34 NAME ("name", String.class, false, true),
35 TOSCA_RESOURCE_NAME ("toscaResourceName", String.class, false, true),
36 CATEGORY_NAME ("categoryName", String.class, false, true), // ?
37 VERSION ("version", String.class, false, true),
38 CREATION_DATE ("creationDate", Long.class, false, false),
39 LAST_UPDATE_DATE ("modificationDate", Long.class, false, false),
40 IS_HIGHEST_VERSION ("highestVersion", Boolean.class, false, true),
41 IS_ABSTRACT ("abstract", Boolean.class, false, true),
42 DESCRIPTION ("description", String.class, false, false),
43 UNIQUE_ID ("uid", String.class, true, true),
44 STATE ("state", String.class, false, true),
45 TYPE ("type", String.class, false, true),
46 REQUIRED ("required", Boolean.class, false, false),
47 DEFAULT_VALUE ("defaultValue", String.class, false, false),
48 CONSTRAINTS ("constraints", String.class, false, false),
49 CONTACT_ID ("contactId", String.class, false, false),
50 VENDOR_NAME ("vendorName", String.class, false, false),
51 VENDOR_RELEASE ("vendorRelease", String.class, false, false),
52 ICON ("icon", String.class, false, false),
53 TAGS ("tags", String.class, false, false),
54 UUID ("uuid", String.class, false, true),
55 COST ("cost", String.class, false, false),
56 LICENSE_TYPE ("licenseType", String.class, false, false),
57 NORMALIZED_NAME ("normalizedName", String.class, false, true),
58 SYSTEM_NAME ("systemName", String.class, false, true),
59 IS_DELETED ("deleted", Boolean.class, false, true),
60 RESOURCE_TYPE ("resourceType", String.class, false, true),
61 ENTRY_SCHEMA ("entry_schema", String.class, false, false),
62 CSAR_UUID ("csarUuid", String.class, false, true),
63 CSAR_VERSION ("csarVersion", String.class, false, true),
64 IMPORTED_TOSCA_CHECKSUM ("importedToscaChecksum", String.class, false, true),
65 GENERATED ("generated", Boolean.class, false, false),
67 USER_ID ("userId", String.class, true, true),
68 EMAIL ("email", String.class, false, false),
69 FIRST_NAME ("firstName", String.class, false, false),
70 LAST_NAME ("lastName", String.class, false, false),
71 ROLE ("role", String.class, false, true),
72 USER_STATUS ("status", String.class, false, true),
73 VALID_SOURCE_TYPES ("validSourceTypes", String.class, false, false),
74 NODE ("node", String.class, false, false),
75 VALUE ("value", String.class, false, false),
76 HIDDEN ("Hidden", Boolean.class, false, false),
77 PROPERTIES ("properties", String.class, false, false),
78 POSITION_X ("positionX", String.class, false, false),
79 POSITION_Y ("positionY", String.class, false, false),
80 RELATIONSHIP_TYPE ("relationshipType", String.class, false, false),
81 ARTIFACT_TYPE ("artifactType", String.class, false, true),
82 ARTIFACT_REF ("artifactRef", String.class, false, false),
83 ARTIFACT_REPOSITORY ("artifactRepository", String.class, false, false),
84 ARTIFACT_CHECKSUM ("artifactChecksum", String.class, false, false),
85 CREATOR ("creator", String.class, false, false),
86 ATT_CREATOR ("attCreator", String.class, false, false),
87 LAST_UPDATER ("lastUpdater", String.class, false, false),
88 CREATOR_FULL_NAME ("creatorFullName", String.class, false, false),
89 UPDATER_FULL_NAME ("updaterFullName", String.class, false, false),
90 ES_ID ("esId", String.class, false, false),
91 ARTIFACT_LABEL ("artifactLabel", String.class, false, true),
92 ARTIFACT_DISPLAY_NAME("artifactDisplayName", String.class, false, true),
93 INSTANCE_COUNTER ("instanceCounter", Integer.class, false, false),
94 PROJECT_CODE ("projectCode", String.class, false, false),
95 DISTRIBUTION_STATUS ("distributionStatus", String.class, false, false),
96 IS_VNF ("isVNF", Boolean.class, false, false),
97 LAST_LOGIN_TIME ("lastLoginTime", Long.class, false, true),
98 ATTRIBUTE_COUNTER ("attributeCounter", Integer.class, false, false),
99 INPUT_COUNTER ("inputCounter", Integer.class, false, false),
100 PROPERTY_COUNTER ("propertyCounter", Integer.class, false, false),
101 API_URL ("apiUrl", String.class, false, false),
102 SERVICE_API ("serviceApi", Boolean.class, false, true),
103 ADDITIONAL_INFO_PARAMS ("additionalInfo", String.class, false, false),
104 ADDITIONAL_INFO_ID_TO_KEY ("idToKey", String.class, false, false),
105 ARTIFACT_GROUP_TYPE ("artifactGroupType", String.class, false, true),
106 ARTIFACT_TIMEOUT ("timeout", Integer.class, false, false),
107 IS_ACTIVE ("isActive", Boolean.class, false, true),
108 PROPERTY_VALUE_RULES ("propertyValueRules", String.class, false, false),
110 CONSUMER_NAME ("consumerName", String.class, true, true),
111 CONSUMER_PASSWORD ("consumerPassword", String.class, false, false),
112 CONSUMER_SALT ("consumerSalt", String.class, false, false),
113 CONSUMER_LAST_AUTHENTICATION_TIME ("consumerLastAuthenticationTime", Long.class, false, false),
114 CONSUMER_DETAILS_LAST_UPDATED_TIME ("consumerDetailsLastupdatedtime", Long.class, false, false),
115 LAST_MODIFIER_USER_ID("lastModfierUserId", String.class, false, false),
116 ARTIFACT_VERSION ("artifactVersion", String.class, false, false),
117 ARTIFACT_UUID ("artifactUUID", String.class, false, false),
118 PAYLOAD_UPDATE_DATE ("payloadUpdateDate", Long.class, false, false),
119 HEAT_PARAMS_UPDATE_DATE ("heatParamsUpdateDate",Long.class, false, false),
121 FULL_NAME ("fullName", String.class, false, true),
122 //was changed as part of migration from 1602 to 1602 ( in 1602 was defined as unique. it's problem to reconfigure the index )
123 CONSTANT_UUID ("constantUuidNew", String.class, false, true),
124 CONTACTS ("contacts", String.class, false, false),
126 ICONS ("icons", String.class, false, false),
128 CAPABILITY_OWNER_ID ("capOwnerId", String.class, false, false),
129 REQUIREMENT_OWNER_ID ("reqOwnerId", String.class, false, false),
130 CAPABILITY_ID ("capabiltyId", String.class, false, false),
131 REQUIREMENT_ID ("requirementId", String.class, false, false),
132 PROPERTY_ID ("propertyId", String.class, false, false),
133 PROPERTY_NAME ("propertyName", String.class, false, false),
135 ORIGIN_TYPE ("originType", String.class, false, false),
136 //requirement & capabilty
137 MIN_OCCURRENCES ("minOccurrences", String.class, false, false),
138 MAX_OCCURRENCES ("maxOccurrences", String.class, false, false),
140 DERIVED_FROM ("derivedFrom", String.class, false, false),
141 MEMBERS ("members", String.class, false, false),
142 TARGETS ("targets ", String.class, false, false),
143 METADATA ("metadata", String.class, false, false),
144 INVARIANT_UUID ("invariantUuid", String.class, false, true),
145 IS_BASE ("isBase", Boolean.class, false, true),
146 GROUP_UUID ("groupUuid", String.class, false, true),
147 STATUS ("status", String.class, false, false),
148 FUNCTIONAL_MENU ("functionalMenu", String.class, false, false),
149 REQUIRED_ARTIFACTS ("requiredArtifacts", String.class, false, false),
154 private String property;
156 private boolean unique;
157 private boolean indexed;
160 GraphPropertiesDictionary(String property,Class clazz, boolean unique,boolean indexed) {
161 this.property = property;
163 this.unique = unique;
164 this.indexed = indexed;
168 public String getProperty() {
172 public void setProperty(String property) {
173 this.property = property;
176 public Class getClazz() {
179 public void setClazz(Class clazz) {
183 public boolean isUnique() {
186 public void setUnique(boolean unique) {
187 this.unique = unique;
190 public boolean isIndexed() {
195 public void setIndexed(boolean indexed) {
196 this.indexed = indexed;
200 public static List<String> getAllProperties() {
202 List<String> arrayList = new ArrayList<String>();
204 for (GraphPropertiesDictionary graphProperty : GraphPropertiesDictionary
206 arrayList.add(graphProperty.getProperty());