TC ONG [https://community.jboss.org/people/devilkazuya99] created the discussion
"Re: Task Human - Parameter Mapping" To view the discussion, visit: https://community.jboss.org/message/729764#729764 -------------------------------------------------------------- I figured it out now. Step 1: Create a variable in your process. (I use userComms, it's my POJO) https://community.jboss.org/servlet/JiveServlet/showImage/2-729764-18391/Screen+shot+2012-04-13+at+1.27.17+PM.png https://community.jboss.org/servlet/JiveServlet/downloadImage/2-729764-18391/310-158/Screen+shot+2012-04-13+at+1.27.17+PM.png Step 2: In the Human Task Parameter Mapping, map my variable to "Content". (I always have this problem doing this. See https://community.jboss.org/message/729763#729763#729763 https://community.jboss.org/message/729763#729763 ) https://community.jboss.org/servlet/JiveServlet/showImage/2-729764-18392/Screen+shot+2012-04-13+at+1.29.21+PM.png https://community.jboss.org/servlet/JiveServlet/downloadImage/2-729764-18392/450-113/Screen+shot+2012-04-13+at+1.29.21+PM.png Step 3: [Optional] In the On Entry Action of the Human Task, I set the value of my POJO. You can do it any way you like. Question: is the kcontext.setVariable() necessary? > userComms = *new* UserComms(); > userComms.setQuestion("Hello World~!"); > > kcontext.setVariable("userComms", userComms); Step 4: Compile and run our process. Step 5: Accessing your variable from the task's "Content" > BlockingGetTaskResponseHandler > taskResponseHandler = new BlockingGetTaskResponseHandler(); > taskClient.getTask(task1.getId(), > taskResponseHandler); > Task task = taskResponseHandler.getTask(); > long documentContentId = task.getTaskData().getDocumentContentId(); > > UserComms userComms = new UserComms(); > BlockingGetContentResponseHandler > contentResponseHandler = new BlockingGetContentResponseHandler(); > taskClient.getContent(documentContentId, > contentResponseHandler); > Content content = > contentResponseHandler.getContent(); > > if (content != null){ > ByteArrayInputStream bais = new > ByteArrayInputStream(content.getContent()); > ObjectInputStream ois; > > try { > ois = new ObjectInputStream(bais); > Object obj = ois.readObject(); > System.out.println("Object = " + obj.getClass()); // > will return an empty string if not mapped properly > if(obj instanceof UserComms) { > userComms =(UserComms) obj; > System.out.println(userComms.getQuestion()); > } > } catch (IOException e) { > e.printStackTrace(); > } catch (ClassNotFoundException e) { > e.printStackTrace(); > > } > } And I got my POJO from the Content. Happy. :) -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/729764#729764] Start a new discussion in jBPM at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
