Tabnine Logo
org.jbpm.bpmn2.handler
Code IndexAdd Tabnine to your IDE (free)

How to use org.jbpm.bpmn2.handler

Best Java code snippets using org.jbpm.bpmn2.handler (Showing top 20 results out of 315)

origin: kiegroup/jbpm

/**
 * Constructs an {@link LoggingTaskHandlerDecorator} instance that wraps a
 * created instance of the {@link WorkItemHandler} class given. This
 * instance will only keep the given number of {@link WorkItemExceptionInfo}
 * instances instead of the default 100.
 * 
 * @param originalTaskHandlerClass
 * @param logLimit
 */
public LoggingTaskHandlerDecorator(Class<? extends WorkItemHandler> originalTaskHandlerClass, int logLimit) {
  super(originalTaskHandlerClass);
  initializeExceptionInfoList(logLimit);
}
origin: kiegroup/jbpm

@Override
public synchronized void handleExecuteException(Throwable cause, WorkItem workItem, WorkItemManager manager) {
  if (exceptionInfoList.size() == this.loggedExceptionsLimit) {
    exceptionInfoList.poll();
  }
  exceptionInfoList.add(new WorkItemExceptionInfo(workItem, cause, true));
  logMessage(true, workItem, cause);
}
origin: kiegroup/jbpm

@Override
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
  try {
    originalTaskHandler.abortWorkItem(workItem, manager);
  } catch( RuntimeException re ) { 
    handleAbortException(re, workItem, manager);
  }
}
origin: kiegroup/jbpm

@Test
public void testErrornousHandlerWithStrategyRetry() throws Exception {
   
  KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ScriptTask.bpmn2");
  KieSession ksession = createKnowledgeSession(kbase);
  ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ScriptTask", HandlingStrategy.RETRY);
  ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
  
  Map<String, Object> params = new HashMap<>();
  params.put("isChecked", false);
  ProcessInstance processInstance = ksession.startProcess("com.sample.boolean", params);
  assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
  assertProcessVarValue(processInstance, "isChecked", "true");
     
}

origin: kiegroup/jbpm

@Test
public void testFormatLoggingError() throws Exception {
  KieBase kbase = createKnowledgeBase("BPMN2-ExceptionThrowingServiceProcess.bpmn2");
  ksession = createKnowledgeSession(kbase);
  
  LoggingTaskHandlerDecorator loggingTaskHandlerWrapper = new LoggingTaskHandlerDecorator(ServiceTaskHandler.class, 2);
  loggingTaskHandlerWrapper.setLoggedMessageFormat("{0} - {1} - {2} - {3}");
  List<InputParameter> inputParameters = new ArrayList<LoggingTaskHandlerDecorator.InputParameter>();
  inputParameters.add(InputParameter.EXCEPTION_CLASS);
  inputParameters.add(InputParameter.WORK_ITEM_ID);
  inputParameters.add(InputParameter.WORK_ITEM_NAME);
  inputParameters.add(InputParameter.PROCESS_INSTANCE_ID);
  
  loggingTaskHandlerWrapper.setLoggedMessageInput(inputParameters);
  
  loggingTaskHandlerWrapper.setPrintStackTrace(false);
  ksession.getWorkItemManager().registerWorkItemHandler("Service Task", loggingTaskHandlerWrapper);
  Map<String, Object> params = new HashMap<String, Object>();
  params.put("serviceInputItem", "exception message");
  ksession.startProcess("ServiceProcess", params);
  ksession.startProcess("ServiceProcess", params);
  ksession.startProcess("ServiceProcess", params);
}
origin: kiegroup/jbpm

@Override
public void handleExecuteException(Throwable cause, WorkItem workItem, WorkItemManager manager) {
  if( getAndIncreaseExceptionCount(workItem.getProcessInstanceId()) < exceptionCountLimit ) { 
    workItem.getParameters().put(this.workItemExceptionParameterName, cause);
    ((org.drools.core.process.instance.WorkItemManager) manager).signalEvent(this.eventType, (org.drools.core.process.instance.WorkItem) workItem, workItem.getProcessInstanceId());
  } else { 
    if( cause instanceof RuntimeException ) { 
      throw (RuntimeException) cause;
    } else { 
      throw new WorkItemHandlerRuntimeException(cause, 
          "Signalling process instance " + workItem.getProcessInstanceId() + " with '" + this.eventType + "' resulted this exception.");
    }
  }
}
origin: kiegroup/jbpm

