예제 #1
0
  public void testEventOrderingIsPredictable() {
    EventProcessor processor = new EventProcessor();
    bus.register(processor);

    EventRecorder recorder = new EventRecorder();
    bus.register(recorder);

    bus.post(FIRST);

    assertEquals(
        "EventRecorder expected events in order",
        Lists.<Object>newArrayList(FIRST, SECOND),
        recorder.eventsReceived);
  }
  @Test
  public void testEventSuperInterfaceHierarchy() {
    eventBus.register(this);

    eventBus.post(new MyEventInterfaceExtended() {});
    assertEquals(0, countMyEventInterface);
    assertEquals(0, countMyEventInterfaceExtended);
  }
 @Test
 public void testEventClassHierarchySticky() {
   eventBus.postSticky("Hello");
   eventBus.postSticky(new MyEvent());
   eventBus.postSticky(new MyEventExtended());
   eventBus.register(new StickySubscriber());
   assertEquals(1, countMyEventExtended);
   assertEquals(1, countMyEvent);
   assertEquals(0, countObjectEvent);
 }
예제 #4
0
  public void testNoReentrantEvents() {
    ReentrantEventsHater hater = new ReentrantEventsHater();
    bus.register(hater);

    bus.post(FIRST);

    assertEquals(
        "ReentrantEventHater expected 2 events",
        Lists.<Object>newArrayList(FIRST, SECOND),
        hater.eventsReceived);
  }
  @Test
  public void testEventClassHierarchy() {
    eventBus.register(this);

    eventBus.post("Hello");
    assertEquals(0, countObjectEvent);

    eventBus.post(new MyEvent());
    assertEquals(0, countObjectEvent);
    assertEquals(1, countMyEvent);

    eventBus.post(new MyEventExtended());
    assertEquals(0, countObjectEvent);
    assertEquals(1, countMyEvent);
    assertEquals(1, countMyEventExtended);
  }
  @Test
  public void testSubscriberClassHierarchyWithoutNewSubscriberMethod() {
    SubscriberExtendedWithoutNewSubscriberMethod subscriber =
        new SubscriberExtendedWithoutNewSubscriberMethod();
    eventBus.register(subscriber);

    eventBus.post("Hello");
    assertEquals(0, subscriber.countObjectEvent);

    eventBus.post(new MyEvent());
    assertEquals(0, subscriber.countObjectEvent);
    assertEquals(1, subscriber.countMyEvent);

    eventBus.post(new MyEventExtended());
    assertEquals(0, subscriber.countObjectEvent);
    assertEquals(1, subscriber.countMyEvent);
    assertEquals(1, subscriber.countMyEventExtended);
  }
예제 #7
0
  @SuppressWarnings("Convert2Lambda")
  @Override
  public void subscribe(final String channelName, final SendQueue<Event<Object>> sendQueue) {

    logger.info(
        "EventManager {}::subscribe() channel name {} sendQueue {}",
        name,
        channelName,
        sendQueue.name());
    queuesToFlush.add(sendQueue);

    //noinspection Anonymous2MethodRef
    eventBus.register(
        channelName,
        new EventSubscriber<Object>() {
          @Override
          public void listen(Event<Object> event) {
            sendQueue.send(event);
          }
        });
  }
예제 #8
0
 @Override
 public <T> void register(String channelName, EventListener<T> listener) {
   eventBus.register(channelName, listener);
 }
예제 #9
0
 @Inject
 public ApplicationErrorHandler(EventBus eventBus, ResourceBundleProvider resourceBundleProvider) {
   eventBus.register(this);
   this.resourceBundle = resourceBundleProvider.getResourceBundle();
 }