X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcontainer%2FApplication.java;h=9e4a56b4569ee54e49b464ce42c67f713bc1a339;hb=ddd261f331280640c5b53c7128230b629ebcd268;hp=e6b09215299cc376812a3cf5d438ee1fb905d8ee;hpb=92e23e5ecf9614f2ab770a8cdedc0b21ddf1e127;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/container/Application.java b/system/general/src/test/java/org/wamblee/system/container/Application.java index e6b09215..9e4a56b4 100644 --- a/system/general/src/test/java/org/wamblee/system/container/Application.java +++ b/system/general/src/test/java/org/wamblee/system/container/Application.java @@ -1,12 +1,12 @@ /* * Copyright 2007 the original author or authors. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,81 +20,172 @@ import org.wamblee.system.core.DefaultRequiredInterface; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.RequiredInterface; import org.wamblee.system.core.Scope; + import org.wamblee.test.EventTracker; -public class Application extends AbstractComponent { - public static RequiredInterface[] required(boolean aOptional, - String aPrefix) { - return new RequiredInterface[] { - new DefaultRequiredInterface(aPrefix + "string", String.class, - aOptional), - new DefaultRequiredInterface(aPrefix + "integer", - Integer.class, aOptional) }; - } - - public static RequiredInterface[] required(boolean aOptional) { - return required(aOptional, ""); - } +/** + * DOCUMENT ME! + * + * @author $author$ + * @version $Revision$ + */ +public class Application extends AbstractComponent { + /** + * DOCUMENT ME! + */ private EventTracker tracker; + + /** + * DOCUMENT ME! + */ private String string; + + /** + * DOCUMENT ME! + */ private Integer integer; + + /** + * DOCUMENT ME! + */ private double random; + /** + * Creates a new Application object. + */ public Application() { this("application"); } + /** + * Creates a new Application object. + * + * @param aName DOCUMENT ME! + */ public Application(String aName) { this(aName, ""); } + /** + * Creates a new Application object. + * + * @param aName DOCUMENT ME! + * @param aPrefix DOCUMENT ME! + */ public Application(String aName, String aPrefix) { - super(aName, new ProvidedInterface[0], required(false, - aPrefix)); + super(aName, new ProvidedInterface[0], required(false, aPrefix)); random = Math.random(); } + /** + * Creates a new Application object. + * + * @param aIsOptinal DOCUMENT ME! + */ public Application(boolean aIsOptinal) { super("application", new ProvidedInterface[0], required(true, "")); } + /** + * Creates a new Application object. + * + * @param aTracker DOCUMENT ME! + */ public Application(EventTracker aTracker) { this(); tracker = aTracker; } + /** + * DOCUMENT ME! + * + * @param aOptional DOCUMENT ME! + * @param aPrefix DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + public static RequiredInterface[] required(boolean aOptional, String aPrefix) { + return new RequiredInterface[] { + new DefaultRequiredInterface(aPrefix + "string", String.class, + aOptional), + new DefaultRequiredInterface(aPrefix + "integer", Integer.class, + aOptional) + }; + } + + /** + * DOCUMENT ME! + * + * @param aOptional DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + public static RequiredInterface[] required(boolean aOptional) { + return required(aOptional, ""); + } + + /** + * DOCUMENT ME! + * + * @param aScope DOCUMENT ME! + * + * @return DOCUMENT ME! + */ @Override public Object doStart(Scope aScope) { track("start." + getName()); - string = aScope.getInterfaceImplementation(getRequiredInterfaces() + string = aScope.getInterfaceImplementation(getRequiredInterfaces() .get(0).getProvider(), String.class); - integer = aScope.getInterfaceImplementation(getRequiredInterfaces() + integer = aScope.getInterfaceImplementation(getRequiredInterfaces() .get(1).getProvider(), Integer.class); + return random; } + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ public String getString() { return string; } + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ public Integer getInteger() { return integer; } + /** + * DOCUMENT ME! + * + * @param aRuntime DOCUMENT ME! + */ @Override public void doStop(Object aRuntime) { track("stop." + getName()); + if (random != (Double) aRuntime) { throw new IllegalArgumentException("Wrong runtime: expected " - + random + " but got " + aRuntime); + + random + " but got " + aRuntime); } } + /** + * DOCUMENT ME! + * + * @param aString DOCUMENT ME! + */ private void track(String aString) { if (tracker == null) { return; } + tracker.eventOccurred(aString); } }