Bug 1303711 - Error when creating a custom WorkItemHandler
Summary: Error when creating a custom WorkItemHandler
Keywords:
Status: CLOSED DUPLICATE of bug 1241550
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Business Central
Version: 6.2.0
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
: ---
Assignee: Jeremy Lindop
QA Contact: Lukáš Petrovický
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-01 17:48 UTC by Patrick Steiner
Modified: 2016-03-03 14:55 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-03 14:55:45 UTC
Type: Bug


Attachments (Terms of Use)

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 ***


Note You need to log in before you can comment on or make changes to this bug.