[jboss-user] [jBPM] - java.io.OptionalDataException when do ObjectInputStream.readObject()

TC ONG do-not-reply at jboss.com
Mon Apr 8 21:29:28 EDT 2013


TC ONG [https://community.jboss.org/people/devilkazuya99] created the discussion

"java.io.OptionalDataException when do ObjectInputStream.readObject()"

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

--------------------------------------------------------------
I am using jBPM 5.4.0 final here.
 https://community.jboss.org/servlet/JiveServlet/showImage/2-807101-20589/Screen+Shot+2013-04-09+at+8.52.26+AM.png  https://community.jboss.org/servlet/JiveServlet/downloadImage/2-807101-20589/272-239/Screen+Shot+2013-04-09+at+8.52.26+AM.png 

In me bpmn file I have a String variable in my process. I set it in "onEntry" scritp of my Human Task. Then map it to "Content" in data input association.
    <userTask id="_5" name="User Task" >
      <extensionElements>
        <tns:onEntry-script scriptFormat="http://www.java.com/java">
          <script>
*          String s = "How do you do?";*
*          kcontext.setVariable("content", s);*
          </script>
        </tns:onEntry-script>
      </extensionElements>
      <ioSpecification>
*        <dataInput id="_5_ContentInput" name="Content" />*
*        <dataOutput id="_5_answerOutput" name="answer" />*
        <inputSet>
          <dataInputRefs>_5_ContentInput</dataInputRefs>
        </inputSet>
        <outputSet>
          <dataOutputRefs>_5_answerOutput</dataOutputRefs>
        </outputSet>
      </ioSpecification>
*      <dataInputAssociation>*
*        <sourceRef>content</sourceRef>*
*        <targetRef>_5_ContentInput</targetRef>*
*      </dataInputAssociation>*
      <dataInputAssociation>
        <targetRef>_5_ContentInput</targetRef>
        <assignment>
          <from xsi:type="tFormalExpression"></from>
          <to xsi:type="tFormalExpression">_5_ContentInput</to>
        </assignment>
      </dataInputAssociation>
      <dataOutputAssociation>
        <sourceRef>_5_answerOutput</sourceRef>
        <targetRef>answer</targetRef>
      </dataOutputAssociation>
      <potentialOwner>
        <resourceAssignmentExpression>
          <formalExpression>nemo</formalExpression>
        </resourceAssignmentExpression>
      </potentialOwner>
    </userTask>

I hope to get the "Content" at the programming side. 

List<TaskSummary> taskSummaryList = localTaskService.getTasksAssignedAsPotentialOwner("nemo", "en-UK");
                              for (TaskSummary taskSummary : taskSummaryList) {
                                        System.out.println(taskSummary.getId() + "\t" + taskSummary.getName() + "\t" + taskSummary.getStatus());
                                        Task task = localTaskService.getTask(taskSummary.getId());
                                        long documentContentId = task.getTaskData().getDocumentContentId();
*                                        Content content = localTaskService.getContent(documentContentId);*
                                        System.out.println(content.getId() + " => " + content.toString());
                                        if (content != null){
                                ByteArrayInputStream bais = new ByteArrayInputStream(content.getContent());
                                ObjectInputStream ois;

                                try {
                                    ois = new ObjectInputStream(bais);
                                    *Object obj = ois.readObject();*
                                    logger.debug("Object = " + obj.getClass());
                                } catch (IOException e) {
                                    *e.printStackTrace();*
                               } catch (ClassNotFoundException e) {
                                    e.printStackTrace();

                                }
                            }
                                        localTaskService.start(taskSummary.getId(), "nemo");
                                        Map<String, Object> results = new HashMap<String, Object>();
                                        results.put("answer", "GOOD");
                                        localTaskService.completeWithResults(taskSummary.getId(), "nemo", results); 
                              }

The result on the console is:
1 => org.jbpm.task.Content at 74baaca4
java.io.OptionalDataException
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1358)
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
          at HelloJBPM5.main(HelloJBPM5.java:73)
--------------------------------------------------------------

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

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130408/94fc8062/attachment-0001.html 


More information about the jboss-user mailing list