aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2019-07-16 17:17:36 +0300
committerIttay Stern <ittay.stern@att.com>2019-07-30 06:01:44 +0300
commite601bbdc43bae9a08e2e10c5139a6f76b47860d7 (patch)
tree1913f0b369ead3f2ea5557e5649d8281eca9871c /vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java
parent76c6ee4a697617ec4cdee2f3b48bc83136c858c5 (diff)
Implant vid-app-common org.onap.vid.job (main and test)
Issue-ID: VID-378 Change-Id: I41b0bdc2c4e3635f3f3319b1cd63cefc61912dfc Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/serviceInstantiation/BaseResource.java86
1 files changed, 71 insertions, 15 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
index fe9ebc037..926dc3cdc 100644
--- 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
@@ -7,9 +7,9 @@
* 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.
@@ -20,25 +20,29 @@
package org.onap.vid.model.serviceInstantiation;
+import com.fasterxml.jackson.annotation.JsonIgnore;
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.job.JobType;
import org.onap.vid.model.Action;
import org.onap.vid.mso.model.ModelInfo;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
- protected final String instanceId;
+ protected String instanceId;
+
protected ModelInfo modelInfo;
protected String instanceName;
- protected final Action action;
+ protected Action action;
protected String lcpCloudRegionId;
@@ -48,13 +52,21 @@ public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
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 String trackById;
+
+ protected Boolean isFailed;
+
+ protected String statusMessage;
+
+ private static final Map<String, Action> actionStingToEnumMap = ImmutableMap.<String, Action>builder()
+ .put("Delete", Action.Delete)
+ .put("Create", Action.Create)
+ .put("None", Action.None)
+ .put("Update_Delete", Action.Delete)
+ .put("None_Delete", Action.Delete)
+ .put("Resume", Action.Resume)
+ .put("Replace", Action.Replace)
+ .build();
protected BaseResource(@JsonProperty("modelInfo") ModelInfo modelInfo,
@@ -65,16 +77,22 @@ public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
@JsonProperty("tenantId") String tenantId,
@JsonProperty("instanceParams") List<Map<String, String>> instanceParams,
@JsonProperty("rollbackOnFailure") boolean rollbackOnFailure,
- @JsonProperty("instanceId") String instanceId) {
+ @JsonProperty("instanceId") String instanceId,
+ @JsonProperty("trackById") String trackById,
+ @JsonProperty("isFailed") Boolean isFailed,
+ @JsonProperty("statusMessage") String statusMessage) {
this.modelInfo = modelInfo;
this.modelInfo.setModelType(getModelType());
this.rollbackOnFailure = rollbackOnFailure;
- this.instanceName = StringUtils.defaultString(instanceName, "");;
+ 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;
+ this.trackById = trackById;
+ this.isFailed = isFailed!= null ? isFailed: false;
+ this.statusMessage = statusMessage;
}
private Action actionStringToEnum(String actionAsString) {
@@ -90,7 +108,7 @@ public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
}
public Action getAction() {
- return action;
+ return (action == null ? Action.Create : action);
}
public String getLcpCloudRegionId() {
@@ -105,11 +123,49 @@ public abstract class BaseResource implements JobAdapter.AsyncJobRequest {
return instanceParams == null ? Collections.emptyList() : instanceParams;
}
- public boolean isRollbackOnFailure() { return rollbackOnFailure; }
+ public boolean isRollbackOnFailure() { return rollbackOnFailure; }
public String getInstanceId() {
return instanceId;
}
protected abstract String getModelType();
+
+ public String getTrackById() {
+ return trackById;
+ }
+
+ public void setTrackById(String trackById) {
+ this.trackById = trackById;
+ }
+
+ public Boolean getIsFailed() {
+ return isFailed;
+ }
+
+ public void setIsFailed(Boolean isFailed) {
+ this.isFailed = isFailed;
+ }
+
+ public void setInstanceId(String instanceId) {
+ this.instanceId = instanceId;
+ }
+
+ public void setAction(Action action) {
+ this.action = action;
+ }
+
+ public String getStatusMessage() {
+ return statusMessage;
+ }
+
+ public void setStatusMessage(String statusMessage) {
+ this.statusMessage = statusMessage;
+ }
+
+ @JsonIgnore
+ public abstract Collection<? extends BaseResource> getChildren();
+
+ @JsonIgnore
+ public abstract JobType getJobType();
}