private void initEventQueue(Engine engine) { ExecutionEventQueue newEventQueue = CachingExecutionEventQueue.newArrayListInstance(); ListenerCache cache = CachingExecutionEventQueue.getListenerCache(); for (HibProcessListener listener : getListeners()) { newEventQueue.addListener( engine, cache.getListener(listener.getType()), listener.getEventType()); } eventQueue = newEventQueue; }
@Override public void removeExecutionListener( GraphProcess process, ExecutionListener listener, ExecutionEventType... eventTypes) { process.getEventQueue().removeListener(this, listener, eventTypes); List<ExecutionEventType> types = eventTypes == null ? null : Arrays.asList(eventTypes); for (HibProcessListener hibListener : ((HibGraphProcess) process).getListeners()) { if (process.equals(hibListener.getProcess()) && (eventTypes == null || eventTypes.length == 0 || types.contains(hibListener.getEventType()))) { session.delete(hibListener); } } }