X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2FCompositeSystem.java;h=db94f738c7051b397f30ae380afbf1d22a085e9e;hb=42515fd88bee97ebb3a3180fdcb320faf5fa1d91;hp=f3b1bf752c08f0cbb8bdf2f3cb6ff2afc811a40f;hpb=3cdb7d1eaa6529a0d7a0409943b24bdc5af85e53;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/CompositeSystem.java b/system/general/src/main/java/org/wamblee/system/CompositeSystem.java index f3b1bf75..db94f738 100644 --- a/system/general/src/main/java/org/wamblee/system/CompositeSystem.java +++ b/system/general/src/main/java/org/wamblee/system/CompositeSystem.java @@ -11,6 +11,8 @@ import sun.util.LocaleServiceProviderPool.LocalizedObjectGetter; /** * Composite system consisting of multiple subsystems. + * + * @author Erik Brakkee */ public class CompositeSystem extends AbstractSubSystem { @@ -21,13 +23,14 @@ public class CompositeSystem extends AbstractSubSystem { /** * Construcst the composite system. * @param aName Name of the system. + * @param aRegistry Service registry. * @param aSystems Subsystems. * @param aProvided Provided services of the system. * @param aRequired Required services by the system. */ - public CompositeSystem(String aName, SubSystem[] aSystems, + public CompositeSystem(String aName, ServiceRegistry aRegistry, SubSystem[] aSystems, ServiceDescriptor[] aProvided, ServiceDescriptor[] aRequired) { - super(aName, aProvided, aRequired); + super(aName, aRegistry, aProvided, aRequired); _systems = aSystems; validate(); } @@ -78,14 +81,19 @@ public class CompositeSystem extends AbstractSubSystem { } @Override - protected void doInitialize(String aContext, Service[] aRequiredServices) { - List descriptors = new ArrayList(); + protected void doStart(String aContext, Service[] aRequiredServices) { + List descriptors = new ArrayList(); for (Service service : aRequiredServices) { descriptors.add(service.getDescriptor()); } - SystemAssembler assembler = new SystemAssembler(getName(), _systems, - descriptors.toArray(new ServiceDescriptor[0])); - assembler.start(aRequiredServices); + SystemAssembler assembler = new SystemAssembler(aContext + "." + getName(), _systems, + descriptors.toArray(new ProvidedServiceDescriptor[0])); + assembler.start(getRegistry(), aRequiredServices); + } + + @Override + protected void doStop() { + // Empty. } private void info(String aMsg) {