Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / Job.java
index 77f348d..144c96c 100644 (file)
@@ -1,6 +1,7 @@
 package org.onap.vid.job;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import org.onap.vid.job.impl.JobSharedData;
 
 import java.util.Map;
 import java.util.UUID;
@@ -18,30 +19,49 @@ public interface Job {
     @JsonIgnore
     Map<String, Object> getData();
 
+    JobSharedData getSharedData();
+
     void setTypeAndData(JobType jobType, Map<String, Object> data);
 
     UUID getTemplateId();
 
     void setTemplateId(UUID templateId);
 
+    Integer getIndexInBulk();
+
     void setIndexInBulk(Integer indexInBulk);
 
     JobType getType();
 
     enum JobStatus {
-        COMPLETED(true),
-        FAILED(true),
+        COMPLETED(true, false),
+        FAILED(true, true),
         IN_PROGRESS(false),
+        RESOURCE_IN_PROGRESS(false),
         PAUSE(false),
         PENDING(false),
-        STOPPED(true);
+        STOPPED(true, true),
+        COMPLETED_WITH_ERRORS(true, true),
+        COMPLETED_WITH_NO_ACTION(true, false),
+        CREATING(false);
 
         private final Boolean finalStatus;
         public Boolean isFinal(){return finalStatus;}
 
+        private final Boolean failure;
+        public Boolean isFailure() {
+            return failure;
+        }
+
         JobStatus(Boolean finalStatus)
         {
-            this.finalStatus = finalStatus ;
+            this(finalStatus, false);
         }
+
+        JobStatus(Boolean finalStatus, boolean failure) {
+            this.finalStatus = finalStatus;
+            this.failure = failure;
+        }
+
     }
 }