Discussion:
[jboss-user] [jBPM] - How to set a process variable from java code ?
Ouadi BEL
2013-03-22 12:04:46 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804254#804254

--------------------------------------------------------------
Hi, 

In my web application using a jBPM5 process, after starting my process (with a collection of process variables) and completing some tasks, when the process execution achieve a "Gateway", the process engine need to have a value of a process variable in order to continue the process execution flow.

How I can pass the value of this process variable to process execution from a java class code ?

Thanks in advance,
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804254#804254]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Sandra Renaud
2013-03-22 12:27:13 UTC
Permalink
Sandra Renaud [https://community.jboss.org/people/joploya] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804260#804260

--------------------------------------------------------------
Hello,

You need to retrieve the WorkflowProcessInstance : (WorkflowProcessInstance)kSession.getProcessInstance(processInstanceId);
Then :  workflowProcessInstance.setVariable("formValid", formValid);

But after server restart workflowProcessInstance can be null and I don't find how to solve this problem.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804260#804260]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Shobhit Tyagi
2013-03-22 14:35:23 UTC
Permalink
Shobhit Tyagi [https://community.jboss.org/people/roxy1987] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804304#804304

--------------------------------------------------------------
Use this code when completing a task :

client.start(id, user)
Map<String, Object> var= new HashMap<String, Object>();
firstHtOutputMap.put("variable", "value");


ContentData contentData = ContentMarshallerHelper.marshal(var, null);
client.complete(id, user, contentData);

--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804304#804304]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-25 09:23:59 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804538#804538

--------------------------------------------------------------
you can find information about how to access process variables (and similarly alter them) in the http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-basics.html#sec.data documentation.

HTH
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804538#804538]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 11:19:25 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804807#804807

--------------------------------------------------------------
Any help please ?
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804807#804807]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-26 15:51:12 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804880#804880

--------------------------------------------------------------
could you upload your bpmn2 file so we could check if it has proper mapping?
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804880#804880]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 16:05:39 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804885#804885

--------------------------------------------------------------
Here it is,

But I assume that the problem is "p_isCurrencyValidated" process variable is NULL, but why ???

Thanks
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804885#804885]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 16:34:06 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804891#804891

--------------------------------------------------------------
Here is how I start my process :



 
 
 
 
private static Map<String, Object> initialParams = new HashMap<String, Object>();
 
initialParams.put(p_userAutentified, "maker");
 
 
 
 
 
 
 
 
// Starting a process instance
 
 
 
 
 
 
ksession.startProcess("workflowMakerCheckerV1", initialParams);
 
 
 
 
 
 
 
 
 
 
 
 
logger.info("Process was successfully strated");
 
 
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804891#804891]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-26 16:44:56 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804895#804895

--------------------------------------------------------------
ok, looking at your process definition seems like you don't map properly task output to the process variable. On "check the new currency" you map Result to the variable but according to your previous post you use another name for task completion - "o_validationResult"

So make sure you provide the right values for the mapping and when completing the task and you should be good to go.

HTH
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804895#804895]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 16:55:33 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804898#804898

--------------------------------------------------------------
So, I'm sorry, I have changing my workflow configuration since this morning;

So, I'm rolling back all the changes in order to have the same configuration described in my previouse post with screen prints.

Now, my BPMN2 file is updated above.

You can check it now.

Thanks for your helps.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804898#804898]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-26 16:57:53 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804899#804899

--------------------------------------------------------------
could you attach both, process definition (bpmn2) and code that you use to start and complete tasks.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804899#804899]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 17:29:40 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804903#804903

--------------------------------------------------------------
After verifing the code that complete the task, I find that I forget passing the DataContent parameter in complete method :

Old code :
client.complete(aTaskId, aOwnerId, null, responseHandler);

Correct code :
client.complete(aTaskId, aOwnerId, contentData, responseHandler);

But after executing my process, this error appears :


17:17:46,192 ERROR [org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler] (NioProcessor-6) null: java.io.OptionalDataException
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1358) [rt.jar:1.7.0_15]
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369) [rt.jar:1.7.0_15]
          at org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler$GetResultContentResponseHandler.execute(CommandBasedWSHumanTaskHandler.java:330) [jbpm-human-task-mina-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.task.service.mina.MinaTaskClientHandler.messageReceived(MinaTaskClientHandler.java:47) [jbpm-human-task-mina-5.4.0.Final.jar:5.4.0.Final]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.1.jar:]
          at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) [mina-core-2.0.1.jar:]
          at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078) [mina-core-2.0.1.jar:]
          at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.1.jar:]
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_15]
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_15]
          at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_15]



