]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/DetachedSession.java
Simplify DetachedExecutionServerImpl, make DetachedAdminCommand optional, correct...
[gpl/argeo-slc.git] / runtime / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / DetachedSession.java
index 5c7884fe56f327baa771dbed287ab76854dea671..a3931eb477c9d8c3352cbb595dd598c10fa2e440 100644 (file)
@@ -1,5 +1,6 @@
 package org.argeo.slc.detached;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
 
@@ -12,7 +13,8 @@ public class DetachedSession {
        private String uuid = null;
        private List requests = new Vector();
        private List answers = new Vector();
-       private String doItAgainPolicy = SKIP_UNTIL_ERROR;
+       private String doItAgainPolicy = REPLAY;
+       private List refreshedBundleNames = new ArrayList();
 
        public boolean isClosed() {
                if (answers.size() > 0) {
@@ -23,6 +25,23 @@ public class DetachedSession {
                        return false;
                }
        }
+       
+       public boolean lastActionIsError() {
+               if (answers.size() > 0) {
+                       DetachedAnswer answer = (DetachedAnswer) answers
+                                       .get(answers.size() - 1);
+                       return answer.getStatus() == DetachedAnswer.ERROR;
+               } else {
+                       return false;
+               }
+       }
+       
+       public int getExecutedStepCount() {
+               if(requests.size() != answers.size()) {
+                       throw new DetachedException("requests.size() != answers.size() in DetachedSession");
+               }
+               return answers.size();
+       }
 
        public String getDoItAgainPolicy() {
                return doItAgainPolicy;
@@ -48,6 +67,10 @@ public class DetachedSession {
                return answers;
        }
 
+       public List getRefreshedBundleNames() {
+               return refreshedBundleNames;
+       }
+
        public String toString() {
                StringBuffer buf = new StringBuffer(getClass().getName());
                buf.append("#").append(uuid);