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;
}
}
|