Thank you very mu for your *high-professional* response.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804903#804903]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-26 17:34:34 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804905#804905

--------------------------------------------------------------
since you use 5.4 you could make use of client.completeWithResults method so you don't need to deal with marshalling of data. With that method you simply give the map with output parameters as results and it will do the required marshalling.

HTH
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804905#804905]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 22:28:40 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804934#804934

--------------------------------------------------------------
So, how I can solve this problem ?
And how can I use client.completeWithResults method ?
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804934#804934]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-27 11:42:35 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805016#805016

--------------------------------------------------------------
Here is my compete taskmethod code :

TaskClient client = null;
 
try {
      client = connectToTaskServer(TASK_SERVER_HOST_IP_ADD,
                                                  TASK_SERVER_PORT);
 
      BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
 
     Map<String, Object> taskVariables = new HashMap<String, Object>();
     // Currency validation accepted
 
     taskVariables.put("o_validationResult", true);
 
 
      client.completeWithResults(aTaskId, aOwnerId, taskVariables, responseHandler);
 
      responseHandler.waitTillDone(2000);
 
      client.disconnect();
 
 
} catch (Exception e) {
    try {
          client.disconnect();
    } catch (Exception e1) {
         e1.printStackTrace();
    }
      e.printStackTrace();
      logger.error("Unable to completing the Task '" + aTaskId
                         + "' assigned to user '" + aOwnerId + "' : " + e.toString());
      throw new TaskManagerException("Unable to completing the Task '"
                         + aTaskId + "' assigned to user '" + aOwnerId + "' : "
                         + e.toString(), e);
}


After hard searching in the net, I'm not able to detect where this exception triggered !

Here is exception javadoc :

http://docs.oracle.com/javase/6/docs/api/java/io/OptionalDataException.html http://docs.oracle.com/javase/6/docs/api/java/io/OptionalDataException.html

Thanks in advance.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805016#805016]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-28 16:04:39 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805336#805336

--------------------------------------------------------------
I've find the solution of this probelm.

In order to solve this problem, we need to use this version of task complete method:


    BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
 
   Map<String, Object> taskVariables = new HashMap<String, Object>();
   taskVariables.put(new String("o_validationResult"),Boolean.valueOf(true));
 
  ContentData contentData = null;
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream out;
    try {
      out = new ObjectOutputStream(bos);
      out.writeObject(taskVariables);
      out.close();
      contentData = new ContentData();
      contentData.setContent(bos.toByteArray());
      contentData.setAccessType(AccessType.Inline);
    } catch (IOException ioe) {
                 ioe.printStackTrace();
    }
 
    client.complete(aTaskId, aOwnerId, contentData, responseHandler);
 


With this code the task completion with a map of variables must done successfully.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805336#805336]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-29 16:29:58 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805538#805538

--------------------------------------------------------------
if that code resolved your issue please double check if you use 5.4 libraries as that approach was used before 5.4

HTH
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805538#805538]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-29 16:49:48 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805549#805549

