Search in sources :

Example 26 with Error

use of org.jbpm.bpmn2.core.Error in project jbpm by kiegroup.

the class EventSubprocessTest method testErrorCodeException.

@Test
@BZ("1082111")
public void testErrorCodeException() {
    KieSession ksession = createKSession(ERROR_CODE_EXCEPTION);
    ksession.getWorkItemManager().registerWorkItemHandler("Request Handler", new SignallingTaskHandlerDecorator(ExceptionOnPurposeHandler.class, "Error-90277"));
    ksession.getWorkItemManager().registerWorkItemHandler("Error Handler", new SystemOutWorkItemHandler());
    try {
        ProcessInstance processInstance = ksession.startProcess(ERROR_CODE_EXCEPTION_ID);
        assertProcessInstanceNotActive(processInstance.getId(), ksession);
        Assertions.assertThat(((WorkflowProcessInstance) processInstance).getOutcome()).isEqualTo("90277");
    } catch (WorkflowRuntimeException e) {
        fail("Error code exceptions in subprocess does not work.");
    }
}
Also used : SystemOutWorkItemHandler(org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler) SignallingTaskHandlerDecorator(org.jbpm.bpmn2.handler.SignallingTaskHandlerDecorator) KieSession(org.kie.api.runtime.KieSession) WorkflowProcessInstance(org.jbpm.workflow.instance.WorkflowProcessInstance) ProcessInstance(org.kie.api.runtime.process.ProcessInstance) WorkflowRuntimeException(org.jbpm.workflow.instance.WorkflowRuntimeException) WorkflowProcessInstance(org.jbpm.workflow.instance.WorkflowProcessInstance) Test(org.junit.Test) BZ(qa.tools.ikeeper.annotation.BZ)

Example 27 with Error

use of org.jbpm.bpmn2.core.Error in project jbpm by kiegroup.

the class ServiceTaskHandler method getWSClient.

@SuppressWarnings("unchecked")
protected synchronized Client getWSClient(WorkItem workItem, String interfaceRef) {
    if (clients.containsKey(interfaceRef)) {
        return clients.get(interfaceRef);
    }
    long processInstanceId = ((WorkItemImpl) workItem).getProcessInstanceId();
    WorkflowProcessImpl process = ((WorkflowProcessImpl) ksession.getProcessInstance(processInstanceId).getProcess());
    List<Bpmn2Import> typedImports = (List<Bpmn2Import>) process.getMetaData("Bpmn2Imports");
    if (typedImports != null) {
        Client client = null;
        for (Bpmn2Import importObj : typedImports) {
            if (WSDL_IMPORT_TYPE.equalsIgnoreCase(importObj.getType())) {
                try {
                    client = dcf.createClient(importObj.getLocation(), new QName(importObj.getNamespace(), interfaceRef), getInternalClassLoader(), null);
                    clients.put(interfaceRef, client);
                    logger.info("WS Client is created for {" + importObj.getNamespace() + "}" + interfaceRef);
                    return client;
                } catch (Exception e) {
                    logger.info("Error when creating WS Client. You can ignore this error as long as a client is eventually created", e);
                    continue;
                }
            }
        }
    }
    return null;
}
Also used : Bpmn2Import(org.jbpm.bpmn2.core.Bpmn2Import) QName(javax.xml.namespace.QName) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) List(java.util.List) WorkflowProcessImpl(org.jbpm.workflow.core.impl.WorkflowProcessImpl) Client(org.apache.cxf.endpoint.Client) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Aggregations

Test (org.junit.Test)14 HashMap (java.util.HashMap)12 ArrayList (java.util.ArrayList)11 ProcessInstance (org.kie.api.runtime.process.ProcessInstance)11 List (java.util.List)9 KieBase (org.kie.api.KieBase)9 TestWorkItemHandler (org.jbpm.bpmn2.objects.TestWorkItemHandler)7 Error (org.jbpm.bpmn2.core.Error)6 WorkflowProcessInstance (org.jbpm.workflow.instance.WorkflowProcessInstance)6 WorkItem (org.kie.api.runtime.process.WorkItem)6 Map (java.util.Map)5 Collections (java.util.Collections)4 SignallingTaskHandlerDecorator (org.jbpm.bpmn2.handler.SignallingTaskHandlerDecorator)4 Person (org.jbpm.bpmn2.objects.Person)4 WorkflowProcessInstance (org.kie.api.runtime.process.WorkflowProcessInstance)4 CommandBasedStatefulKnowledgeSession (org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession)3 AdHocFragmentNotFoundException (org.jbpm.casemgmt.api.AdHocFragmentNotFoundException)3 CaseActiveException (org.jbpm.casemgmt.api.CaseActiveException)3 CaseCommentNotFoundException (org.jbpm.casemgmt.api.CaseCommentNotFoundException)3 CaseNotFoundException (org.jbpm.casemgmt.api.CaseNotFoundException)3