/** * Completes the Work Item this handler makes reference to. * @param results */ public void completeWorkItem(Map<String, Object> results){ this.manager.completeWorkItem(workItemId, results); }
public void registerWorkItemHandler(String workItemName, WorkItemHandler handler) { delegate.registerWorkItemHandler(workItemName, new WorkItemHandlerKieAdapter(handler)); }
public void abortWorkItem(long id) { delegate.abortWorkItem(id); }
public void execute(Task task) { long workItemId = task.getTaskData().getWorkItemId(); if (task.getTaskData().getStatus() == Status.Completed) { String userId = task.getTaskData().getActualOwner().getId(); Map<String, Object> results = new HashMap<String, Object>(); results.put("ActorId", userId); long contentId = task.getTaskData().getOutputContentId(); if (contentId != -1) { GetContentResponseHandler getContentResponseHandler = new GetResultContentResponseHandler(manager, task, results); client.getContent(contentId, getContentResponseHandler); } else { manager.completeWorkItem(workItemId, results); } } else { manager.abortWorkItem(workItemId); } } }
public void execute(Task task) { long workItemId = task.getTaskData().getWorkItemId(); if (task.getTaskData().getStatus() == Status.Completed) { String userId = task.getTaskData().getActualOwner().getId(); Map<String, Object> results = new HashMap<String, Object>(); results.put("ActorId", userId); long contentId = task.getTaskData().getOutputContentId(); if (contentId != -1) { GetContentResponseHandler getContentResponseHandler = new GetResultContentResponseHandler(task, results); client.getContent(contentId, getContentResponseHandler); } else { session.getWorkItemManager().completeWorkItem(workItemId, results); } } else { session.getWorkItemManager().abortWorkItem(workItemId); } } }
public void completeWorkItem(long id, Map<String, Object> results) { delegate.completeWorkItem(id, results); }
public Object execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); WorkItemHandler workItemHandler = null; try { Class t = Class.forName(handler); Constructor c = t.getConstructor(KnowledgeRuntime.class); workItemHandler = (WorkItemHandler) c.newInstance(ksession); } catch (InstantiationException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalArgumentException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (InvocationTargetException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (NoSuchMethodException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (SecurityException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } ksession.getWorkItemManager().registerWorkItemHandler(workItemName, workItemHandler); return null; }
public Void execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ksession.getWorkItemManager().abortWorkItem( workItemId ); return null; }
public void completeWorkItem() { results = new HashMap<String, Object>(); results.put("emergency", currentEmergency); workItemManager.completeWorkItem(workItemId, results); }
public Object execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ksession.getWorkItemManager().registerWorkItemHandler(workItemName, handler); return null; }
@Override public synchronized void setError(RuntimeException error) { super.setError(error); if (action.equals(OnErrorAction.ABORT)) { this.manager.abortWorkItem(workItemId); } else if (action.equals(OnErrorAction.RETHROW)) { throw getError(); } else if (action.equals(OnErrorAction.LOG)) { StringBuffer logMsg = new StringBuffer(); logMsg.append(new Date() + ": Error when creating task on task server for work item id " + workItemId); logMsg.append(". Error reported by task server: " + getError().getMessage()); logger.error(logMsg.toString(), getError()); } } }
public void completeWorkItem() { results = new HashMap<String, Object>(); results.put("emergency", currentEmergency); workItemManager.completeWorkItem(workItemId, results); }
private StatefulKnowledgeSession getKnowledgeSession() { StatefulKnowledgeSession session = null; session = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env); for (Map.Entry<String, WorkItemHandler> entry : this.workItemsHandlers.entrySet()) { session.getWorkItemManager().registerWorkItemHandler(entry.getKey(), entry.getValue()); } //Configures a logger for the session KnowledgeRuntimeLoggerFactory.newConsoleLogger(session); return session; } }
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { Long requestId = (Long) workItem.getParameter("requestId"); executor.cancelRequest(requestId); String sWaitTillComplete = (String) workItem.getParameter("waitTillComplete"); Boolean waitTillComplete = sWaitTillComplete == null ? null : Boolean.valueOf(sWaitTillComplete); if (waitTillComplete == null || !waitTillComplete.booleanValue()) { manager.abortWorkItem(workItem.getId()); } }
@Override public void completeWorkItem(long workItemId, Map<String, Object> outputParameters) { ksession.getWorkItemManager().completeWorkItem(workItemId, outputParameters); }
ex ); ksession.getWorkItemManager().registerWorkItemHandler( this.workItemName, workItemHandler ); return null;
@Override public synchronized void setError(RuntimeException error) { super.setError(error); if (action.equals(OnErrorAction.ABORT)) { session.getWorkItemManager().abortWorkItem(workItemId); } else if (action.equals(OnErrorAction.RETHROW)) { throw getError(); } else if (action.equals(OnErrorAction.LOG)) { StringBuffer logMsg = new StringBuffer(); logMsg.append(new Date() + ": Error when creating task on task server for work item id " + workItemId); logMsg.append(". Error reported by task server: " + getError().getMessage()); logger.error(logMsg.toString(), getError()); } } }
/** * This method should be invoked by an external system when it finished the * execution of a job. * This method will complete the work item associated with the passed job id. * At this point, the process associated with the work item will continue * its execution. * This method will also calculate the total execution time of the job and * pass it as an output parameter. * @param externalSystemJobId * @param parameters */ public void externalSystemJobCompleted(String externalSystemJobId, Map<String,Object> parameters){ //gets the work item id associated with the job id. Long workItemId = this.workItemsIdsMap.remove(externalSystemJobId); //calculates the execution time of the job long currentTimeMillis = System.currentTimeMillis(); Long startTime = this.jobTimestampsMap.remove(externalSystemJobId); double executionTime = (currentTimeMillis - startTime)/1000; //set the execution time in the output parameters parameters.put("trackingExecutionTime", executionTime); //Completes the work item ksession.getWorkItemManager().completeWorkItem(workItemId, parameters); }
public WorkItemManager getWorkItemManager() { if ( workItemManager == null ) { workItemManager = config.getWorkItemManagerFactory().createWorkItemManager( this.getKnowledgeRuntime() ); Map<String, Object> params = new HashMap<String, Object>(); params.put("ksession", this.getKnowledgeRuntime()); Map<String, WorkItemHandler> workItemHandlers = config.getWorkItemHandlers(params); if ( workItemHandlers != null ) { for ( Map.Entry<String, WorkItemHandler> entry : workItemHandlers.entrySet() ) { workItemManager.registerWorkItemHandler( entry.getKey(), entry.getValue() ); } } } return workItemManager; }
public void execute(Content content) { ByteArrayInputStream bis = new ByteArrayInputStream(content.getContent()); ObjectInputStream in; try { in = new ObjectInputStream(bis); Object result = in.readObject(); in.close(); results.put("Result", result); if (result instanceof Map) { Map<?, ?> map = (Map) result; for (Map.Entry<?, ?> entry : map.entrySet()) { if (entry.getKey() instanceof String) { results.put((String) entry.getKey(), entry.getValue()); } } } manager.completeWorkItem(task.getTaskData().getWorkItemId(), results); } catch (IOException e) { logger.error(e.getMessage(), e); } catch (ClassNotFoundException e) { logger.error(e.getMessage(), e); } } }