Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / model / VidNotions.kt
1 package org.onap.vid.model
2
3 import com.fasterxml.jackson.annotation.JsonInclude
4 import com.fasterxml.jackson.annotation.JsonProperty
5 import com.fasterxml.jackson.annotation.JsonValue
6 import com.google.common.base.CaseFormat
7
8 class VidNotions(@get:JsonInclude(JsonInclude.Include.NON_NULL)
9                  val instantiationUI: InstantiationUI, val modelCategory: ModelCategory, val viewEditUI: InstantiationUI) {
10     enum class InstantiationUI {
11         NETWORK_WITH_PROPERTY_NETWORK_TECHNOLOGY_EQUALS_STANDARD_SRIOV_OR_OVS,
12         SERVICE_WITH_FABRIC_CONFIGURATION,
13         LEGACY,
14         SERVICE_UUID_IS_1ffce89f_ef3f_4cbb_8b37_82134590c5de,
15         ANY_ALACARTE_NEW_UI,
16         MACRO_SERVICE,
17         SERVICE_WITH_VNF_GROUPING;
18
19         @JsonValue
20         fun toLowerCamel(): String {
21             return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, this.name)
22         }
23
24     }
25
26     enum class ModelCategory {
27         @JsonProperty("5G Provider Network")
28         IS_5G_PROVIDER_NETWORK_MODEL,
29         @JsonProperty("5G Fabric Configuration")
30         IS_5G_FABRIC_CONFIGURATION_MODEL,
31         @JsonProperty("other")
32         OTHER
33     }
34 }