--------------------------------------------------------------
Yes, of course I use jBPM 5.4 and Drools 5.5.0
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805549#805549]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Maciej Swiderski
2013-03-29 17:12:12 UTC
Permalink
Maciej Swiderski [https://community.jboss.org/people/swiderski.maciej] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805553#805553

--------------------------------------------------------------
all ht related operations in 5.4 are based on ContentMarshallerHelper and thus serializing it with ObjectOutputStream will not work unless you use deprecated HT work item handler that uses ObjectInputStream for serialization. So question is what HT work item handler do you use?
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805553#805553]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BELMOKHTAR
2013-03-29 17:56:52 UTC
Permalink
Ouadi BELMOKHTAR [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/805564#805564

--------------------------------------------------------------
I use CommandBasedWSHumanTaskHandler
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/805564#805564]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Ouadi BEL
2013-03-26 00:37:08 UTC
Permalink
Ouadi BEL [https://community.jboss.org/people/ouadi_dev] created the discussion

"Re: How to set a process variable from java code ?"

To view the discussion, visit: https://community.jboss.org/message/804746#804746

--------------------------------------------------------------
Thanks all for reply.

But after using your suggestions, this ERROR appeare :

ERROR [org.drools.persistence.SingleSessionCommandService] (NioProcessor-6) Could not commit session: org.jbpm.workflow.instance.WorkflowRuntimeException: [workflowMakerCheckerV1:80 - Est valider:7] -- *Exception when trying to evaluate constraint No in split Est valider*
          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:132) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.HumanTaskNodeInstance.triggerCompleted(HumanTaskNodeInstance.java:90) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121) [drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
          at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69) [drools-core-5.5.0.Final.jar:5.5.0.Final]
          at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32) [drools-core-5.5.0.Final.jar:5.5.0.Final]
          at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36) [drools-core-5.5.0.Final.jar:5.5.0.Final]
          at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:373) [drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
          at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150) [drools-core-5.5.0.Final.jar:5.5.0.Final]
          at org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler$GetCompletedTaskResponseHandler.execute(CommandBasedWSHumanTaskHandler.java:307) [jbpm-human-task-mina-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:81) [jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.task.service.mina.MinaTaskClientHandler.messageReceived(MinaTaskClientHandler.java:47) [jbpm-human-task-mina-5.4.0.Final.jar:5.4.0.Final]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.1.jar:]
          at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) [mina-core-2.0.1.jar:]
          at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66) [mina-core-2.0.1.jar:]
          at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078) [mina-core-2.0.1.jar:]
          at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.1.jar:]
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_15]
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_15]
          at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_15]
Caused by: java.lang.RuntimeException: Exception when trying to evaluate constraint No in split Est valider
          at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:79) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          ... 40 more
Caused by: java.lang.RuntimeException: unable to execute ReturnValueEvaluator:
          at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:132) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:72) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          ... 41 more
Caused by: java.lang.NullPointerException
          at s2mPackage.Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bf.returnValueEvaluator5(Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bf.java:38)
          at s2mPackage.Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bfReturnValueEvaluator5Invoker.evaluate(Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bfReturnValueEvaluator5Invoker.java:15)
          at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:130) [jbpm-flow-5.4.0.Final.jar:5.4.0.Final]
          ... 42 more


