Better solution for setting the context. The context is now known as soon as componen...
[utils] / system / general / src / main / java / org / wamblee / system / Container.java
index bd059902d5f2a5995c5bfe6cf283fbe95f315536..65d10f06e2960d74eff34b5ed63cd560d6fa1337 100644 (file)
@@ -72,6 +72,9 @@ public class Container extends AbstractComponent {
                        ProvidedInterface[] aProvided, RequiredInterface[] aRequired) {
                super(aName, aProvided, aRequired);
                _systems = aSystems;
+               for (Component component: aSystems) { 
+                       component.addContext(getQualifiedName());
+               }
                validate(aRequired);
        }
 
@@ -130,7 +133,7 @@ public class Container extends AbstractComponent {
        }
 
        @Override
-       protected void doStart(String aContext) {
+       protected void doStart() {
                List<ProvidedInterface> provided = new ArrayList<ProvidedInterface>();
                
                // all interfaces from the required list of this container are
@@ -139,7 +142,7 @@ public class Container extends AbstractComponent {
                for (RequiredInterface intf: required) { 
                    ProvidedInterface provider = intf.getProvider(); 
                    if ( provider == null ) { 
-                       throw new SystemAssemblyException(aContext + ": required interface '" + intf +"' is not provided");
+                       throw new SystemAssemblyException(getQualifiedName() + ": required interface '" + intf +"' is not provided");
                    }
                        provided.add(intf.getProvider());
                }
@@ -155,7 +158,7 @@ public class Container extends AbstractComponent {
         *            started before.
         */
        private void startImpl() {
-               LOG.info("Starting '" + "'");
+               LOG.info("Starting '" + getQualifiedName() + "'");
                List<ProvidedInterface> allProvided = new ArrayList<ProvidedInterface>();
                
                // Add the provides of all externally required interfaces to the list of available
@@ -194,7 +197,7 @@ public class Container extends AbstractComponent {
                        }
                        
                        // Start the service. 
-                       system.start(getQualifiedName());
+                       system.start();
 
                        // add all provided services
                        ProvidedInterface[] provided = system.getProvidedServices();