]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/DetachedAnswer.java
Use Equinox and Spring OSGi for SLC Detached
[gpl/argeo-slc.git] / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / DetachedAnswer.java
index b4279e0822dc97bfd6f7d75bbba8f04b579653d2..55789a04696f0b3d1b6a92694547aacc222938e5 100644 (file)
@@ -5,12 +5,14 @@ import java.util.Properties;
 public class DetachedAnswer implements DetachedCommunication {
        static final long serialVersionUID = 1l;
 
-       public static int PROCESSED = 0;
-       public static int ERROR = 1;
-       public static int SKIPPED = 2;
+       public final static int UNKOWN = -1;
+       public final static int PROCESSED = 0;
+       public final static int ERROR = 1;
+       public final static int SKIPPED = 2;
+       public final static int CLOSED_SESSION = 10;
 
        private Properties properties = new Properties();
-       private int status;
+       private int status = UNKOWN;
        private String log;
        private String uuid;
 
@@ -18,8 +20,12 @@ public class DetachedAnswer implements DetachedCommunication {
 
        }
 
-       public DetachedAnswer(DetachedRequest request, String message) {
+       public DetachedAnswer(DetachedRequest request) {
                uuid = request.getUuid();
+       }
+
+       public DetachedAnswer(DetachedRequest request, String message) {
+               this(request);
                log = message;
                status = PROCESSED;
        }
@@ -52,4 +58,28 @@ public class DetachedAnswer implements DetachedCommunication {
                return uuid;
        }
 
+       public void setUuid(String uuid) {
+               this.uuid = uuid;
+       }
+
+       public String getStatusAsString() {
+               return convertStatus(getStatus());
+       }
+
+       public static String convertStatus(int status) {
+               switch (status) {
+               case UNKOWN:
+                       return "UNKOWN";
+               case PROCESSED:
+                       return "PROCESSED";
+               case SKIPPED:
+                       return "SKIPPED";
+               case ERROR:
+                       return "ERROR";
+               case CLOSED_SESSION:
+                       return "CLOSED_SESSION";
+               default:
+                       throw new DetachedException("Unkown status " + status);
+               }
+       }
 }