[overlord-commits] Overlord SVN: r1039 - bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/model.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Thu Apr 22 07:35:13 EDT 2010


Author: heiko.braun at jboss.com
Date: 2010-04-22 07:35:12 -0400 (Thu, 22 Apr 2010)
New Revision: 1039

Modified:
   bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/model/JSOParser.java
Log:
Fix BPMC-42: Current activity of a process instance is always 'n/a'

Modified: bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/model/JSOParser.java
===================================================================
--- bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/model/JSOParser.java	2010-04-22 09:49:28 UTC (rev 1038)
+++ bpm-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/model/JSOParser.java	2010-04-22 11:35:12 UTC (rev 1039)
@@ -94,7 +94,13 @@
         start, end,
         suspended
     );
-
+    
+    JSOModel rootTokenJson = root.getObject("rootToken");
+    
+    if (rootTokenJson != null) {
+      TokenReference rootToken = parseTokenReference(rootTokenJson);
+      processInstance.setRootToken(rootToken);
+    }
     // tokens
     /*JSONWalk.JSONWrapper rootTokenJSON = JSONWalk.on(root).next("rootToken");
     if (rootTokenJSON != null) {
@@ -108,6 +114,43 @@
   }
 
 
+  private static TokenReference parseTokenReference(JSOModel rootToken) {
+    TokenReference tokenReference = new TokenReference();
+    tokenReference.setId(rootToken.get("id"));
+    tokenReference.setCurrentNodeName(rootToken.get("currentNodeName"));
+    tokenReference.setCanBeSignaled(rootToken.getBoolean("canBeSignaled"));
+    
+    if (rootToken.hasKey("name")) {
+      tokenReference.setName(rootToken.get("name"));
+    }
+    
+    JsArray<JSOModel> tokenChildrenJson = rootToken.getArray("children");
+    // parse children elements
+    if (tokenChildrenJson != null) {
+      List<TokenReference> children = new ArrayList<TokenReference>();
+      
+      for (int i = 0; i < tokenChildrenJson.length(); i++) {
+        children.add(parseTokenReference(tokenChildrenJson.get(i)));
+      }
+      
+      tokenReference.setChildren(children);
+    }
+    
+    JsArray<JSOModel> tokenSignalsJson = rootToken.getArray("availableSignals");
+    // parse availableSignals elements
+    if (tokenSignalsJson != null) {
+      // this will be probably always an empty array - as described in ModelAdaptor in adoptExecution method
+      List<String> availableSignals = new ArrayList<String>();
+      for (int i = 0; i < tokenSignalsJson.length(); i++) {
+        availableSignals.add(tokenSignalsJson.get(i).toString());
+      }
+      
+      tokenReference.setAvailableSignals(availableSignals);
+    }
+    
+    return tokenReference;
+  }
+
   public static List<ReportReference> parseReportConfig(String json)
   {
     List<ReportReference> results = new ArrayList<ReportReference>();



More information about the overlord-commits mailing list