@Test
public void testLimitExceptionInfoList() throws Exception {
  KieBase kbase = createKnowledgeBase("BPMN2-ExceptionThrowingServiceProcess.bpmn2");
  ksession = createKnowledgeSession(kbase);
  
  LoggingTaskHandlerDecorator loggingTaskHandlerWrapper = new LoggingTaskHandlerDecorator(ServiceTaskHandler.class, 2);
  loggingTaskHandlerWrapper.setPrintStackTrace(false);
  ksession.getWorkItemManager().registerWorkItemHandler("Service Task", loggingTaskHandlerWrapper);
  Map<String, Object> params = new HashMap<String, Object>();
  params.put("serviceInputItem", "exception message");
  ksession.startProcess("ServiceProcess", params);
  ksession.startProcess("ServiceProcess", params);
  ksession.startProcess("ServiceProcess", params);
  int size = loggingTaskHandlerWrapper.getWorkItemExceptionInfoList().size(); 
  assertTrue( "WorkItemExceptionInfoList is too large: " + size, size == 2 );
}

origin: kiegroup/jbpm

@Test
public void testErrornousHandlerWithStrategyRethrow() throws Exception {
   
  KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ScriptTask.bpmn2");
  KieSession ksession = createKnowledgeSession(kbase);
  ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ScriptTask", HandlingStrategy.RETHROW);
  ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
  try {
    Map<String, Object> params = new HashMap<>();
    params.put("isChecked", false);
    ksession.startProcess("com.sample.boolean", params);
    fail("Should fail since strategy is rethrow");
  } catch (WorkflowRuntimeException e) {
    assertEquals("On purpose", e.getCause().getMessage());
  }        
}

origin: kiegroup/jbpm

@Test
public void testReceiveTask() throws Exception {
  KieBase kbase = createKnowledgeBase("BPMN2-ReceiveTask.bpmn2");
  ksession = createKnowledgeSession(kbase);
  ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler(ksession);
  ksession.getWorkItemManager().registerWorkItemHandler("Receive Task",
      receiveTaskHandler);
  WorkflowProcessInstance processInstance = (WorkflowProcessInstance) ksession
      .startProcess("ReceiveTask");
  assertProcessInstanceActive(processInstance);
  ksession = restoreSession(ksession, true);
  receiveTaskHandler.setKnowledgeRuntime(ksession);
  receiveTaskHandler.messageReceived("HelloMessage", "Hello john!");
  assertProcessInstanceFinished(processInstance, ksession);
}
origin: kiegroup/jbpm

@Override
public Map<String, WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime) {
  Map<String, WorkItemHandler> handlers = new HashMap<String, WorkItemHandler>();
  handlers.putAll(super.getWorkItemHandlers(runtime));
  handlers.put("Send Task", new SendTaskHandler());
  return handlers;
}
origin: kiegroup/jbpm

@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
  try {
    originalTaskHandler.executeWorkItem(workItem, manager);
  } catch( Throwable cause ) { 
    handleExecuteException(cause, workItem, manager);
  }
}

origin: kiegroup/jbpm

@BeforeClass
public static void setup() throws Exception {
  setUpDataSource();
}
origin: kiegroup/jbpm

@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
  // collect message content for verification
  messageContent.append(workItem.getParameter("Message"));
  super.executeWorkItem(workItem, manager);
}
origin: kiegroup/jbpm

@Override
public void handleAbortException(Throwable cause, WorkItem workItem, WorkItemManager manager) {
  if( getAndIncreaseExceptionCount(workItem.getProcessInstanceId()) < exceptionCountLimit ) { 
    workItem.getParameters().put(this.workItemExceptionParameterName, cause);
    ((org.drools.core.process.instance.WorkItemManager) manager).signalEvent(this.eventType, (org.drools.core.process.instance.WorkItem) workItem, workItem.getProcessInstanceId());
  }
}
origin: kiegroup/jbpm

