1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
/*-
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openecomp.sdc.be.datatypes.enums;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum GraphPropertyEnum {
// @formatter:off
// field name, class type, unique, indexed
UNIQUE_ID( "uid", String.class, true, true),
LABEL( "nodeLabel", String.class, false, true),
JSON( "json", String.class, false, false),
METADATA( "metadata", String.class, false, false),
VERSION( "version", String.class, false, true),
STATE( "state", String.class, false, true),
IS_HIGHEST_VERSION( "highestVersion", Boolean.class, false, true),
IS_DELETED( "deleted", Boolean.class, false, true),
NORMALIZED_NAME( "normalizedName", String.class, false, true),
NAME( "name", String.class, false, true),
TOSCA_RESOURCE_NAME( "toscaResourceName", String.class, false, true),
DISTRIBUTION_STATUS( "distributionStatus", String.class, false, false),
RESOURCE_TYPE( "resourceType", String.class, false, true),
COMPONENT_TYPE( "componentType", String.class, false, true),
UUID( "uuid", String.class, false, true),
SYSTEM_NAME( "systemName", String.class, false, true),
IS_ABSTRACT( "abstract", Boolean.class, false, true),
INVARIANT_UUID( "invariantUuid", String.class, false, true),
CSAR_UUID( "csarUuid", String.class, false, true),
CSAR_VERSION_UUID( "csarVersionUuid", String.class, false, true),
//used for user (old format, no json for users)
USERID( "userId", String.class, true, true),
ROLE( "role", String.class, false, false),
FIRST_NAME( "firstName", String.class, false, false),
LAST_NAME( "lastName", String.class, false, false),
EMAIL( "email", String.class, false, false),
LAST_LOGIN_TIME( "lastLoginTime", Long.class, false, false),
//used for category (old format, no json for categories)
ICONS( "icons", String.class, false, false),
METADATA_KEYS( "metadataKeys", String.class, false, false),
USE_SUBSTITUTION_FOR_NESTED_SERVICES("useServiceSubstitutionForNestedServices",Boolean.class,false,false),
DATA_TYPES( "data_types", Map.class, false, false),
//Archive/Restore
IS_ARCHIVED( "isArchived", Boolean.class, false, true),
IS_VSP_ARCHIVED( "isVspArchived", Boolean.class, false, true),
ARCHIVE_TIME( "archiveTime", Long.class, false, true),
PREV_CATALOG_UPDATE_TIME("previousUpdateTime", Long.class, false, true),
CURRENT_CATALOG_UPDATE_TIME("currentUpdateTime",Long.class, false, true),
//Healing
HEALING_VERSION( "healVersion", Integer.class, false, true),
MODEL( "model", String.class, false, false),
MODEL_TYPE( "modelType", String.class, false, false);
// @formatter:on
private final String property;
private final Class<?> clazz;
private final boolean unique;
private final boolean indexed;
public static GraphPropertyEnum getByProperty(String property) {
for (GraphPropertyEnum currProperty : GraphPropertyEnum.values()) {
if (currProperty.getProperty().equals(property)) {
return currProperty;
}
}
return null;
}
public static List<String> getAllProperties() {
List<String> arrayList = new ArrayList<>();
for (GraphPropertyEnum graphProperty : GraphPropertyEnum.values()) {
arrayList.add(graphProperty.getProperty());
}
return arrayList;
}
}
|