aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java115
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/InstanceGroup.java22
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Network.java74
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/ServiceInstantiation.java90
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/VfModule.java60
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Vnf.java81
6 files changed, 307 insertions, 135 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java
new file mode 100644
index 000000000..653c73477
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java
@@ -0,0 +1,115 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.vid.model.serviceInstantiation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.model.Action;
+import org.onap.vid.mso.model.ModelInfo;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
+
+ protected final String instanceId;
+ protected ModelInfo modelInfo;
+
+ protected String instanceName;
+
+ protected final Action action;
+
+ protected String lcpCloudRegionId;
+
+ protected String tenantId;
+
+ protected List<Map<String, String>> instanceParams;
+
+ protected boolean rollbackOnFailure;
+
+ private static final Map<String, Action> actionStingToEnumMap = ImmutableMap.of(
+ "Delete", Action.Delete,
+ "Create", Action.Create,
+ "None", Action.None,
+ "Update_Delete", Action.Delete,
+ "None_Delete", Action.Delete
+ );
+
+
+ protected BaseResource(@JsonProperty("modelInfo") ModelInfo modelInfo,
+ @JsonProperty("instanceName") String instanceName,
+ @JsonProperty("action") String action,
+ @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
+ @JsonProperty("legacyRegion") String legacyRegion,
+ @JsonProperty("tenantId") String tenantId,
+ @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("instanceId") String instanceId) {
+ this.modelInfo = modelInfo;
+ this.modelInfo.setModelType(getModelType());
+ this.rollbackOnFailure = rollbackOnFailure;
+ this.instanceName = StringUtils.defaultString(instanceName, "");;
+ this.action = actionStringToEnum(action);
+ this.lcpCloudRegionId = StringUtils.isNotEmpty(legacyRegion) ? legacyRegion : lcpCloudRegionId;
+ this.tenantId = tenantId;
+ this.instanceParams = instanceParams;
+ this.instanceId = instanceId;
+ }
+
+ private Action actionStringToEnum(String actionAsString) {
+ return actionStingToEnumMap.get(actionAsString);
+ }
+
+ public ModelInfo getModelInfo() {
+ return modelInfo;
+ }
+
+ public String getInstanceName() {
+ return instanceName;
+ }
+
+ public Action getAction() {
+ return action;
+ }
+
+ public String getLcpCloudRegionId() {
+ return lcpCloudRegionId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public List<Map<String, String>> getInstanceParams() {
+ return instanceParams == null ? Collections.emptyList() : instanceParams;
+ }
+
+ public boolean isRollbackOnFailure() { return rollbackOnFailure; }
+
+ public String getInstanceId() {
+ return instanceId;
+ }
+
+ protected abstract String getModelType();
+}
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/InstanceGroup.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/InstanceGroup.java
new file mode 100644
index 000000000..6155480c7
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/InstanceGroup.java
@@ -0,0 +1,22 @@
+package org.onap.vid.model.serviceInstantiation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.mso.model.ModelInfo;
+
+public class InstanceGroup extends BaseResource implements JobAdapter.AsyncJobRequest {
+
+ public InstanceGroup(@JsonProperty("modelInfo") ModelInfo modelInfo,
+ @JsonProperty("instanceName") String instanceName,
+ @JsonProperty("action") String action,
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("instanceId") String instanceId) {
+
+ super(modelInfo, instanceName, action, null, null, null, null, rollbackOnFailure, instanceId);
+ }
+
+ @Override
+ protected String getModelType() {
+ return "instanceGroup";
+ }
+}
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Network.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Network.java
new file mode 100644
index 000000000..0e0c7e139
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Network.java
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.vid.model.serviceInstantiation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.mso.model.ModelInfo;
+
+import java.util.List;
+import java.util.Map;
+
+public class Network extends BaseResource implements JobAdapter.AsyncJobRequest {
+
+ private final String productFamilyId;
+
+ private final String platformName;
+
+ private final String lineOfBusiness;
+
+ public Network(@JsonProperty("modelInfo") ModelInfo modelInfo,
+ @JsonProperty("productFamilyId") String productFamilyId,
+ @JsonProperty("instanceName") String instanceName,
+ @JsonProperty("action") String action,
+ @JsonProperty("platformName") String platformName,
+ @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
+ @JsonProperty("legacyRegion") String legacyRegion,
+ @JsonProperty("tenantId") String tenantId,
+ @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
+ @JsonProperty("lineOfBusinessName") String lineOfBusiness,
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("instanceId") String instanceId) {
+
+ super(modelInfo, instanceName, action, lcpCloudRegionId, legacyRegion, tenantId, instanceParams, rollbackOnFailure, instanceId);
+ this.productFamilyId = productFamilyId;
+ this.platformName = platformName;
+ this.lineOfBusiness = lineOfBusiness;
+ }
+
+ public String getProductFamilyId() {
+ return productFamilyId;
+ }
+
+ public String getPlatformName() {
+ return platformName;
+ }
+
+ public String getLineOfBusiness() {
+ return lineOfBusiness;
+ }
+
+ @Override
+ protected String getModelType() {
+ return "network";
+ }
+
+}
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/ServiceInstantiation.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/ServiceInstantiation.java
index 1d2e69d54..3cb1e9492 100644
--- a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/ServiceInstantiation.java
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/ServiceInstantiation.java
@@ -1,16 +1,14 @@
package org.onap.vid.model.serviceInstantiation;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.onap.vid.domain.mso.ModelInfo;
import org.onap.vid.job.JobAdapter;
+import org.onap.vid.mso.model.ModelInfo;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
-
- private final ModelInfo modelInfo;
+public class ServiceInstantiation extends BaseResource implements JobAdapter.AsyncJobRequest {
private final String owningEntityId;
@@ -24,16 +22,8 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
private final String productFamilyId;
- private final String instanceName;
-
- private final Boolean isUserProvidedNaming;
-
private final String subscriptionServiceType;
- private final String lcpCloudRegionId;
-
- private final String tenantId;
-
private final String tenantName;
private final String aicZoneId;
@@ -42,13 +32,17 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
private final Map<String, Vnf> vnfs;
- private final List<Map<String,String>> instanceParams;
+ private final Map<String, Network> networks;
+
+ private final Map<String, InstanceGroup> vnfGroups;
private final boolean isPause;
private final int bulkSize;
- private final boolean rollbackOnFailure;
+ private final String testApi;
+
+ private final boolean isALaCarte;
public ServiceInstantiation(@JsonProperty("modelInfo") ModelInfo modelInfo,
@JsonProperty("owningEntityId") String owningEntityId,
@@ -58,45 +52,43 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
@JsonProperty("subscriberName") String subscriberName,
@JsonProperty("productFamilyId") String productFamilyId,
@JsonProperty("instanceName") String instanceName,
- @JsonProperty("isUserProvidedNaming") Boolean isUserProvidedNaming,
@JsonProperty("subscriptionServiceType") String subscriptionServiceType,
@JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
+ @JsonProperty("legacyRegion") String legacyRegion,
@JsonProperty("tenantId") String tenantId,
@JsonProperty("tenantName") String tenantName,
@JsonProperty("aicZoneId") String aicZoneId,
@JsonProperty("aicZoneName") String aicZoneName,
@JsonProperty("vnfs") Map<String, Vnf> vnfs,
+ @JsonProperty("networks") Map<String, Network> networks,
+ @JsonProperty("vnfGroups") Map<String, InstanceGroup> vnfGroups,
@JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
@JsonProperty("pause") boolean isPause,
@JsonProperty("bulkSize") int bulkSize,
- @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("isALaCarte") boolean isALaCarte,
+ @JsonProperty("testApi") String testApi,
+ @JsonProperty("instanceId") String instanceId,
+ @JsonProperty("action") String action
) {
-
- this.modelInfo = modelInfo;
- this.modelInfo.setModelType("service");
+ super(modelInfo, instanceName, action, lcpCloudRegionId, legacyRegion, tenantId, instanceParams, rollbackOnFailure, instanceId);
this.owningEntityId = owningEntityId;
this.owningEntityName = owningEntityName;
this.projectName = projectName;
this.globalSubscriberId = globalSubscriberId;
this.subscriberName = subscriberName;
this.productFamilyId = productFamilyId;
- this.instanceName = instanceName;
- this.isUserProvidedNaming = isUserProvidedNaming;
this.subscriptionServiceType = subscriptionServiceType;
- this.lcpCloudRegionId = lcpCloudRegionId;
- this.tenantId = tenantId;
this.tenantName = tenantName;
this.aicZoneId = aicZoneId;
this.aicZoneName = aicZoneName;
this.vnfs = vnfs;
- this.instanceParams = instanceParams;
+ this.networks = networks;
+ this.vnfGroups = vnfGroups;
this.isPause = isPause;
this.bulkSize = bulkSize;
- this.rollbackOnFailure = rollbackOnFailure;
- }
-
- public ModelInfo getModelInfo() {
- return modelInfo;
+ this.isALaCarte = isALaCarte;
+ this.testApi = isALaCarte ? testApi : null;
}
public String getOwningEntityId() {
@@ -123,25 +115,10 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
return productFamilyId;
}
- public String getInstanceName() {
- return instanceName;
- }
-
- @JsonProperty("isUserProvidedNaming")
- public Boolean isUserProvidedNaming() { return isUserProvidedNaming; }
-
public String getSubscriptionServiceType() {
return subscriptionServiceType;
}
- public String getLcpCloudRegionId() {
- return lcpCloudRegionId;
- }
-
- public String getTenantId() {
- return tenantId;
- }
-
public String getTenantName() {
return tenantName;
}
@@ -155,11 +132,15 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
}
public Map<String, Vnf> getVnfs() {
- return vnfs;
+ return vnfs == null ? Collections.emptyMap() : vnfs;
+ }
+
+ public Map<String, Network> getNetworks() {
+ return networks == null ? Collections.emptyMap() : networks;
}
- public List<Map<String, String>> getInstanceParams() {
- return instanceParams == null ? Collections.emptyList() : instanceParams;
+ public Map<String, InstanceGroup> getVnfGroups() {
+ return vnfGroups == null ? Collections.emptyMap() : vnfGroups;
}
public boolean isPause() {
@@ -168,7 +149,18 @@ public class ServiceInstantiation implements JobAdapter.AsyncJobRequest {
public int getBulkSize() { return bulkSize; }
- public boolean isRollbackOnFailure() {
- return rollbackOnFailure;
+ @Override
+ protected String getModelType() {
+ return "service";
+ }
+
+ @JsonProperty("isALaCarte")
+ public boolean isALaCarte() {
+ return isALaCarte;
}
+
+ public String getTestApi() {
+ return this.testApi;
+ }
+
} \ No newline at end of file
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/VfModule.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/VfModule.java
index f63fb3365..b930ba4db 100644
--- a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/VfModule.java
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/VfModule.java
@@ -22,10 +22,9 @@ package org.onap.vid.model.serviceInstantiation;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.vid.domain.mso.ModelInfo;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.mso.model.ModelInfo;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -34,42 +33,47 @@ import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
/**
* The Class VfModule.
*/
-public class VfModule {
+@JsonInclude(NON_NULL)
+public class VfModule extends BaseResource implements JobAdapter.AsyncJobRequest {
-
-
- private final ModelInfo modelInfo;
-
- @JsonInclude(NON_NULL) private final String instanceName;
-
- private final List<Map<String, String>> instanceParams;
@JsonInclude(NON_NULL) private final String volumeGroupInstanceName;
-
- public VfModule(@JsonProperty("modelInfo") ModelInfo modelInfo,
- @JsonProperty("instanceName") String instanceName,
- @JsonProperty(value = "volumeGroupName") String volumeGroupInstanceName,
- @JsonProperty("instanceParams") List<Map<String, String>> instanceParams) {
- this.modelInfo = modelInfo;
- this.modelInfo.setModelType("vfModule");
- this.instanceName = instanceName;
- this.instanceParams = instanceParams;
+ private boolean usePreload;
+ private Map<String, String> supplementaryParams;
+
+ public VfModule( @JsonProperty("modelInfo") ModelInfo modelInfo,
+ @JsonProperty("instanceName") String instanceName,
+ @JsonProperty("volumeGroupName") String volumeGroupInstanceName,
+ @JsonProperty("action") String action,
+ @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
+ @JsonProperty("legacyRegion") String legacyRegion,
+ @JsonProperty("tenantId") String tenantId,
+ @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
+ @JsonProperty("supplementaryFileContent") Map<String, String> supplementaryParams,
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("sdncPreLoad") boolean usePreload,
+ @JsonProperty("instanceId") String instanceId) {
+ super(modelInfo, instanceName, action, lcpCloudRegionId, legacyRegion, tenantId, instanceParams, rollbackOnFailure, instanceId);
this.volumeGroupInstanceName = volumeGroupInstanceName;
+ this.usePreload = usePreload;
+ this.supplementaryParams = supplementaryParams;
}
- public ModelInfo getModelInfo() {
- return modelInfo;
+ public String getVolumeGroupInstanceName() {
+ return volumeGroupInstanceName;
}
- public String getInstanceName() {
- return instanceName;
+ public boolean isUsePreload() {
+ return usePreload;
}
- public String getVolumeGroupInstanceName() {
- return volumeGroupInstanceName;
+ public Map<String, String> getSupplementaryParams() {
+ return supplementaryParams;
}
- public List<Map<String, String>> getInstanceParams() {
- return instanceParams == null ? Collections.emptyList() : instanceParams;
+ @Override
+ protected String getModelType() {
+ return "vfModule";
}
+
} \ No newline at end of file
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Vnf.java b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Vnf.java
index 621754d17..3856e8894 100644
--- a/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Vnf.java
+++ b/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/Vnf.java
@@ -22,99 +22,64 @@ package org.onap.vid.model.serviceInstantiation;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.vid.domain.mso.ModelInfo;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.mso.model.ModelInfo;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* The Class VNF.
*/
-public class Vnf {
- private final ModelInfo modelInfo;
+public class Vnf extends BaseResource implements JobAdapter.AsyncJobRequest {
private final String productFamilyId;
- private final String instanceName;
-
private final String platformName;
- private final String lcpCloudRegionId;
-
- private final String tenantId;
-
- private final Boolean isUserProvidedNaming;
-
- private final List<Map<String, String>> instanceParams;
-
private final String lineOfBusiness;
-
private final Map<String, Map<String, VfModule>> vfModules;
public Vnf(@JsonProperty("modelInfo") ModelInfo modelInfo,
- @JsonProperty("productFamilyId") String productFamilyId,
- @JsonProperty("instanceName") String instanceName,
- @JsonProperty("isUserProvidedNaming") Boolean isUserProvidedNaming,
- @JsonProperty("platformName") String platformName,
- @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
- @JsonProperty("tenantId") String tenantId,
- @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
- @JsonProperty("lineOfBusinessName") String lineOfBusiness,
- @JsonProperty("vfModules") Map<String, Map<String, VfModule>> vfModules) {
- this.modelInfo = modelInfo;
- this.modelInfo.setModelType("vnf");
+ @JsonProperty("productFamilyId") String productFamilyId,
+ @JsonProperty("instanceName") String instanceName,
+ @JsonProperty("action") String action,
+ @JsonProperty("platformName") String platformName,
+ @JsonProperty("lcpCloudRegionId") String lcpCloudRegionId,
+ @JsonProperty("legacyRegion") String legacyRegion,
+ @JsonProperty("tenantId") String tenantId,
+ @JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
+ @JsonProperty("lineOfBusinessName") String lineOfBusiness,
+ @JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
+ @JsonProperty("instanceId") String instanceId,
+ @JsonProperty("vfModules") Map<String, Map<String, VfModule>> vfModules) {
+
+ super(modelInfo, instanceName, action, lcpCloudRegionId, legacyRegion, tenantId, instanceParams, rollbackOnFailure, instanceId);
this.productFamilyId = productFamilyId;
- this.instanceName = instanceName;
- this.isUserProvidedNaming = isUserProvidedNaming;
this.platformName = platformName;
- this.lcpCloudRegionId = lcpCloudRegionId;
- this.tenantId = tenantId;
- this.instanceParams = instanceParams;
- this.vfModules = vfModules;
this.lineOfBusiness = lineOfBusiness;
- }
-
- public ModelInfo getModelInfo() {
- return modelInfo;
+ this.vfModules = vfModules;
}
public String getProductFamilyId() {
return productFamilyId;
}
- public String getInstanceName() {
- return instanceName;
- }
-
- @JsonProperty("isUserProvidedNaming")
- public Boolean isUserProvidedNaming() {
- return isUserProvidedNaming;
- }
-
public String getPlatformName() {
return platformName;
}
- public String getLcpCloudRegionId() {
- return lcpCloudRegionId;
- }
-
- public String getTenantId() {
- return tenantId;
- }
-
- public List<Map<String, String>> getInstanceParams() {
- return instanceParams == null ? Collections.emptyList() : instanceParams;
+ public String getLineOfBusiness() {
+ return lineOfBusiness;
}
public Map<String, Map<String, VfModule>> getVfModules() {
return vfModules;
}
- public String getLineOfBusiness() {
- return lineOfBusiness;
+ @Override
+ protected String getModelType() {
+ return "vnf";
}
}