[jboss-svn-commits] JBL Code SVN: r11204 - in labs/jbossesb/trunk/product/services/jbpm/src: main/java/org/jboss/soa/esb/services/jbpm/actions/impl and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Apr 22 12:59:39 EDT 2007


Author: estebanschifman
Date: 2007-04-22 12:59:39 -0400 (Sun, 22 Apr 2007)
New Revision: 11204

Modified:
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/Constants.java
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultCommandExecutorFactoryImpl.java
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultMessageFacadeFactoryImpl.java
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util/Helper.java
   labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/JbpmTestUtil.java
   labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/process_01.xml
Log:


Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/Constants.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/Constants.java	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/Constants.java	2007-04-22 16:59:39 UTC (rev 11204)
@@ -35,17 +35,19 @@
 	public static final String PROCESS_DEFINITION			="jbpmProcessDefinition";
 	public static final String PROCESS_DEFINITION_XML		="jbpmProcessDefinitionXml";
 	public static final String PROCESS_DEFINITION_NAME		="jbpmProcessDefName";
+	public static final String PROCESS_DEFINITION_ID		="jbpmProcessDefId";
 	public static final String PROCESS_DEFINITION_VERSION	="jbpmProcessDefVersion";
 	public static final String PROCESS_INSTANCE_ID			="jbpmProcessInstId";
 	public static final String PROCESS_HAS_ENDED			="jbpmProcessEnded";
 	public static final String TASK_INSTANCE_ID				="jbpmTaskInstId";
+	public static final String TASK_ID_LIST					="jbpmTaskIdList";
 	public static final String TOKEN_ID						="jbpmTokenId";
 	public static final String CREATE_START_TASK			="jbpmCreateStartTask";
 	public static final String INCLUDE_VARIABLES			="jbpmIncludeVariables";
 	public static final String INCLUDE_LOGS					="jbpmIncludeLogs";
-	public static final String VARIABLE_NAMES_LIST			="jbpmVariableNamesList";
+	public static final String VARIABLE_NAMES_ARRAY			="jbpmVariableNamesArray";
 	public static final String ACTOR_ID						="jbpmActorId";
-	public static final String ACTOR_LIST					="jbpmActorList";
+	public static final String ACTOR_NAMES_ARRAY			="jbpmActorNamesArray";
 	public static final String OVERWRITE_SWIMLANE			="jbpmOverwriteSwim";
 
 	public static final String TRANSITION_NAME				="jbpmTransitionName";
@@ -65,6 +67,7 @@
 	// tag names for xml configuration of actions
 	public static final String PROCESS_DEFINITION_XML_TAG	="ProcessDefinitionXml";
 	public static final String PROCESS_DEFINITION_NAME_TAG	="ProcessDefinitionName";
+	public static final String PROCESS_DEFINITION_ID_TAG	="ProcessDefinitionId";
 	public static final String TRANSITION_NAME_TAG			="TransitionName";
 	public static final String INCLUDE_ALL_VARS_TAG			="IncludeAllVariables";
 	public static final String INCLUDE_LOGS_TAG				="IncludeLogs";
@@ -72,6 +75,8 @@
 	public static final String ONE_VARIABLE_TAG				="variable";
 	public static final String ESB_VARNAME_TAG				="esbName";
 	public static final String JBPM_VARNAME_TAG				="jbpmName";
