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 CONFORMANCE_LEVEL ("conformanceLevel", String.class, false, false),
53 ICON ("icon", String.class, false, false),
54 TAGS ("tags", String.class, false, false),
55 UUID ("uuid", String.class, false, true),
56 COST ("cost", String.class, false, false),
57 LICENSE_TYPE ("licenseType", String.class, false, false),
58 NORMALIZED_NAME ("normalizedName", String.class, false, true),
59 SYSTEM_NAME ("systemName", String.class, false, true),
60 IS_DELETED ("deleted", Boolean.class, false, true),
61 RESOURCE_TYPE ("resourceType", String.class, false, true),
62 ENTRY_SCHEMA ("entry_schema", String.class, false, false),
63 CSAR_UUID ("csarUuid", String.class, false, true),
64 CSAR_VERSION ("csarVersion", String.class, false, true),
65 IMPORTED_TOSCA_CHECKSUM ("importedToscaChecksum", String.class, false, true),
66 GENERATED ("generated", Boolean.class, false, false),
68 USERID ("userId", String.class, true, true),
69 EMAIL ("email", String.class, false, false),
70 FIRST_NAME ("firstName", String.class, false, false),
71 LAST_NAME ("lastName", String.class, false, false),
72 ROLE ("role", String.class, false, true),
73 USER_STATUS ("status", String.class, false, true),
74 VALID_SOURCE_TYPES ("validSourceTypes", String.class, false, false),
75 NODE ("node", String.class, false, false),
76 VALUE ("value", String.class, false, false),
77 HIDDEN ("Hidden", Boolean.class, false, false),
78 PROPERTIES ("properties", String.class, false, false),
79 POSITION_X ("positionX", String.class, false, false),
80 POSITION_Y ("positionY", String.class, false, false),
81 RELATIONSHIP_TYPE ("relationshipType", String.class, false, false),
82 ARTIFACT_TYPE ("artifactType", String.class, false, true),
83 ARTIFACT_REF ("artifactRef", String.class, false, false),
84 ARTIFACT_REPOSITORY ("artifactRepository", String.class, false, false),
85 ARTIFACT_CHECKSUM ("artifactChecksum", String.class, false, false),
86 CREATOR ("creator", String.class, false, false),
87 CREATOR_ID ("creatorId", String.class, false, false),
88 LAST_UPDATER ("lastUpdater", String.class, false, false),
89 CREATOR_FULL_NAME ("creatorFullName", String.class, false, false),
90 UPDATER_FULL_NAME ("updaterFullName", String.class, false, false),
91 ES_ID ("esId", String.class, false, false),
92 ARTIFACT_LABEL ("artifactLabel", String.class, false, true),
93 ARTIFACT_DISPLAY_NAME("artifactDisplayName", String.class, false, true),
94 INSTANCE_COUNTER ("instanceCounter", Integer.class, false, false),
95 PROJECT_CODE ("projectCode", String.class, false, false),
96 DISTRIBUTION_STATUS ("distributionStatus", String.class, false, false),
97 IS_VNF ("isVNF", Boolean.class, false, false),
98 LAST_LOGIN_TIME ("lastLoginTime", Long.class, false, true),
99 ATTRIBUTE_COUNTER ("attributeCounter", Integer.class, false, false),
100 INPUT_COUNTER ("inputCounter", Integer.class, false, false),
101 PROPERTY_COUNTER ("propertyCounter", Integer.class, false, false),
102 API_URL ("apiUrl", String.class, false, false),
103 SERVICE_API ("serviceApi", Boolean.class, false, true),
104 ADDITIONAL_INFO_PARAMS ("additionalInfo", String.class, false, false),
105 ADDITIONAL_INFO_ID_TO_KEY ("idToKey", String.class, false, false),
106 ARTIFACT_GROUP_TYPE ("artifactGroupType", String.class, false, true),
107 ARTIFACT_TIMEOUT ("timeout", Integer.class, false, false),
108 IS_ACTIVE ("isActive", Boolean.class, false, true),
109 PROPERTY_VALUE_RULES ("propertyValueRules", String.class, false, false),
111 CONSUMER_NAME ("consumerName", String.class, true, true),
112 CONSUMER_PASSWORD ("consumerPassword", String.class, false, false),
113 CONSUMER_SALT ("consumerSalt", String.class, false, false),
114 CONSUMER_LAST_AUTHENTICATION_TIME ("consumerLastAuthenticationTime", Long.class, false, false),
115 CONSUMER_DETAILS_LAST_UPDATED_TIME ("consumerDetailsLastupdatedtime", Long.class, false, false),
116 LAST_MODIFIER_USER_ID("lastModfierUserId", String.class, false, false),
117 ARTIFACT_VERSION ("artifactVersion", String.class, false, false),
118 ARTIFACT_UUID ("artifactUUID", String.class, false, false),
119 PAYLOAD_UPDATE_DATE ("payloadUpdateDate", Long.class, false, false),
120 HEAT_PARAMS_UPDATE_DATE ("heatParamsUpdateDate",Long.class, false, false),
122 FULL_NAME ("fullName", String.class, false, true),
123 //was changed as part of migration from 1602 to 1602 ( in 1602 was defined as unique. it's problem to reconfigure the index )
124 CONSTANT_UUID ("constantUuidNew", String.class, false, true),
125 CONTACTS ("contacts", String.class, false, false),
127 ICONS ("icons", String.class, false, false),
129 CAPABILITY_OWNER_ID ("capOwnerId", String.class, false, false),
130 REQUIREMENT_OWNER_ID ("reqOwnerId", String.class, false, false),
131 CAPABILITY_ID ("capabiltyId", String.class, false, false),
132 REQUIREMENT_ID ("requirementId", String.class, false, false),
133 PROPERTY_ID ("propertyId", String.class, false, false),
134 PROPERTY_NAME ("propertyName", String.class, false, false),
136 ORIGIN_TYPE ("originType", String.class, false, false),
137 //requirement & capabilty
138 MIN_OCCURRENCES ("minOccurrences", String.class, false, false),
139 MAX_OCCURRENCES ("maxOccurrences", String.class, false, false),
141 DERIVED_FROM ("derivedFrom", String.class, false, false),
142 MEMBERS ("members", String.class, false, false),
143 TARGETS ("targets ", String.class, false, false),
144 METADATA ("metadata", String.class, false, false),
145 INVARIANT_UUID ("invariantUuid", String.class, false, true),
146 IS_BASE ("isBase", Boolean.class, false, true),
147 GROUP_UUID ("groupUuid", String.class, false, true),
148 STATUS ("status", String.class, false, false),
149 FUNCTIONAL_MENU ("functionalMenu", String.class, false, false),
150 REQUIRED_ARTIFACTS ("requiredArtifacts", String.class, false, false),
151 CUSTOMIZATION_UUID ("customizationUUID", String.class, false, false),
156 private String property;
158 private boolean unique;
159 private boolean indexed;
162 GraphPropertiesDictionary(String property,Class clazz, boolean unique,boolean indexed) {
163 this.property = property;
165 this.unique = unique;
166 this.indexed = indexed;
170 public String getProperty() {
174 public void setProperty(String property) {
175 this.property = property;
178 public Class getClazz() {
181 public void setClazz(Class clazz) {
185 public boolean isUnique() {
188 public void setUnique(boolean unique) {
189 this.unique = unique;
192 public boolean isIndexed() {
197 public void setIndexed(boolean indexed) {
198 this.indexed = indexed;
202 public static List<String> getAllProperties() {
204 List<String> arrayList = new ArrayList<String>();
206 for (GraphPropertiesDictionary graphProperty : GraphPropertiesDictionary
208 arrayList.add(graphProperty.getProperty());