Esempio n. 1
0
        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;
        }
Esempio n. 2
0
  @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);
      }
    }
  }