+	public static final String ACTORS_TAG					="Actors";
+	public static final String ONE_ACTOR_TAG				="actor";
 
 	public enum OpCode
 	{

Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultCommandExecutorFactoryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultCommandExecutorFactoryImpl.java	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultCommandExecutorFactoryImpl.java	2007-04-22 16:59:39 UTC (rev 11204)
@@ -22,18 +22,16 @@
 
 package org.jboss.soa.esb.services.jbpm.actions.impl;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.services.jbpm.Constants;
+import org.jboss.soa.esb.services.jbpm.actions.CommandExecutorFactory;
 import org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter;
-import org.jboss.soa.esb.services.jbpm.actions.CommandExecutorFactory;
 import org.jboss.soa.esb.services.jbpm.actions.CommandInterpreter.CommandExecutor;
 import org.jboss.soa.esb.services.jbpm.util.Helper;
-import org.jboss.soa.esb.util.Util;
 import org.jbpm.JbpmContext;
 import org.jbpm.command.CancelProcessInstanceCommand;
 import org.jbpm.command.CancelTokenCommand;
@@ -210,7 +208,7 @@
 		{
 			long 	taskId 	= Helper.getLongValue(request,Constants.TASK_INSTANCE_ID);
 			GetTaskInstanceCommand command = new GetTaskInstanceCommand(taskId);
-			String[] vars = Helper.getStringListValue(request,Constants.VARIABLE_NAMES_LIST);
+			String[] vars = (String[])Helper.getObjectValue(request,Constants.VARIABLE_NAMES_ARRAY);
 			if (null!=vars)
 			{
 				if (vars.length < 1)
@@ -245,13 +243,13 @@
 	{
 		public Message execute(Message request) throws Exception
 		{
-			String[] actors = Helper.getStringListValue(request,Constants.ACTOR_LIST);
+			String[] actors = (String[])Helper.getObjectValue(request,Constants.ACTOR_NAMES_ARRAY);
 			if (null==actors || actors.length<1)
-				throw new Exception(Helper.argumentException(Constants.ACTOR_LIST));
+				throw new Exception(Helper.argumentException(Constants.ACTOR_NAMES_ARRAY));
 			
 			GetTaskListCommand command = new GetTaskListCommand(actors);
 	
-			String[] vars = Helper.getStringListValue(request,Constants.VARIABLE_NAMES_LIST);
+			String[] vars = (String[])Helper.getObjectValue(request,Constants.VARIABLE_NAMES_ARRAY);
 			if (null!=vars)
 			{
 				if (vars.length < 1)
@@ -329,7 +327,7 @@
 			Long taskId 	= Helper.getLongValue(request,Constants.TASK_INSTANCE_ID);
 			if (null!=taskId)
 				command.setTaskInstanceId(taskId);
-			Map<String, Serializable> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
+			Map<String, Object> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
 			if (null!=variables)
 				command.setVariables(variables);
 	
@@ -370,10 +368,9 @@
 				
 			}
 	
-			Map<String, Serializable> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
+			Map<String, Object> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
 			if (null!=variables)
 				command.setVariables(variables);
-	
 			
 			return CommandInterpreter.doTheJob(command);
 		} // _______________________________
@@ -412,9 +409,12 @@
 		
 		private Message perform(Message request, boolean start) throws Exception
 		{
-			String processName = Helper.getStringValue(request,Constants.PROCESS_DEFINITION_NAME);
-			if (Util.isNullString(processName))
-				throw new Exception(Helper.argumentException(Constants.PROCESS_DEFINITION_NAME));
+			String processName  = Helper.getStringValue(request,Constants.PROCESS_DEFINITION_NAME);
+			Long   processDefId = Helper.getLongValue  (request,Constants.PROCESS_DEFINITION_ID);
+			if (null==processName && null==processDefId)
+				throw new Exception("Either "+Constants.PROCESS_DEFINITION_NAME
+						+" or "+Constants.PROCESS_DEFINITION_ID+" must have a valid value");
+
 			NewProcessInstanceCommand command = null;
 			if (start)
 			{
@@ -426,8 +426,11 @@
 			}
 			else
 				command = new NewProcessInstanceCommand(); 
-	
-			command.setProcessName(processName);
+
+			if (null!=processDefId)
+				command.setProcessId(processDefId);
+			if (null!=processName)
+				command.setProcessName(processName);
 			
 			String actorId	= Helper.getStringValue(request, Constants.ACTOR_ID);
 			if (null!=actorId)
@@ -435,7 +438,7 @@
 			Boolean createStartTask = Helper.getBooleanValue(request, Constants.CREATE_START_TASK);
 			if (null!=createStartTask)
 				command.setCreateStartTask(createStartTask);
-			Map<String, Serializable> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
+			Map<String, Object> variables = Helper.getVariablesMap(request, Constants.VARIABLE_VALUES);
 			if (null!=variables)
 				command.setVariables(variables);
 	

Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultMessageFacadeFactoryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultMessageFacadeFactoryImpl.java	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/DefaultMessageFacadeFactoryImpl.java	2007-04-22 16:59:39 UTC (rev 11204)
@@ -33,6 +33,8 @@
 import org.jboss.soa.esb.services.jbpm.internal.facades.DeployProcessDefinitionFacade;
 import org.jboss.soa.esb.services.jbpm.internal.facades.GetProcessInstanceFacade;
 import org.jboss.soa.esb.services.jbpm.internal.facades.GetTaskInstanceFacade;
+import org.jboss.soa.esb.services.jbpm.internal.facades.GetTaskListFacade;
+import org.jboss.soa.esb.services.jbpm.internal.facades.NewProcessInstanceFacade;
 
 /**
  * Default implementation of a message preprocessor factory
@@ -68,17 +70,17 @@
 		if 	(Constants.OpCode.DeployProcessDefinition		.equals(opCode))
 			return new DeployProcessDefinitionFacade(config);
 		if	(Constants.OpCode.GetProcessInstanceCommand		.equals(opCode))
-			return new GetProcessInstanceFacade(config);
+			return new GetProcessInstanceFacade		(config);
 		if	(Constants.OpCode.GetTaskInstanceCommand		.equals(opCode))
-			return new GetTaskInstanceFacade(config);
+			return new GetTaskInstanceFacade		(config);
 		if	(Constants.OpCode.GetTaskListCommand			.equals(opCode))
-			return null;
+			return new GetTaskListFacade			(config);
 		if	(Constants.OpCode.NewProcessInstanceCommand		.equals(opCode))
-			return null;
+			return new NewProcessInstanceFacade		(config, false);
 		if	(Constants.OpCode.SignalCommand					.equals(opCode))
 			return null;
 		if	(Constants.OpCode.StartProcessInstanceCommand	.equals(opCode))
-			return null;
+			return new NewProcessInstanceFacade		(config, true);
 		if	(Constants.OpCode.StartWorkOnTaskCommand		.equals(opCode))
 			return null;
 		if	(Constants.OpCode.TaskInstanceEndCommand		.equals(opCode))

Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util/Helper.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util/Helper.java	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util/Helper.java	2007-04-22 16:59:39 UTC (rev 11204)
@@ -1,6 +1,5 @@
 package org.jboss.soa.esb.services.jbpm.util;
 
-import java.io.Serializable;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
@@ -46,7 +45,7 @@
 	{
 		setObjectValue(message, key, value);
 	}
-	public static void setObjectValue(Message message, String key, Serializable value)
+	public static void setObjectValue(Message message, String key, Object value)
 	{
 		message.getBody().add(key, value);
 	}
@@ -73,7 +72,7 @@
 		setObjectValue(msg,key, sb.toString());
 	} //________________________________
 
-	public static void setVariablesMap(Message msg,String key,Map<String,Serializable> value) throws Exception
+	public static void setVariablesMap(Message msg,String key,Map<String,Object> value) throws Exception
 	{
 		msg.getBody().add(key, value);
 	} //________________________________
@@ -110,19 +109,6 @@
 		throw new Exception(argumentException(key));
 	} //________________________________
 
-	public static String[] getStringListValue(Message msg,String key) throws Exception
-	{
-		return getStringListValue(msg, key, null);
-	} //________________________________
-
-	public static String[] getStringListValue(Message msg,String key,String[] dflt) throws Exception
-	{
-		Object obj = msg.getBody().get(key);
-		if (null==obj)					return dflt;
-		if (obj instanceof String)		return ((String)obj).split(",");
-		throw new Exception(argumentException(key));
-	} //________________________________
-
 	public static String getStringValue(Message msg,String key) throws Exception
 	{
 		return getStringValue(msg, key, null);
@@ -136,11 +122,11 @@
 	} //________________________________
 
 	@SuppressWarnings("unchecked")
-	public static Map<String,Serializable>getVariablesMap(Message msg,String key) throws Exception
+	public static Map<String,Object>getVariablesMap(Message msg,String key) throws Exception
 	{
 		Object obj = msg.getBody().get(key);
 		if (null==obj)			return null;
-		if (obj instanceof Map)	return (Map<String,Serializable>)obj;
+		if (obj instanceof Map)	return (Map<String,Object>)obj;
 		throw new Exception(argumentException(key));
 	} //________________________________
 

Modified: labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/JbpmTestUtil.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/JbpmTestUtil.java	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/JbpmTestUtil.java	2007-04-22 16:59:39 UTC (rev 11204)
@@ -83,7 +83,7 @@
 		sb.append(getObject(message,Constants.ERROR_MESSAGE));
 		sb.append(getObject(message,Constants.EXCEPTION));
 		sb.append(getObject(message,Constants.ACTOR_ID));
-		sb.append(getObject(message,Constants.ACTOR_LIST));
+		sb.append(getObject(message,Constants.ACTOR_NAMES_ARRAY));
 		sb.append(getObject(message,Constants.CURRENT_NODE_NAME));
 		sb.append(getObject(message,Constants.JBPM_RETURN_OBJECT));
 		sb.append(getObject(message,Constants.PROCESS_DEFINITION_NAME));

Modified: labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/process_01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/process_01.xml	2007-04-22 16:46:31 UTC (rev 11203)
+++ labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/actions/process_01.xml	2007-04-22 16:59:39 UTC (rev 11204)
@@ -4,14 +4,10 @@
   xmlns="urn:jbpm.org:jpdl-3.1"
   name="simple">
    <start-state name="start">
-      <transition name="to_state" to="first">
-         
-      </transition>
+      <transition name="to_state" to="first" />
    </start-state>
    <state name="first">
-      <transition name="to_end" to="end">
-         
-      </transition>
+      <transition name="to_end" to="end" />
    </state>
    <end-state name="end"></end-state>
 </process-definition>
\ No newline at end of file




More information about the jboss-svn-commits mailing list