Bug 1303711

Summary: Error when creating a custom WorkItemHandler
Product: [Retired] JBoss BPMS Platform 6 Reporter: Patrick Steiner <psteiner>
Component: Business CentralAssignee: Jeremy Lindop <jlindop>
Status: CLOSED DUPLICATE QA Contact: Lukáš Petrovický <lpetrovi>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: omolinab
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-03 14:55:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Patrick Steiner 2016-02-01 17:48:35 UTC
Description of problem:

In certain szenarios using a custom workitemhandler causes errors when saving a process model with the custom workitemhandler in it.


Version-Release number of selected component (if applicable):

6.2

Steps to Reproduce:
1) Create Class  

public class LightWorkItemHandler {

 

 public void abortWorkItem(WorkItem wi, WorkItemManager wim) {

       System.out.println("Oh no, my item aborted..");

  }


  public void executeWorkItem(WorkItem wi, WorkItemManager wim) { 

       wim.completeWorkItem(wi.getId(), null);

  }

}


2)  Imported it to the repository via "Authoring" -> "Artefact Repository"

  

3) Add to my project as a project dependency


4) Registered in ./jboss-eap-6.4/standalone/deployments/business-central.war/WEB-INF/classes/META-INF/kie-wb-deployment-descriptor.xml


       <workItemHandler name="LightController" type="new com.redhat.demo.iotdemo.LightWorkItemHandler()"/>


5) Created new Work Item Definition

import org.drools.core.process.core.datatype.impl.type.StringDataType;

import org.drools.core.process.core.datatype.impl.type.ObjectDataType;

[

  [

    "name" : "LightController", 

    "results" : [ 

        "Result" : new ObjectDataType("java.util.Map") 

    ], 

    "displayName" : "My LightController", 

    "icon" : "../../../../../../../../../global/defaultlogicon.gif" 

  ]

]



Actual results:
bpm_1      | 20:35:00,424 ERROR [org.jbpm.designer.bpmn2.impl.Bpmn2JsonUnmarshaller] (http-/0.0.0.0:8080-7) 0

bpm_1      | 20:35:00,427 ERROR [stderr] (http-/0.0.0.0:8080-7) java.lang.NullPointerException

bpm_1      | 20:35:00,428 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.bpmn2.util.Bpmn2ResourceImpl.setIdEvenIfSet(Bpmn2ResourceImpl.java:157)

bpm_1      | 20:35:00,429 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.bpmn2.util.Bpmn2ResourceImpl.prepareSave(Bpmn2ResourceImpl.java:126)

bpm_1      | 20:35:00,430 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.bpmn2.resource.JBPMBpmn2ResourceImpl.createXMLSave(JBPMBpmn2ResourceImpl.java:58)

bpm_1      | 20:35:00,431 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:192)

bpm_1      | 20:35:00,431 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1406)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$1.parseModel(JbpmProfileImpl.java:238)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.repository.servlet.AssetServiceServlet.doPost(AssetServiceServlet.java:121)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:53)

bpm_1      | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:45)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)

bpm_1      | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)

bpm_1      | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)

bpm_1      | 20:35:00,435 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)

bpm_1      | 20:35:00,437 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)

bpm_1      | 20:35:00,438 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)

bpm_1      | 20:35:00,439 ERROR [stderr] (http-/0.0.0.0:8080-7) at java.lang.Thread.run(Thread.java:745)

bpm_1      | 20:35:00,440 ERROR [org.jbpm.designer.repository.servlet.AssetServiceServlet] (http-/0.0.0.0:8080-7) Error storing asset: null

Expected results:


Additional info:

Comment 2 Oscar Molina 2016-02-26 15:39:18 UTC
Hi team,

We have the same problem. Anyone knows if there is any workaround? Our customer is blocked in this step because they cannot include their custom workitemhandler in the process.

Regards,
Oscar.

Comment 3 Jeremy Lindop 2016-03-03 14:50:14 UTC
This looks like the same bug as https://bugzilla.redhat.com/show_bug.cgi?id=1241550

As a workaround, adding a parameter to the WorkItemHandler, remembering to also add the parameter to the definition in the WorkItemDefinitions should work.

Comment 4 Jeremy Lindop 2016-03-03 14:55:45 UTC

*** This bug has been marked as a duplicate of bug 1241550 ***