aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
commitc72d565bb58226b20625b2bce5f0019046bee649 (patch)
tree8658e49595705b02e47ddc14afa20d6bb7123547 /vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java
parentef8a6b47847012fd59ea20da21d8d3d7c4a301ed (diff)
Merge 1806 code of vid-common
Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java b/vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java
new file mode 100644
index 000000000..736a1aa9e
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/aai/model/ResourceType.java
@@ -0,0 +1,44 @@
+package org.onap.vid.aai.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public enum ResourceType {
+
+ SERVICE_INSTANCE("service-instance", "service-instance-name"),
+ GENERIC_VNF("generic-vnf", "vnf-name"),
+ VF_MODULE("vf-module", "vf-module-name"),
+ VOLUME_GROUP("volume-group", "volume-group-name");
+
+ private static Map<String, ResourceType> AAI_FORMAT_MAP = Stream
+ .of(ResourceType.values())
+ .collect(Collectors.toMap(s -> s.aaiFormat, Function.identity()));
+
+ private final String aaiFormat;
+ private final String nameFilter;
+
+ ResourceType(String formatted, String nameFilter) {
+ this.aaiFormat = formatted;
+ this.nameFilter = nameFilter;
+ }
+
+ public String getAaiFormat() {
+ return aaiFormat;
+ }
+
+ public String getNameFilter() {
+ return nameFilter;
+ }
+
+ @JsonCreator
+ public static ResourceType fromString(String string) {
+ return Optional
+ .ofNullable(AAI_FORMAT_MAP.get(string))
+ .orElseThrow(() -> new IllegalArgumentException(string));
+ }
+}