Added getStatus() method and now also testing for the correct status.
[utils] / system / general / src / main / java / org / wamblee / system / CompositeComponent.java
similarity index 90%
rename from system/general/src/main/java/org/wamblee/system/CompositeSystem.java
rename to system/general/src/main/java/org/wamblee/system/CompositeComponent.java
index 24547a9373078878880130b8463646312e87c682..7bc120aaf3b8991f08b7b5ddac851bca8cc9d3f7 100644 (file)
@@ -14,9 +14,9 @@ import sun.util.LocaleServiceProviderPool.LocalizedObjectGetter;
  *
  * @author Erik Brakkee
  */
-public class CompositeSystem extends AbstractComponent {
+public class CompositeComponent extends AbstractComponent {
 
-       private static final Log LOG = LogFactory.getLog(CompositeSystem.class);
+       private static final Log LOG = LogFactory.getLog(CompositeComponent.class);
 
        private Component[] _systems;
 
@@ -28,7 +28,7 @@ public class CompositeSystem extends AbstractComponent {
         * @param aProvided Provided services of the system. 
         * @param aRequired Required services by the system. 
         */
-       public CompositeSystem(String aName, ServiceRegistry aRegistry, Component[] aSystems,
+       public CompositeComponent(String aName, ServiceRegistry aRegistry, Component[] aSystems,
                        InterfaceDescriptor[] aProvided, InterfaceDescriptor[] aRequired) {
                super(aName, aRegistry, aProvided, aRequired);
                _systems = aSystems;
@@ -93,7 +93,9 @@ public class CompositeSystem extends AbstractComponent {
        
        @Override
        protected void doStop() {
-               // Empty.       
+               for (int i = _systems.length-1; i >= 0; i--) { 
+                       _systems[i].stop();
+               }
        }
 
        private void info(String aMsg) {