elimintated the system assembler.
[utils] / system / general / src / main / java / org / wamblee / system / AbstractComponent.java
index a9752d1f09e7104cee6af9c75685ca9ae7b53a75..3b4725835155e3cfc558fd370967e3fd4467ebd2 100644 (file)
@@ -31,7 +31,8 @@ public abstract class AbstractComponent implements Component {
 
        private static final Log LOG = LogFactory.getLog(AbstractComponent.class);
 
-       private Status _status; 
+       private Status _status;
+       private String _context; 
        private String _name; 
        private List<ProvidedInterface> _provided;
        private List<RequiredInterface> _required;
@@ -50,6 +51,7 @@ public abstract class AbstractComponent implements Component {
        protected AbstractComponent(String aName, ProvidedInterface[] aProvided,
                        RequiredInterface[] aRequired) {
                _status = Status.NOT_STARTED;
+               _context = null; 
                _name = aName;
                _provided = new ArrayList<ProvidedInterface>();
                _provided.addAll(Arrays.asList(aProvided));
@@ -67,6 +69,14 @@ public abstract class AbstractComponent implements Component {
        public final String getName() {
                return _name;
        }
+       
+       @Override
+       public String getQualifiedName() {
+               if ( _context == null ) { 
+                       return getName(); 
+               }
+               return _context + "." + getName(); 
+       }
 
        @Override
        public final ProvidedInterface[] getProvidedServices() {
@@ -81,6 +91,7 @@ public abstract class AbstractComponent implements Component {
        @Override
        public final void start(String aContext) {
                LOG.info("Initializing '" + aContext + "." + _name + "'");
+               _context = aContext; 
                doStart(aContext + "." + getName());
                _status = Status.RUNNING;
                if ( _running.size() != _provided.size()) {