added spring subsystem implementation.
[utils] / system / general / src / main / java / org / wamblee / system / CompositeSystem.java
index 3255149810e8f6bfe0e21b4c3f081543eaa9e2f1..155d56030f15e119b61ea04dbe0857976f575b7f 100644 (file)
@@ -21,13 +21,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,18 +79,18 @@ public class CompositeSystem extends AbstractSubSystem {
        }
 
        @Override
-       protected void doStart(String aContext, ServiceRegistry aRegistry, Service[] aRequiredServices) {
+       protected void doStart(String aContext, Service[] aRequiredServices) {
                List<ServiceDescriptor> descriptors = new ArrayList<ServiceDescriptor>();
                for (Service service : aRequiredServices) {
                        descriptors.add(service.getDescriptor());
                }
                SystemAssembler assembler = new SystemAssembler(aContext + "." + getName(), _systems,
                                descriptors.toArray(new ServiceDescriptor[0]));
-               assembler.start(aRegistry, aRequiredServices);
+               assembler.start(getRegistry(), aRequiredServices);
        }
        
        @Override
-       protected void doStop(String aContext) {
+       protected void doStop() {
                // Empty.       
        }