package org.onap.so.client.aai;
+import java.io.Serializable;
import org.onap.so.client.graphinventory.GraphInventoryObjectPlurals;
-
+import org.onap.so.constants.Defaults;
import com.google.common.base.CaseFormat;
-public enum AAIObjectPlurals implements GraphInventoryObjectPlurals {
+public class AAIObjectPlurals implements GraphInventoryObjectPlurals, Serializable {
+
+ private static final long serialVersionUID = 5312713297525740746L;
+
+ public static final AAIObjectPlurals CUSTOMER =
+ new AAIObjectPlurals(AAINamespaceConstants.BUSINESS, "/customers", "customer");
+ public static final AAIObjectPlurals GENERIC_VNF =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/generic-vnfs", "generic-vnf");
+ public static final AAIObjectPlurals PORT_GROUP =
+ new AAIObjectPlurals(AAIObjectType.VCE.uriTemplate(), "/port-groups", "port-group");
+ public static final AAIObjectPlurals PSERVER =
+ new AAIObjectPlurals(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/pservers", "pserver");
+ public static final AAIObjectPlurals P_INTERFACE =
+ new AAIObjectPlurals(AAIObjectType.PSERVER.uriTemplate(), "/p-interfaces", "p-interface");
+ public static final AAIObjectPlurals L3_NETWORK =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/l3-networks", "l3-network");
+ public static final AAIObjectPlurals NETWORK_POLICY =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/network-policies", "network-policy");
+ public static final AAIObjectPlurals VPN_BINDING =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/vpn-bindings", "vpn-binding");
+ public static final AAIObjectPlurals SERVICE_SUBSCRIPTION = new AAIObjectPlurals(
+ AAIObjectType.CUSTOMER.uriTemplate(), "/service-subscriptions", "service-subscription");
+ public static final AAIObjectPlurals SERVICE_INSTANCE = new AAIObjectPlurals(
+ AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), "/service-instances", "service-instance");
+ public static final AAIObjectPlurals OWNING_ENTITY =
+ new AAIObjectPlurals(AAINamespaceConstants.BUSINESS, "/owning-entities", "owning-entity");
+ public static final AAIObjectPlurals VOLUME_GROUP =
+ new AAIObjectPlurals(AAIObjectType.CLOUD_REGION.uriTemplate(), "/volume-groups", "volume-group");
+ public static final AAIObjectPlurals AVAILIBILITY_ZONE =
+ new AAIObjectPlurals(AAIObjectType.CLOUD_REGION.uriTemplate(), "/availability-zones", "availability-zone");
+ public static final AAIObjectPlurals VF_MODULE =
+ new AAIObjectPlurals(AAIObjectType.GENERIC_VNF.uriTemplate(), "/vf-modules", "vf-module");
+ public static final AAIObjectPlurals CONFIGURATION =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/configurations", "configuration");
+ public static final AAIObjectPlurals DEFAULT_TENANT =
+ new AAIObjectPlurals(AAINamespaceConstants.CLOUD_INFRASTRUCTURE + "/cloud-regions/cloud-region/"
+ + Defaults.CLOUD_OWNER + "/AAIAIC25", "/tenants", "default-tenant");
+ public static final AAIObjectPlurals NETWORK_TECHNOLOGY = new AAIObjectPlurals(
+ AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/network-technologies", "network-technology");
+ public static final AAIObjectPlurals LOGICAL_LINK =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/logical-links", "logical-link");
+ public static final AAIObjectPlurals L_INTERFACE =
+ new AAIObjectPlurals(AAIObjectType.VSERVER.uriTemplate(), "/l-interfaces", "l-interface");
+ public static final AAIObjectPlurals SUB_L_INTERFACE =
+ new AAIObjectPlurals(AAIObjectType.L_INTERFACE.uriTemplate(), "/l-interfaces", "l-interface");
+ public static final AAIObjectPlurals PNF = new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/pnfs", "pnfs");
- GENERIC_VNF(AAINamespaceConstants.NETWORK, "/generic-vnfs"),
- PSERVER(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, "/pservers"),
- P_INTERFACE(AAIObjectType.PSERVER.uriTemplate(), "/p-interfaces"),
- L3_NETWORK(AAINamespaceConstants.NETWORK, "/l3-networks"),
- SERVICE_SUBSCRIPTION(AAIObjectType.CUSTOMER.uriTemplate(), "/service-subscriptions"),
- SERVICE_INSTANCE(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), "/service-instances"),
- OWNING_ENTITIES(AAINamespaceConstants.BUSINESS, "/owning-entities"),
- VOLUME_GROUP(AAIObjectType.CLOUD_REGION.uriTemplate(), "/volume-groups/"),
- AVAILIBILITY_ZONE(AAIObjectType.CLOUD_REGION.uriTemplate(), "/availability-zones/");
+ private final String uriTemplate;
+ private final String partialUri;
+ private final String name;
+ protected AAIObjectPlurals(String parentUri, String partialUri, String name) {
+ this.uriTemplate = parentUri + partialUri;
+ this.partialUri = partialUri;
+ this.name = name;
+ }
- private final String uriTemplate;
- private final String partialUri;
- private AAIObjectPlurals(String parentUri, String partialUri) {
- this.uriTemplate = parentUri + partialUri;
- this.partialUri = partialUri;
- }
+ @Override
+ public String toString() {
+ return this.uriTemplate();
+ }
- @Override
- public String toString() {
- return this.uriTemplate();
- }
+ @Override
+ public String uriTemplate() {
+ return this.uriTemplate;
+ }
- @Override
- public String uriTemplate() {
- return this.uriTemplate;
- }
+ @Override
+ public String partialUri() {
+ return this.partialUri;
+ }
- @Override
- public String partialUri() {
- return this.partialUri;
- }
+ @Override
+ public String typeName() {
+ return this.typeName(CaseFormat.LOWER_HYPHEN);
+ }
- @Override
- public String typeName() {
- return this.typeName(CaseFormat.LOWER_HYPHEN);
- }
- @Override
- public String typeName(CaseFormat format) {
- return CaseFormat.UPPER_UNDERSCORE.to(format, this.name());
- }
+ @Override
+ public String typeName(CaseFormat format) {
+ return CaseFormat.LOWER_HYPHEN.to(format, this.name);
+ }
}