use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testChildModulesBroadcast.
@Test
public void testChildModulesBroadcast() throws InvalidMvp4gConfigurationException {
oracle.addClass(TestBroadcast.class);
ChildModuleElement childModule = new ChildModuleElement();
childModule.setName("child");
Class<?> c = Modules.BroadcastModule.class;
oracle.addClass(c);
childModule.setClassName(c.getCanonicalName());
childModule.setAutoDisplay("false");
childModules.add(childModule);
ChildModuleElement childModule2 = new ChildModuleElement();
childModule2.setName("child2");
c = Modules.BroadcastModule2.class;
oracle.addClass(c);
childModule2.setClassName(c.getCanonicalName());
childModule2.setAutoDisplay("false");
childModules.add(childModule2);
ChildModuleElement childModule3 = new ChildModuleElement();
childModule3.setName("child3");
c = Modules.BroadcastModule2.class;
childModule3.setClassName(c.getCanonicalName());
childModule3.setAutoDisplay("false");
childModules.add(childModule3);
EventElement event = newEvent("testEvent");
event.setBroadcastTo(TestBroadcast.class.getCanonicalName());
event.setForwardToModules(new String[0]);
events.add(event);
EventElement event2 = newEvent("testEvent2");
event2.setBroadcastTo(TestBroadcast2.class.getCanonicalName());
event2.setForwardToModules(new String[] { "child3" });
events.add(event2);
setEventBus();
configuration.validateChildModules();
List<String> modules = event.getForwardToModules();
assertEquals(3, modules.size());
assertEquals("child", modules.get(0));
assertEquals("child3", modules.get(1));
assertEquals("child2", modules.get(2));
modules = event2.getForwardToModules();
assertEquals(2, modules.size());
assertEquals("child3", modules.get(0));
assertEquals("child2", modules.get(1));
}
use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testForwardSiblingModule.
@Test
public void testForwardSiblingModule() throws InvalidMvp4gConfigurationException {
String siblingModule = oracle.addClass(Modules.Module01.class).getQualifiedSourceName();
EventElement event = newEvent("testEvent");
event.setForwardToModules(new String[] { siblingModule });
event.setEventObjectClass(new String[] { String.class.getCanonicalName() });
events.add(event);
String currentParentModule = oracle.addClass(Modules.ModuleWithParentNoName.class).getQualifiedSourceName();
Map<String, ChildModuleElement> childModuleMap = configuration.getModuleParentEventBusClassMap();
JClassType parentEventBus = oracle.addClass(EventBusOk.class);
ChildModuleElement sibling = new ChildModuleElement();
sibling.setParentEventBus(parentEventBus);
sibling.setParentModuleClass(currentParentModule);
sibling.setClassName(siblingModule);
configuration.setParentEventBus(parentEventBus);
String currentModule = oracle.addClass(Modules.ModuleWithParent01.class).getQualifiedSourceName();
childModuleMap.put("sibling", sibling);
ChildModuleElement module = new ChildModuleElement();
module.setParentEventBus(parentEventBus);
module.setParentModuleClass(currentParentModule);
module.setClassName(currentModule);
childModuleMap.put(currentModule, module);
setEventBus();
configuration.setModule(oracle.findType(Modules.ModuleWithParent01.class.getCanonicalName()));
List<ChildModuleElement> siblings = configuration.getSiblings();
assertEquals(1, siblings.size());
assertSame(sibling, siblings.get(0));
assertEquals(1, event.getForwardToModules().size());
assertEquals(0, event.getSiblingsToLoad().size());
configuration.validateChildModules();
assertEquals(0, event.getForwardToModules().size());
assertEquals(1, event.getSiblingsToLoad().size());
}
use of com.mvp4g.rebind.config.element.ChildModuleElement in project mvp4g by mvp4g.
the class Mvp4gConfigurationTest method testSiblingBroadcast.
@Test
public void testSiblingBroadcast() throws InvalidMvp4gConfigurationException {
String siblingModule1 = oracle.addClass(Modules.BroadcastModule.class).getQualifiedSourceName();
String siblingModule2 = oracle.addClass(Modules.BroadcastModule2.class).getQualifiedSourceName();
String siblingModule3 = oracle.addClass(Modules.Module01.class).getQualifiedSourceName();
EventElement event = newEvent("testEvent");
event.setBroadcastTo(TestBroadcast.class.getCanonicalName());
event.setEventObjectClass(new String[] { String.class.getCanonicalName() });
events.add(event);
EventElement event2 = newEvent("testEvent2");
event2.setBroadcastTo(TestBroadcast2.class.getCanonicalName());
event2.setForwardToModules(new String[] { siblingModule3 });
events.add(event2);
String currentParentModule = oracle.addClass(Modules.ModuleWithParentNoName.class).getQualifiedSourceName();
Map<String, ChildModuleElement> childModuleMap = configuration.getModuleParentEventBusClassMap();
JClassType parentEventBus = oracle.addClass(EventBusOk.class);
ChildModuleElement sibling1 = new ChildModuleElement();
sibling1.setParentEventBus(parentEventBus);
sibling1.setParentModuleClass(currentParentModule);
sibling1.setClassName(siblingModule1);
ChildModuleElement sibling2 = new ChildModuleElement();
sibling2.setParentEventBus(parentEventBus);
sibling2.setParentModuleClass(currentParentModule);
sibling2.setClassName(siblingModule2);
ChildModuleElement sibling3 = new ChildModuleElement();
sibling3.setParentEventBus(parentEventBus);
sibling3.setParentModuleClass(currentParentModule);
sibling3.setClassName(siblingModule3);
childModuleMap.put("sibling1", sibling1);
childModuleMap.put("sibling2", sibling2);
childModuleMap.put("sibling3", sibling3);
configuration.setParentEventBus(parentEventBus);
configuration.setModule(oracle.addClass(Modules.ModuleWithParent01.class));
String currentModule01 = Modules.ModuleWithParent01.class.getCanonicalName();
ChildModuleElement module01 = new ChildModuleElement();
module01.setParentEventBus(parentEventBus);
module01.setParentModuleClass(currentParentModule);
module01.setClassName(currentModule01);
childModuleMap.put(currentModule01, module01);
setEventBus();
List<ChildModuleElement> siblings = configuration.getSiblings();
assertEquals(3, siblings.size());
assertSame(sibling1, siblings.get(0));
assertSame(sibling3, siblings.get(1));
assertSame(sibling2, siblings.get(2));
assertEquals(0, event.getSiblingsToLoad().size());
assertEquals(1, event2.getForwardToModules().size());
configuration.validateChildModules();
List<String> siblingsToLoad = event.getSiblingsToLoad();
assertEquals(2, siblingsToLoad.size());
assertEquals(sibling1.getClassName(), siblingsToLoad.get(0));
assertEquals(sibling2.getClassName(), siblingsToLoad.get(1));
siblingsToLoad = event2.getSiblingsToLoad();
assertEquals(2, siblingsToLoad.size());
assertEquals(sibling3.getClassName(), siblingsToLoad.get(0));
assertEquals(sibling2.getClassName(), siblingsToLoad.get(1));
}
Aggregations