use of com.mvp4g.rebind.config.element.EventElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testStartEventWithParameter.
@Test
public void testStartEventWithParameter() throws InvalidMvp4gConfigurationException {
EventElement e = newEvent("start");
e.setEventObjectClass(new String[] { Object.class.getCanonicalName() });
events.add(e);
StartElement start = configuration.getStart();
start.setPresenter("startPresenter");
start.setEventType("start");
try {
configuration.validateStart();
fail();
} catch (InvalidMvp4gConfigurationException ex) {
assertEquals("Start: Start event start can't have any object associated with it.", ex.getMessage());
}
events.clear();
e = newEvent("start");
events.add(e);
configuration.validateStart();
}
use of com.mvp4g.rebind.config.element.EventElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testEventHandlerRemove.
@Test
public void testEventHandlerRemove() throws InvalidMvp4gConfigurationException {
ViewElement view = newView(SimpleView01.class, "view");
views.add(view);
PresenterElement presenter1 = newPresenter(SimplePresenter01.class, "presenter1");
presenter1.setView("view");
presenters.add(presenter1);
PresenterElement presenter2 = newPresenter(SimplePresenter02.class, "presenter2");
presenter2.setView("view");
presenters.add(presenter2);
PresenterElement presenter3 = newPresenter(SimplePresenter03.class, "presenter3");
presenter3.setView("view");
presenter3.setMultiple("true");
presenters.add(presenter3);
PresenterElement presenter4 = newPresenter(SimplePresenter04.class, "presenter4");
presenter4.setView("view");
presenters.add(presenter4);
EventHandlerElement handler1 = newEventHandler(SimpleEventHandler01.class, "handler1");
eventHandlers.add(handler1);
EventHandlerElement handler2 = newEventHandler(SimpleEventHandler02.class, "handler2");
eventHandlers.add(handler2);
EventHandlerElement handler3 = newEventHandler(SimpleEventHandler03.class, "handler3");
handler3.setMultiple("true");
eventHandlers.add(handler3);
EventHandlerElement handler4 = newEventHandler(SimpleEventHandler04.class, "handler4");
eventHandlers.add(handler4);
EventElement event = newEvent("testEvent");
event.setHandlers(new String[] { "presenter1", "handler1" });
event.setGenerate(new String[] { "presenter3", "handler3" });
event.setBinds(new String[] { "presenter4", "handler4" });
events.add(event);
setEventBus();
assertEquals(4, presenters.size());
assertTrue(presenters.contains(presenter1));
assertTrue(presenters.contains(presenter2));
assertEquals(4, eventHandlers.size());
assertTrue(eventHandlers.contains(handler1));
assertTrue(eventHandlers.contains(handler2));
configuration.validateEventHandlers();
assertEquals(3, presenters.size());
assertTrue(presenters.contains(presenter1));
assertFalse(presenters.contains(presenter2));
assertEquals(3, eventHandlers.size());
assertTrue(eventHandlers.contains(handler1));
assertFalse(eventHandlers.contains(handler2));
presenter2.setMultiple(Boolean.TRUE.toString());
presenters.add(presenter2);
handler2.setMultiple(Boolean.TRUE.toString());
eventHandlers.add(handler2);
assertEquals(4, presenters.size());
assertTrue(presenters.contains(presenter1));
assertTrue(presenters.contains(presenter2));
assertEquals(4, eventHandlers.size());
assertTrue(eventHandlers.contains(handler1));
assertTrue(eventHandlers.contains(handler2));
configuration.validateEventHandlers();
assertEquals(4, presenters.size());
assertTrue(presenters.contains(presenter1));
assertTrue(presenters.contains(presenter2));
assertEquals(4, eventHandlers.size());
assertTrue(eventHandlers.contains(handler1));
assertTrue(eventHandlers.contains(handler2));
}
use of com.mvp4g.rebind.config.element.EventElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testSameActivateDeactivate.
@Test
public void testSameActivateDeactivate() {
EventBusElement eventBus = new EventBusElement(EventBusWithLookup.class.getName(), BaseEventBus.class.getName(), false);
configuration.setEventBus(eventBus);
EventElement event1 = newEvent("event1");
event1.setActivate(new String[] { "activate" });
event1.setDeactivate(new String[] { "activate" });
events.add(event1);
try {
configuration.validateEventHandlers();
fail();
} catch (InvalidMvp4gConfigurationException e) {
assertTrue(e.getMessage().contains("an event can't activate and deactivate the same handler: activate."));
}
}
use of com.mvp4g.rebind.config.element.EventElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testValidateSplitterStartPresenter.
@Test
public void testValidateSplitterStartPresenter() {
setEventBus();
PresenterElement presenter = newPresenter(SimplePresenter01.class, "presenter");
configuration.getStart().setPresenter("presenter");
presenter.setAsync("true");
presenters.add(presenter);
EventElement event = new EventElement();
event.setType("event");
event.setHandlers(new String[] { "presenter" });
events.add(event);
try {
configuration.validateSplitters();
fail();
} catch (InvalidMvp4gConfigurationException e) {
assertEquals("Presenter presenter: start presenter can't be loaded asynchronously. Async attribute must not be set.", e.getMessage());
}
}
use of com.mvp4g.rebind.config.element.EventElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testValidateSplitterTogether.
@Test
public void testValidateSplitterTogether() throws InvalidMvp4gConfigurationException {
setEventBus();
String splitterName = oracle.addClass(Splitters.SimpleSplitter.class).getQualifiedSourceName();
PresenterElement presenter = newPresenter(SimplePresenter01.class, "presenter");
presenter.setAsync(splitterName);
presenters.add(presenter);
PresenterElement presenterMultiple = newPresenter(SimplePresenter02.class, "presenterMultiple");
presenterMultiple.setAsync(splitterName);
presenterMultiple.setMultiple("true");
presenters.add(presenterMultiple);
EventHandlerElement eventHandler = newEventHandler(SimpleEventHandler01.class, "eventHandler");
eventHandler.setAsync(splitterName);
eventHandlers.add(eventHandler);
EventHandlerElement eventHandlerMultiple = newEventHandler(SimpleEventHandler02.class, "eventHandlerMultiple");
eventHandlerMultiple.setAsync(splitterName);
eventHandlerMultiple.setMultiple("true");
eventHandlers.add(eventHandlerMultiple);
EventElement event = new EventElement();
event.setType("event");
event.setHandlers(new String[] { "presenter", "eventHandler", "presenterMultiple", "eventHandlerMultiple" });
event.setBinds(new String[] { "presenter", "eventHandler", "presenterMultiple", "eventHandlerMultiple" });
event.setActivate(new String[] { "presenter", "eventHandler", "presenterMultiple", "eventHandlerMultiple" });
event.setDeactivate(new String[] { "presenter", "eventHandler", "presenterMultiple", "eventHandlerMultiple" });
event.setGenerate(new String[] { "presenterMultiple", "eventHandlerMultiple" });
events.add(event);
configuration.validateSplitters();
splitterName = Splitters.SimpleSplitter.class.getCanonicalName().replace(".", "_");
assertEquals(1, configuration.getSplitters().size());
SplitterElement splitter = configuration.getSplitters().iterator().next();
assertEquals(splitterName, splitter.getClassName());
assertEquals(splitterName, splitter.getName());
assertNull(splitter.getLoader());
assertEquals(4, splitter.getHandlers().size());
assertTrue(splitter.getHandlers().contains(eventHandler));
assertTrue(splitter.getHandlers().contains(presenter));
assertTrue(splitter.getHandlers().contains(eventHandlerMultiple));
assertTrue(splitter.getHandlers().contains(presenterMultiple));
Map<EventElement, EventAssociation<String>> events = splitter.getEvents();
assertEquals(1, events.size());
EventElement key = events.keySet().iterator().next();
assertSame(event, key);
EventAssociation<String> association = events.get(key);
List<String> list = Arrays.asList("eventHandler", "eventHandlerMultiple", "presenter", "presenterMultiple");
assertCollection(list, association.getActivated());
assertCollection(list, association.getDeactivated());
assertCollection(list, association.getBinds());
assertCollection(list, association.getHandlers());
assertCollection(Arrays.asList("eventHandlerMultiple", "presenterMultiple"), association.getGenerate());
}
Aggregations