use of org.kie.api.runtime.manager.RuntimeManager in project jbpm by kiegroup.
the class EvaluationExample2 method main.
public static final void main(String[] args) {
try {
RuntimeManager manager = getRuntimeManager("evaluation/Evaluation2.bpmn");
RuntimeEngine runtime = manager.getRuntimeEngine(null);
KieSession ksession = runtime.getKieSession();
// start a new process instance
Map<String, Object> params = new HashMap<String, Object>();
params.put("employee", "krisv");
params.put("reason", "Yearly performance evaluation");
ksession.startProcess("com.sample.evaluation", params);
// "krisv" executes his own performance evaluation
TaskService taskService = runtime.getTaskService();
TaskSummary task1 = taskService.getTasksAssignedAsPotentialOwner("krisv", "en-UK").get(0);
System.out.println("Krisv executing task " + task1.getName() + "(" + task1.getId() + ": " + task1.getDescription() + ")");
taskService.start(task1.getId(), "krisv");
taskService.complete(task1.getId(), "krisv", null);
// "john", part of the "PM" group, executes a performance evaluation
TaskSummary task2 = taskService.getTasksAssignedAsPotentialOwner("john", "en-UK").get(0);
System.out.println("John executing task " + task2.getName() + "(" + task2.getId() + ": " + task2.getDescription() + ")");
System.out.println(taskService.getTasksAssignedAsPotentialOwner("john", "en-UK").size());
taskService.claim(task2.getId(), "john");
taskService.start(task2.getId(), "john");
taskService.complete(task2.getId(), "john", null);
// "mary", part of the "HR" group, delegates a performance evaluation
TaskSummary task3 = taskService.getTasksAssignedAsPotentialOwner("mary", "en-UK").get(0);
System.out.println("Mary delegating task " + task3.getName() + "(" + task3.getId() + ": " + task3.getDescription() + ") to krisv");
taskService.claim(task3.getId(), "mary");
taskService.delegate(task3.getId(), "mary", "krisv");
// "administrator" delegates the task back to mary
System.out.println("Administrator delegating task back to mary");
taskService.delegate(task3.getId(), "Administrator", "mary");
// mary executing the task
TaskSummary task3b = taskService.getTasksAssignedAsPotentialOwner("mary", "en-UK").get(0);
System.out.println("Mary executing task " + task3b.getName() + "(" + task3b.getId() + ": " + task3b.getDescription() + ")");
taskService.start(task3b.getId(), "mary");
taskService.complete(task3b.getId(), "mary", null);
System.out.println("Process instance completed");
manager.disposeRuntimeEngine(runtime);
} catch (Throwable t) {
t.printStackTrace();
}
System.exit(0);
}
use of org.kie.api.runtime.manager.RuntimeManager in project jbpm by kiegroup.
the class ExceptionHandlingErrorExample method runExample.
public static ProcessInstance runExample() {
// load up the knowledge base
RuntimeManager manager = createManager();
KieSession ksession = manager.getRuntimeEngine(null).getKieSession();
String eventType = "Error-code";
SignallingTaskHandlerDecorator signallingTaskWrapper = new SignallingTaskHandlerDecorator(ServiceTaskHandler.class, eventType);
signallingTaskWrapper.setWorkItemExceptionParameterName(ExceptionService.exceptionParameterName);
ksession.getWorkItemManager().registerWorkItemHandler("Service Task", signallingTaskWrapper);
Map<String, Object> params = new HashMap<String, Object>();
params.put("serviceInputItem", "Input to Original Service");
ProcessInstance processInstance = ksession.startProcess("ProcessWithExceptionHandlingError", params);
manager.close();
return processInstance;
}
use of org.kie.api.runtime.manager.RuntimeManager in project jbpm by kiegroup.
the class ExceptionHandlingSignalExample method runExample.
public static void runExample() {
// load up the knowledge base
RuntimeManager manager = createManager();
KieSession ksession = manager.getRuntimeEngine(null).getKieSession();
String eventType = "exception-signal";
SignallingTaskHandlerDecorator signallingTaskWrapper = new SignallingTaskHandlerDecorator(ServiceTaskHandler.class, eventType);
signallingTaskWrapper.setWorkItemExceptionParameterName(ExceptionService.exceptionParameterName);
ksession.getWorkItemManager().registerWorkItemHandler("Service Task", signallingTaskWrapper);
Map<String, Object> params = new HashMap<String, Object>();
params.put("serviceInputItem", "Input to Original Service");
ksession.startProcess("ProcessWithExceptionHandlingSignal", params);
manager.close();
}
use of org.kie.api.runtime.manager.RuntimeManager in project jbpm by kiegroup.
the class ScriptTaskExceptionExample method runExample.
public static void runExample() {
RuntimeManager manager = createManager();
KieSession ksession = manager.getRuntimeEngine(null).getKieSession();
Map<String, Object> params = new HashMap<String, Object>();
String varName = "var1";
params.put(varName, "valueOne");
try {
ksession.startProcess("ExceptionScriptTask", params);
} catch (WorkflowRuntimeException wfre) {
String msg = "An exception happened in " + "process instance [" + wfre.getProcessInstanceId() + "] of process [" + wfre.getProcessId() + "] in node [id: " + wfre.getNodeId() + ", name: " + wfre.getNodeName() + "] and variable " + varName + " had the value [" + wfre.getVariables().get(varName) + "]";
System.out.println(msg);
}
manager.close();
}
use of org.kie.api.runtime.manager.RuntimeManager in project jbpm by kiegroup.
the class HumanTaskExample method main.
public static final void main(String[] args) {
try {
RuntimeManager manager = getRuntimeManager("humantask/HumanTask.bpmn");
RuntimeEngine runtime = manager.getRuntimeEngine(null);
KieSession ksession = runtime.getKieSession();
// start a new process instance
Map<String, Object> params = new HashMap<String, Object>();
params.put("userId", "krisv");
params.put("description", "Need a new laptop computer");
ksession.startProcess("com.sample.humantask", params);
// "sales-rep" reviews request
TaskService taskService = runtime.getTaskService();
TaskSummary task1 = taskService.getTasksAssignedAsPotentialOwner("sales-rep", "en-UK").get(0);
System.out.println("Sales-rep executing task " + task1.getName() + "(" + task1.getId() + ": " + task1.getDescription() + ")");
taskService.claim(task1.getId(), "sales-rep");
taskService.start(task1.getId(), "sales-rep");
Map<String, Object> results = new HashMap<String, Object>();
results.put("comment", "Agreed, existing laptop needs replacing");
results.put("outcome", "Accept");
taskService.complete(task1.getId(), "sales-rep", results);
// "krisv" approves result
TaskSummary task2 = taskService.getTasksAssignedAsPotentialOwner("krisv", "en-UK").get(0);
System.out.println("krisv executing task " + task2.getName() + "(" + task2.getId() + ": " + task2.getDescription() + ")");
taskService.start(task2.getId(), "krisv");
results = new HashMap<String, Object>();
results.put("outcome", "Agree");
taskService.complete(task2.getId(), "krisv", results);
// "john" as manager reviews request
TaskSummary task3 = taskService.getTasksAssignedAsPotentialOwner("john", "en-UK").get(0);
System.out.println("john executing task " + task3.getName() + "(" + task3.getId() + ": " + task3.getDescription() + ")");
taskService.claim(task3.getId(), "john");
taskService.start(task3.getId(), "john");
results = new HashMap<String, Object>();
results.put("outcome", "Agree");
taskService.complete(task3.getId(), "john", results);
// "sales-rep" gets notification
TaskSummary task4 = taskService.getTasksAssignedAsPotentialOwner("sales-rep", "en-UK").get(0);
System.out.println("sales-rep executing task " + task4.getName() + "(" + task4.getId() + ": " + task4.getDescription() + ")");
taskService.start(task4.getId(), "sales-rep");
Map<String, Object> content = taskService.getTaskContent(task4.getId());
for (Map.Entry<?, ?> entry : content.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
taskService.complete(task4.getId(), "sales-rep", null);
System.out.println("Process instance completed");
manager.disposeRuntimeEngine(runtime);
} catch (Throwable t) {
t.printStackTrace();
}
System.exit(0);
}
Aggregations