Sandeep Sapra [http://community.jboss.org/people/sandeepsapra] created the discussion
"jBPM5.1 : Setting Process Variable from code(Using API)" To view the discussion, visit: http://community.jboss.org/message/635990#635990 -------------------------------------------------------------- *Description :* I am trying to create a business process having two tasks : a) Enter Comments Task to be entered by author and b) Verify comments Task : To approve or reject comments entered by author. If the comments are approved the process will end and if it is rejected , control will flow back to user task to enter comments by author. Approve is set in BPMN by setting a process variable : approvalStatus as 1 and for reject it i set to 0. Eg: <conditionExpression xsi:type="tFormalExpression" language=" http://www.java.com/java http://www.java.com/java" > return approvalStatus.equals("1"); </conditionExpression> *Problem:* While starting the process, approvalStatus is set to 0 intially as : Map<String, Object> params = new HashMap<String, Object>(); params.put("approvalStatus", "0"); // start a new process instance pi = ksession.startProcess("com.sample.bpmn.comments",params); I am then trying to set the process variable as 1 or 0 (depending on approve or reject) inside the code , but the same is not happening. *Can anyone please tell if I am missing something or is there any other way to do so?* *Code Snippet:* //Some Code here..................... String approvalStatusValue="0"; if(isCommentsApproved) approvalStatusValue="1"; else approvalStatusValue="0"; Map<String, Object> results = new HashMap<String, Object>(); results.put("approvalStatus", approvalStatusValue); ContentData contentData = new ContentData(); contentData = new ContentData(); contentData.setAccessType(AccessType.Inline); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream out; try { out = new ObjectOutputStream(bos); out.writeObject(results); out.close(); contentData = new ContentData(); contentData.setContent(bos.toByteArray()); contentData.setAccessType(AccessType.Inline); } catch (IOException e) { e.printStackTrace(); } taskClient.complete(task1.getId(), "mary", contentData, taskOperationHandler); Thanks and Regards, Sandeep -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/635990#635990] Start a new discussion in jBPM at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
_______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user