[jbpm-commits] JBoss JBPM SVN: r2892 - in projects/gwt-console/trunk: rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3 and 5 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Nov 12 06:37:12 EST 2008
Author: heiko.braun at jboss.com
Date: 2008-11-12 06:37:11 -0500 (Wed, 12 Nov 2008)
New Revision: 2892
Added:
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/TokenReference.java
Modified:
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstance.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/util/SimpleDateParser.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/Transform.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java
Log:
Added token references to process instance DTO
Modified: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstance.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstance.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstance.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -22,6 +22,8 @@
package org.jboss.bpm.console.client.model;
+import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
+
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;
@@ -47,6 +49,8 @@
private transient Lifecycle lifecycle;
+ private TokenReference rootToken;
+
public ProcessInstance()
{
initLifecycle();
@@ -244,4 +248,14 @@
super("Illegal transition current " + current + " next " + next);
}
}
+
+ public TokenReference getRootToken()
+ {
+ return rootToken;
+ }
+
+ public void setRootToken(TokenReference rootToken)
+ {
+ this.rootToken = rootToken;
+ }
}
Added: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/TokenReference.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/TokenReference.java (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/TokenReference.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.client.model.jbpm3;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+ at XmlRootElement(name = "tokenReference")
+public class TokenReference
+{
+ private long id;
+ private Set<TokenReference> children = new HashSet<TokenReference>();
+
+ public TokenReference(long id)
+ {
+ this.id = id;
+ }
+
+ public Set<TokenReference> getChildren()
+ {
+ return children;
+ }
+}
Modified: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/util/SimpleDateParser.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/util/SimpleDateParser.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/util/SimpleDateParser.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -77,7 +77,7 @@
private String instructions = "";
- private static void _parse(String format, String[] args) {
+ private static void _parse(String format, String[] args) {
if (format.length() == 0)
return;
if (format.startsWith("'")){
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/Transform.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/Transform.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/Transform.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -24,12 +24,15 @@
import org.jboss.bpm.console.client.model.ProcessDefinition;
import org.jboss.bpm.console.client.model.ProcessInstance;
import org.jboss.bpm.console.client.model.TaskReference;
+import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
import org.jbpm.graph.def.Transition;
+import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.PooledActor;
import java.util.Date;
import java.util.List;
import java.util.Set;
+import java.util.Map;
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
@@ -48,9 +51,30 @@
boolean suspended = i0.isSuspended();
long processId = i0.getProcessDefinition().getId();
long instanceId = i0.getId();
- return new ProcessInstance(instanceId, processId, start, end, suspended);
+ ProcessInstance processInstance = new ProcessInstance(instanceId, processId, start, end, suspended);
+
+ // token
+ Token t0 = i0.getRootToken();
+ processInstance.setRootToken(Transform.tokenReference(t0));
+ return processInstance;
}
+ private static TokenReference tokenReference(Token t0)
+ {
+ TokenReference rootToken = new TokenReference(t0.getId());
+
+ Map children = t0.getChildren();
+ if(children!=null)
+ {
+ for(Object o : children.values())
+ {
+ Token t1 = (Token)o;
+ rootToken.getChildren().add( Transform.tokenReference(t1) );
+ }
+ }
+ return rootToken;
+ }
+
public static void doTransition(org.jbpm.graph.exe.ProcessInstance p0, String nextState)
{
ProcessInstance instance = Transform.processInstance(p0);
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -22,12 +22,12 @@
package org.jboss.bpm.console.client.model;
import com.google.gwt.json.client.*;
-import com.allen_sauer.gwt.log.client.Log;
import org.jboss.bpm.console.client.model.forms.FieldDef;
import org.jboss.bpm.console.client.model.forms.FormDef;
import org.jboss.bpm.console.client.util.JSONWalk;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -177,4 +177,24 @@
return formDef;
}
+ public static ProcessInstance parseProcessInstance(JSONObject root)
+ {
+
+ long id = JSONWalk.on(root).next("instanceId").asLong();
+ long parentId = JSONWalk.on(root).next("parentId").asLong();
+ Date start = JSONWalk.on(root).next("startDate").asDate();
+
+ JSONWalk.JSONWrapper endDateJSON = JSONWalk.on(root).next("endDate");
+ Date end = null;
+ if(endDateJSON!=null)
+ end = endDateJSON.asDate();
+
+ boolean suspended = JSONWalk.on(root).next("suspended").asBool();
+
+ return new ProcessInstance(
+ id, parentId,
+ start, end,
+ suspended
+ );
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceList.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -22,6 +22,8 @@
package org.jboss.bpm.console.client.process;
import com.google.gwt.http.client.*;
+import com.google.gwt.core.client.JavaScriptObject;
+import com.google.gwt.json.client.JSONObject;
import com.gwtext.client.data.*;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.MessageBoxConfig;
@@ -32,6 +34,7 @@
import org.jboss.bpm.console.client.util.DateRenderer;
import org.jboss.bpm.console.client.model.ProcessDefinition;
import org.jboss.bpm.console.client.model.ProcessInstance;
+import org.jboss.bpm.console.client.model.DTOParser;
import org.jboss.bpm.console.client.widgets.RemoteListView;
import java.util.HashMap;
@@ -175,13 +178,26 @@
public static ProcessInstance transform(Record r)
{
- ProcessInstance pd = new ProcessInstance(
+ /*ProcessInstance processInstance = new ProcessInstance(
Long.valueOf(r.getAsString("instanceId")),
Long.valueOf( r.getAsString("parentId")),
r.getAsDate("startDate"),
r.getAsDate("endDate"),
- r.getAsBoolean("suspended"));
- return pd;
+ r.getAsBoolean("suspended"));*/
+
+ ProcessInstance processInstance = null;
+ try
+ {
+ JavaScriptObject js = r.getDataAsJsObject();
+ JSONObject jso = new JSONObject(js);
+ processInstance = DTOParser.parseProcessInstance(jso);
+ }
+ catch (Throwable t)
+ {
+ Log.error("Failed to parse process instance", t);
+ }
+
+ return processInstance;
}
protected ColumnModel createColumnModel()
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -95,10 +95,11 @@
PaddedPanel tabPadding = new PaddedPanel(tabPanel, 0,10,0,10);
+ // ----------------------------------------
+
Panel detailsForm = assembleDetailsForm();
+
- // ----------------------------------------
-
tabPanel.add(detailsForm);
tabPanel.add( new Panel("Advanced") );
// ----------------------------------
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java 2008-11-12 11:00:17 UTC (rev 2891)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java 2008-11-12 11:37:11 UTC (rev 2892)
@@ -27,7 +27,10 @@
import com.google.gwt.json.client.JSONArray;
import java.util.Iterator;
+import java.util.Date;
+import org.jboss.bpm.console.client.model.util.SimpleDateParser;
+
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
@@ -141,6 +144,19 @@
}
}
+ public Date asDate()
+ {
+ if(value.isString()!=null)
+ {
+ return SimpleDateParser.parse(value.isString().stringValue(), "dd-MM-yy HH:mm:ss");
+ }
+ else
+ {
+ throw new IllegalArgumentException("Not a date string: " + value);
+ }
+ }
+
+
public JSONArray asArray()
{
if(value.isArray()!=null)
More information about the jbpm-commits
mailing list