@Override public void receiveResultCompletion(DispatchCompletionEvent completionEvent) { Activity<?> condition = config.getCondition(); if (condition == null) { super.receiveResultCompletion(completionEvent); return; } synchronized (outgoingJobs) { outgoingJobs.put(jobIdentifier(completionEvent), completionEvent); } checkCondition(completionEvent); }
@Override public void receiveResult(DispatchResultEvent resultEvent) { Activity<?> condition = config.getCondition(); if (condition == null) { super.receiveResult(resultEvent); return; } synchronized (outgoingJobs) { outgoingJobs.put(jobIdentifier(resultEvent), resultEvent); } checkCondition(resultEvent); }
@Override public void receiveJob(DispatchJobEvent jobEvent) { synchronized (incomingJobs) { incomingJobs.put(jobIdentifier(jobEvent), jobEvent); } if (config.isRunFirst()) { // We'll do the conditional in receiveResult instead super.receiveJob(jobEvent); return; } checkCondition(jobEvent); }
@Override public void receiveResultCompletion(DispatchCompletionEvent completionEvent) { Activity<?> condition = config.getCondition(); if (condition == null) { super.receiveResultCompletion(completionEvent); return; } synchronized (outgoingJobs) { outgoingJobs.put(jobIdentifier(completionEvent), completionEvent); } checkCondition(completionEvent); }
@Override public void receiveJobQueue(DispatchJobQueueEvent jobQueueEvent) { synchronized (incomingJobs) { incomingJobs.put(jobIdentifier(jobQueueEvent), jobQueueEvent); } if (config.isRunFirst()) { // We'll do the conditional in receiveResult instead super.receiveJobQueue(jobQueueEvent); return; } checkCondition(jobQueueEvent); }
@Override public void receiveResult(DispatchResultEvent resultEvent) { Activity<?> condition = config.getCondition(); if (condition == null) { super.receiveResult(resultEvent); return; } synchronized (outgoingJobs) { outgoingJobs.put(jobIdentifier(resultEvent), resultEvent); } checkCondition(resultEvent); }
@Override public void receiveJobQueue(DispatchJobQueueEvent jobQueueEvent) { synchronized (incomingJobs) { incomingJobs.put(jobIdentifier(jobQueueEvent), jobQueueEvent); } if (config.isRunFirst()) { // We'll do the conditional in receiveResult instead super.receiveJobQueue(jobQueueEvent); return; } checkCondition(jobQueueEvent); }
@Override public void receiveJob(DispatchJobEvent jobEvent) { synchronized (incomingJobs) { incomingJobs.put(jobIdentifier(jobEvent), jobEvent); } if (config.isRunFirst()) { // We'll do the conditional in receiveResult instead super.receiveJob(jobEvent); return; } checkCondition(jobEvent); }
private void checkCondition(AbstractDispatchEvent event) { Activity<?> condition; condition = config.getCondition(); if (condition == null) { super.receiveError(new DispatchErrorEvent(event.getOwningProcess(), event.getIndex(), event.getContext(), "Can't invoke condition service: null", null, DispatchErrorType.INVOCATION, condition)); return; } if (!(condition instanceof AbstractAsynchronousActivity)) { DispatchErrorEvent errorEvent = new DispatchErrorEvent( event.getOwningProcess(), event.getIndex(), event.getContext(), "Can't invoke condition service " + condition + " is not an instance of AbstractAsynchronousActivity", null, DispatchErrorType.INVOCATION, condition); super.receiveError(errorEvent); return; } AbstractAsynchronousActivity asyncCondition = (AbstractAsynchronousActivity) condition; String jobIdentifier = jobIdentifier(event); Map<String, T2Reference> inputs = prepareInputs(asyncCondition, jobIdentifier); AsynchronousActivityCallback callback = new ConditionCallBack( jobIdentifier); asyncCondition.executeAsynch(inputs, callback); }
private void checkCondition(AbstractDispatchEvent event) { Activity<?> condition; condition = config.getCondition(); if (condition == null) { super.receiveError(new DispatchErrorEvent(event.getOwningProcess(), event.getIndex(), event.getContext(), "Can't invoke conditional activity: null", null, DispatchErrorType.INVOCATION, condition)); return; } if (!(condition instanceof AbstractAsynchronousActivity)) { DispatchErrorEvent errorEvent = new DispatchErrorEvent( event.getOwningProcess(), event.getIndex(), event.getContext(), "Can't invoke conditional activity " + condition + " is not an instance of AbstractAsynchronousActivity", null, DispatchErrorType.INVOCATION, condition); super.receiveError(errorEvent); return; } AbstractAsynchronousActivity asyncCondition = (AbstractAsynchronousActivity) condition; String jobIdentifier = jobIdentifier(event); Map<String, T2Reference> inputs = prepareInputs(asyncCondition, jobIdentifier); AsynchronousActivityCallback callback = new ConditionCallBack( jobIdentifier); asyncCondition.executeAsynch(inputs, callback); }