@BeforeClass
public static void setup() throws Exception {
  setUpDataSource();
  VariableScope.setVariableStrictOption(false);
  WorkItemNodeInstance.setVariableStrictOption(false);
}

origin: kiegroup/jbpm

@Test
public void testErrornousHandlerWithStrategyComplete() throws Exception {
   
  KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ScriptTask.bpmn2");
  KieSession ksession = createKnowledgeSession(kbase);
  ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ScriptTask", HandlingStrategy.COMPLETE);
  ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
  ProcessInstance processInstance = ksession.startProcess("com.sample.boolean");
  assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
  
  assertProcessVarValue(processInstance, "isChecked", "true");
  
  WorkItem handledWorkItem = workItemHandler.getWorkItem();
  assertEquals(WorkItem.COMPLETED, handledWorkItem.getState());
}
origin: kiegroup/jbpm

@Override
public synchronized void handleAbortException(Throwable cause, WorkItem workItem, WorkItemManager manager) {
  if (exceptionInfoList.size() == this.loggedExceptionsLimit) {
    exceptionInfoList.poll();
  }
  exceptionInfoList.add(new WorkItemExceptionInfo(workItem, cause, false));
  logMessage(false, workItem, cause);
}
origin: kiegroup/jbpm

public synchronized void setLoggedExceptionInfoListSize(int loggedExceptionInfoListSize) {
  initializeExceptionInfoList(loggedExceptionInfoListSize);
}
origin: kiegroup/jbpm

@Test
public void testErrornousHandlerWithStrategyAbort() throws Exception {
   
  KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ScriptTask.bpmn2");
  KieSession ksession = createKnowledgeSession(kbase);
  ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ScriptTask", HandlingStrategy.ABORT);
  ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
  
  Map<String, Object> params = new HashMap<>();
  params.put("isChecked", false);
  ProcessInstance processInstance = ksession.startProcess("com.sample.boolean", params);
  assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
  assertProcessVarValue(processInstance, "isChecked", "false");
  
  WorkItem handledWorkItem = workItemHandler.getWorkItem();
  assertEquals(WorkItem.ABORTED, handledWorkItem.getState());
  
}

origin: kiegroup/jbpm

@Test
public void testErrornousHandlerWithStrategyCompleteWaitState() throws Exception {
   
  KieBase kbase = createKnowledgeBaseWithoutDumper("handler/BPMN2-UserTaskWithBooleanOutput.bpmn2", "handler/BPMN2-ReceiveTask.bpmn2");
  KieSession ksession = createKnowledgeSession(kbase);
  TestWorkItemHandler testHandler = new TestWorkItemHandler();
  ErrornousWorkItemHandler workItemHandler = new ErrornousWorkItemHandler("ReceiveTask", HandlingStrategy.COMPLETE);
  ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
  ksession.getWorkItemManager().registerWorkItemHandler("Receive Task", testHandler);
  ProcessInstance processInstance = ksession.startProcess("com.sample.boolean");
  assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
  
  WorkItem receiveWorkItem = testHandler.getWorkItem();
  
  Map<String, Object> results = new HashMap<>();
  results.put("Message", true);
  ksession.getWorkItemManager().completeWorkItem(receiveWorkItem.getId(), results);
      
  assertProcessVarValue(processInstance, "isChecked", "true");
  assertProcessInstanceCompleted(processInstance);
}

org.jbpm.bpmn2.handler

Most used classes

  • ServiceTaskHandler
  • WorkItemHandlerRuntimeException
    This exception provides extra information about the WorkItemHandler operation called to catchers of
  • SignallingTaskHandlerDecorator
    This class will wrap a WorkItemHandler instance so that an event (signal, error or other) can be sen
  • LoggingTaskHandlerDecorator
    This class is a WorkItemHandler implementation that is meant to wrapother WorkItemHandler implement
  • SendTaskHandler
  • ErrornousWorkItemHandler,
  • LoggingTaskHandlerDecorator$WorkItemExceptionInfo,
  • LoggingTaskHandlerWrapperTest,
  • ReceiveTaskHandler,
  • WorkItemHandlerExceptionHandlingTest
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now