import org.wamblee.system.core.DefaultScope;
import org.wamblee.system.core.Environment;
import org.wamblee.system.core.ProvidedInterface;
+import org.wamblee.system.core.ProvidedInterfaces;
import org.wamblee.system.core.RequiredInterface;
+import org.wamblee.system.core.RequiredInterfaces;
import org.wamblee.system.core.Scope;
import org.wamblee.system.core.StringComponent;
import org.wamblee.system.core.SystemAssemblyException;
AssertionUtils.assertEquals(new String[] { "start.environment",
"start.application" }, _tracker.getEvents(
Thread.currentThread()).toArray(new String[0]));
- assertEquals(0, scope.getProvidedInterfaces().length);
+ assertEquals(0, scope.getProvidedInterfaces().size());
assertEquals(environment.getString(), application.getString());
assertEquals(environment.getInteger(), application.getInteger());
AssertionUtils.assertEquals(new String[] { "start.environment",
"start.application" }, _tracker.getEvents(
Thread.currentThread()).toArray(new String[0]));
- assertEquals(0, scope.getProvidedInterfaces().length);
+ assertEquals(0, scope.getProvidedInterfaces().size());
assertEquals(environment.getString(), application.getString());
assertEquals(environment.getInteger(), application.getInteger());
public void testApplicationEnvironment() {
try {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> environment = new Environment();
+ Component<?> application = new Application();
Container container = new Container("root", new Component[] {
application, environment }, new ProvidedInterface[0],
new RequiredInterface[0]);
}
public void testComposite() {
- Component environment = new Environment(_tracker);
- Component application = new Application(_tracker);
+ Component<?> environment = new Environment(_tracker);
+ Component<?> application = new Application(_tracker);
assertEquals(0, _tracker.getEventCount());
Container system = new Container("all", new Component[] { environment,
application }, new ProvidedInterface[0],
new RequiredInterface[0]);
Scope runtime = system.start();
- RequiredInterface[] required = system.getRequiredInterfaces();
- assertEquals(0, required.length);
- ProvidedInterface[] provided = system.getProvidedInterfaces();
- assertEquals(0, provided.length);
+ List<RequiredInterface> required = system.getRequiredInterfaces();
+ assertEquals(0, required.size());
+ List<ProvidedInterface> provided = system.getProvidedInterfaces();
+ assertEquals(0, provided.size());
AssertionUtils.assertEquals(new String[] { "start.environment",
"start.application" }, _tracker.getEvents(
public void testCompositeWithWrongProvidedInfo() {
try {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> environment = new Environment();
+ Component<?> application = new Application();
Container system = new Container("all", new Component[] {
environment, application },
new ProvidedInterface[] { new DefaultProvidedInterface(
public void testCompositeRequiredInterfaceNotProvided() {
try {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> environment = new Environment();
+ Component<?> application = new Application();
Container system = new Container("all", new Component[] {
environment, application }, new ProvidedInterface[0],
new RequiredInterface[] { new DefaultRequiredInterface(
}
public void testCompositeWithSuperfluousRequiredInfo() {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> environment = new Environment();
+ Component<?> application = new Application();
Container system = new Container("all", new Component[] { environment,
application }, new ProvidedInterface[0],
new RequiredInterface[] { new DefaultRequiredInterface("float",
Float.class) });
- system.getRequiredInterfaces()[0]
+ system.getRequiredInterfaces().get(0)
.setProvider(new DefaultProvidedInterface("hallo", Float.class));
system.start();
- RequiredInterface[] required = system.getRequiredInterfaces();
- assertEquals(1, required.length);
- ProvidedInterface[] provided = system.getProvidedInterfaces();
- assertEquals(0, provided.length);
+ List<RequiredInterface> required = system.getRequiredInterfaces();
+ assertEquals(1, required.size());
+ List<ProvidedInterface> provided = system.getProvidedInterfaces();
+ assertEquals(0, provided.size());
}
public void testCompositeWithExternalDependencesNotProvided() {
try {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> application = new Application();
+
Container system = new Container("all",
new Component[] { application }, new ProvidedInterface[0],
- application.getRequiredInterfaces());
+ application.getRequiredInterfaces().toArray(new RequiredInterface[0]));
system.start();
} catch (SystemAssemblyException e) {
return;
public void testDuplicateComponent() {
try {
- Component comp1 = new Application();
- Component comp2 = new Application();
+ Component<?> comp1 = new Application();
+ Component<?> comp2 = new Application();
Container system = new Container("top");
system.addComponent(comp1).addComponent(comp2);
} catch (SystemAssemblyException e) {
public void testInconsistentHierarchy() {
try {
- Component comp = new Application();
+ Component<?> comp = new Application();
Container system = new Container("top").addComponent(comp);
Container system2 = new Container("top2").addComponent(comp);
} catch (SystemAssemblyException e) {
public void testCompositeWithExternalDependencesProvided() {
- Component environment = new Environment();
- Component application = new Application();
+ Component<?> environment = new Environment();
+ Component<?> application = new Application();
Container system = new Container("all",
new Component[] { application }, new ProvidedInterface[0],
- application.getRequiredInterfaces());
+ application.getRequiredInterfaces().toArray(new RequiredInterface[0]));
environment.start(new DefaultScope(new ProvidedInterface[0]));
- system.getRequiredInterfaces()[0].setProvider(environment
- .getProvidedInterfaces()[0]);
- system.getRequiredInterfaces()[1].setProvider(environment
- .getProvidedInterfaces()[1]);
+ system.getRequiredInterfaces().get(0).setProvider(environment
+ .getProvidedInterfaces().get(0));
+ system.getRequiredInterfaces().get(1).setProvider(environment
+ .getProvidedInterfaces().get(1));
system.start();
- RequiredInterface[] required = system.getRequiredInterfaces();
- assertEquals(2, required.length);
- ProvidedInterface[] provided = system.getProvidedInterfaces();
- assertEquals(0, provided.length);
+ List<RequiredInterface> required = system.getRequiredInterfaces();
+ assertEquals(2, required.size());
+ List<ProvidedInterface> provided = system.getProvidedInterfaces();
+ assertEquals(0, provided.size());
}
public void testAmbiguousInterfaces() {
try {
- Component environment1 = new Environment();
- Component environment2 = new Environment();
- Component application = new Application();
+ Component<?> environment1 = new Environment();
+ Component<?> environment2 = new Environment();
+ Component<?> application = new Application();
Container container = new Container("root", new Component[] {
environment1, environment2, application },
new ProvidedInterface[0], new RequiredInterface[0]);
public void testIncompleteRequirements() {
try {
- Component application = new Application();
+ Component<?> application = new Application();
Container system = new Container("all",
new Component[] { application }, new ProvidedInterface[0],
new RequiredInterface[0]);
new Component[] { application }, new ProvidedInterface[0],
Application.required(true));
Environment env = new Environment();
- container.getRequiredInterfaces()[0].setProvider(env
- .getProvidedInterfaces()[0]);
- container.getRequiredInterfaces()[1].setProvider(env
- .getProvidedInterfaces()[1]);
+ container.getRequiredInterfaces().get(0).setProvider(env
+ .getProvidedInterfaces().get(0));
+ container.getRequiredInterfaces().get(1).setProvider(env
+ .getProvidedInterfaces().get(1));
Scope external = new DefaultScope(env.getProvidedInterfaces());
env.start(external);
container.start(external);
- assertSame(env.getProvidedInterfaces()[0], container
- .getRequiredInterfaces()[0].getProvider());
- assertSame(env.getProvidedInterfaces()[1], container
- .getRequiredInterfaces()[1].getProvider());
- assertSame(env.getProvidedInterfaces()[0], application
- .getRequiredInterfaces()[0].getProvider());
- assertSame(env.getProvidedInterfaces()[1], application
- .getRequiredInterfaces()[1].getProvider());
+ assertSame(env.getProvidedInterfaces().get(0), container
+ .getRequiredInterfaces().get(0).getProvider());
+ assertSame(env.getProvidedInterfaces().get(1), container
+ .getRequiredInterfaces().get(1).getProvider());
+ assertSame(env.getProvidedInterfaces().get(0), application
+ .getRequiredInterfaces().get(0).getProvider());
+ assertSame(env.getProvidedInterfaces().get(1), application
+ .getRequiredInterfaces().get(1).getProvider());
}
public void testOptionalRequiredInterfaceNotProvidedOptionalInternal() {
new Component[] { application }, new ProvidedInterface[0],
Application.required(true));
Environment env = new Environment();
- container.getRequiredInterfaces()[0].setProvider(env
- .getProvidedInterfaces()[0]);
+ container.getRequiredInterfaces().get(0).setProvider(env
+ .getProvidedInterfaces().get(0));
Scope external = new DefaultScope(new ProvidedInterface[0]);
- external.publishInterface(env.getProvidedInterfaces()[0], env
+ external.publishInterface(env.getProvidedInterfaces().get(0), env
.getString());
container.start(external);
- assertSame(env.getProvidedInterfaces()[0], container
- .getRequiredInterfaces()[0].getProvider());
- assertNull(container.getRequiredInterfaces()[1].getProvider());
- assertSame(env.getProvidedInterfaces()[0], application
- .getRequiredInterfaces()[0].getProvider());
- assertNull(application.getRequiredInterfaces()[1].getProvider());
+ assertSame(env.getProvidedInterfaces().get(0), container
+ .getRequiredInterfaces().get(0).getProvider());
+ assertNull(container.getRequiredInterfaces().get(1).getProvider());
+ assertSame(env.getProvidedInterfaces().get(0), application
+ .getRequiredInterfaces().get(0).getProvider());
+ assertNull(application.getRequiredInterfaces().get(1).getProvider());
}
public void testOptionalRequiredInterfaceProvidedMandatoryInternal() {
new Component[] { application }, new ProvidedInterface[0],
Application.required(true));
Environment env = new Environment();
- container.getRequiredInterfaces()[0].setProvider(env
- .getProvidedInterfaces()[0]);
- container.getRequiredInterfaces()[1].setProvider(env
- .getProvidedInterfaces()[1]);
+ container.getRequiredInterfaces().get(0).setProvider(env
+ .getProvidedInterfaces().get(0));
+ container.getRequiredInterfaces().get(1).setProvider(env
+ .getProvidedInterfaces().get(1));
try {
container.start();
} catch (SystemAssemblyException e) {
ProvidedInterface provided = new DefaultProvidedInterface("hallo",
Integer.class);
- container.getRequiredInterfaces()[0].setProvider(provided);
+ container.getRequiredInterfaces().get(0).setProvider(provided);
Scope external = new DefaultScope(new ProvidedInterface[0]);
external.publishInterface(provided, 100);
}
}, SystemAssemblyException.class);
- container.connectExternalRequired("1", app.getRequiredInterfaces()[0]
+ container.connectExternalRequired("1", app.getRequiredInterfaces().get(0)
.getName(), "y");
ProvidedInterface i = new DefaultProvidedInterface("i", Integer.class);
externalScope.publishInterface(x, "x-value");
externalScope.publishInterface(y, "y-value");
- container.getRequiredInterfaces()[0].setProvider(i);
- container.getRequiredInterfaces()[1].setProvider(x);
- container.getRequiredInterfaces()[2].setProvider(y);
+ container.getRequiredInterfaces().get(0).setProvider(i);
+ container.getRequiredInterfaces().get(1).setProvider(x);
+ container.getRequiredInterfaces().get(2).setProvider(y);
Scope runtime = container.start(externalScope);
// now choose env2
- container.connectExternalProvided(container.getProvidedInterfaces()[0]
- .getName(), env2.getName(), env2.getProvidedInterfaces()[0]
+ container.connectExternalProvided(container.getProvidedInterfaces().get(0)
+ .getName(), env2.getName(), env2.getProvidedInterfaces().get(0)
.getName());
Scope scope = container.start();
// check the value of the provided interface of the container
String value = scope.getInterfaceImplementation(container
- .getProvidedInterfaces()[0], String.class);
+ .getProvidedInterfaces().get(0), String.class);
assertNotNull(value);
assertEquals(value, env2.getString());
assertFalse(value.equals(env1.getString()));