Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / model / serviceInstantiation / VfModule.java
index f63fb33..b930ba4 100644 (file)
@@ -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