00:18:35,572 ERROR [stderr] (NioProcessor-6) org.jbpm.workflow.instance.WorkflowRuntimeException: [workflowMakerCheckerV1:80 - Est valider:7] -- Exception when trying to evaluate constraint No in split Est valider
00:18:35,580 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:132)
00:18:35,580 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
00:18:35,581 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
00:18:35,581 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
00:18:35,582 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
00:18:35,589 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
00:18:35,590 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
00:18:35,590 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.HumanTaskNodeInstance.triggerCompleted(HumanTaskNodeInstance.java:90)
00:18:35,591 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
00:18:35,595 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
00:18:35,596 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
00:18:35,596 ERROR [stderr] (NioProcessor-6)           at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
00:18:35,604 ERROR [stderr] (NioProcessor-6)           at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69)
00:18:35,614 ERROR [stderr] (NioProcessor-6)           at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32)
00:18:35,616 ERROR [stderr] (NioProcessor-6)           at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
00:18:35,617 ERROR [stderr] (NioProcessor-6)           at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:373)
00:18:35,617 ERROR [stderr] (NioProcessor-6)           at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
00:18:35,618 ERROR [stderr] (NioProcessor-6)           at org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler$GetCompletedTaskResponseHandler.execute(CommandBasedWSHumanTaskHandler.java:307)
00:18:35,620 ERROR [stderr] (NioProcessor-6)           at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:81)
00:18:35,622 ERROR [stderr] (NioProcessor-6)           at org.jbpm.task.service.mina.MinaTaskClientHandler.messageReceived(MinaTaskClientHandler.java:47)
00:18:35,623 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
00:18:35,623 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
00:18:35,632 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
00:18:35,632 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
00:18:35,643 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)
00:18:35,644 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)
00:18:35,644 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
00:18:35,645 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
00:18:35,646 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
00:18:35,649 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
00:18:35,650 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
00:18:35,655 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
00:18:35,656 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692)
00:18:35,658 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645)
00:18:35,658 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634)
00:18:35,659 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66)
00:18:35,659 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078)
00:18:35,660 ERROR [stderr] (NioProcessor-6)           at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
00:18:35,663 ERROR [stderr] (NioProcessor-6)           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
00:18:35,663 ERROR [stderr] (NioProcessor-6)           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
00:18:35,664 ERROR [stderr] (NioProcessor-6)           at java.lang.Thread.run(Thread.java:722)
00:18:35,665 ERROR [stderr] (NioProcessor-6) *Caused by: java.lang.RuntimeException: Exception when trying to evaluate constraint No in split Est valider*
00:18:35,666 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:79)
00:18:35,666 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
00:18:35,667 ERROR [stderr] (NioProcessor-6)           ... 40 more
00:18:35,668 ERROR [stderr] (NioProcessor-6) Caused by: java.lang.RuntimeException: unable to execute ReturnValueEvaluator:
00:18:35,669 ERROR [stderr] (NioProcessor-6)           at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:132)
00:18:35,671 ERROR [stderr] (NioProcessor-6)           at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:72)
00:18:35,672 ERROR [stderr] (NioProcessor-6)           ... 41 more
00:18:35,672 ERROR [stderr] (NioProcessor-6) *Caused by: java.lang.NullPointerException*
00:18:35,672 ERROR [stderr] (NioProcessor-6)           at s2mPackage.Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bf.returnValueEvaluator5(Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bf.java:38)
00:18:35,676 ERROR [stderr] (NioProcessor-6)           at s2mPackage.Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bfReturnValueEvaluator5Invoker.evaluate(Process_s2mPackage_Proposition_and_validation_or_ignore_new_currency_e94d9a99449f45b497de249c5379a3bfReturnValueEvaluator5Invoker.java:15)
00:18:35,677 ERROR [stderr] (NioProcessor-6)           at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:130)


This is the GateWay "Est valider" constrainte :

Loading Image... Loading Image...

Yes :

Loading Image... Loading Image...

No :

Loading Image... Loading Image...

HumanTask Result Mapping config :

Loading Image... Loading Image...

Java code that set the task variable in order to copy it in process variable in order to continue the process flow execution is :

Map<String, Object> taskVariables = new HashMap<String, Object>();
                                        // Currency validation accepted
                                        taskVariables.put("o_validationResult", true);
                                        ContentData contentData = ContentMarshallerHelper.marshal(
                                                            taskVariables, null);
                                        //
                                        isCompleted = taskClientManager.completeTask(
                                                            taskIdAssociatedToActualCurrency, loggedInUser,
                                                            contentData);

Where is the problem please !
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/804746#804746]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
Loading...