X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=trunk%2Fsystem%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FApplication.java;h=c162bb04400523af6b1b4f5c88efb8ad3542d948;hb=255b647035bf913c6051bea2c1010f6ce4705879;hp=16d1f36f0187b273810ae010dfaa8f77fb994b1c;hpb=9dc3759548b277bdf34f1335ce540588aae8ea89;p=utils diff --git a/trunk/system/general/src/test/java/org/wamblee/system/core/Application.java b/trunk/system/general/src/test/java/org/wamblee/system/core/Application.java index 16d1f36f..c162bb04 100644 --- a/trunk/system/general/src/test/java/org/wamblee/system/core/Application.java +++ b/trunk/system/general/src/test/java/org/wamblee/system/core/Application.java @@ -27,17 +27,26 @@ public class Application extends AbstractComponent { public static RequiredInterface[] required(boolean aOptional) { return new RequiredInterface[] { - new DefaultRequiredInterface("datasource", DataSource.class, aOptional), + new DefaultRequiredInterface("string", String.class, aOptional), new DefaultRequiredInterface("integer", Integer.class, aOptional) }; } private EventTracker _tracker; + private String _string; + private Integer _integer; + private double _random; public Application() { - super("application", new ProvidedInterface[0], required(false)); + super("application", new ProvidedInterface[0], required(false)); + _random = Math.random(); } + public Application(String aName) { + super(aName, new ProvidedInterface[0], required(false)); + _random = Math.random(); + } + public Application(boolean aIsOptinal) { super("application", new ProvidedInterface[0], required(true)); } @@ -48,13 +57,28 @@ public class Application extends AbstractComponent { } @Override - protected void doStart() { - track("start." + getName()); + protected Object doStart(Scope aScope) { + track("start." + getName()); + _string = aScope.getInterfaceImplementation(getRequiredInterfaces()[0].getProvider(), String.class); + _integer = aScope.getInterfaceImplementation(getRequiredInterfaces()[1].getProvider(), Integer.class); + return _random; + } + + public String getString() { + return _string; + } + + public Integer getInteger() { + return _integer; } @Override - protected void doStop() { - track("stop." + getName()); + protected void doStop(Object aRuntime) { + track("stop." + getName()); + if ( _random != (Double)aRuntime) { + throw new IllegalArgumentException("Wrong runtime: expected " + _random + " but got " + + aRuntime); + } } private void track(String aString) {