return _name;
}
+ @Override
+ public void addContext(String aContext) {
+ if (_context == null ) {
+ _context = aContext;
+ }
+ else {
+ _context = aContext + "." + _context;
+ }
+ }
+
@Override
public String getQualifiedName() {
if ( _context == null ) {
}
@Override
- public final void start(String aContext) {
- LOG.info("Initializing '" + aContext + "." + _name + "'");
- _context = aContext;
- doStart(aContext + "." + getName());
+ public final void start() {
+ LOG.info("Initializing '" + getQualifiedName() + "'");
+ doStart();
_status = Status.RUNNING;
if ( _running.size() != _provided.size()) {
List<ProvidedInterface> remaining =
new ArrayList<ProvidedInterface>(_provided);
remaining.removeAll(_running);
- throw new SystemAssemblyException(aContext + "." + getName() + ": not all services were started, missing " + remaining);
+ throw new SystemAssemblyException(getQualifiedName() + ": not all services were started, missing " + remaining);
}
}
* Must be implemented for initializing the subsystem. The implementation
* must call {@link #addService(Service)} for each service that is started.
*/
- protected abstract void doStart(String aContext);
+ protected abstract void doStart();
/**
* Implementations must call this method to indicate that a new service has
* @param aService
* Service.
*/
- protected final void addService(String aContext,
+ protected final void addService(
ProvidedInterface aDescriptor, Object aService) {
- LOG.info(aContext + ": service '" + aService + "' started.");
+ LOG.info("Interface '" + getQualifiedName() + "." + aDescriptor.getName() + "' started.");
_running.add(aDescriptor);
aDescriptor.publish(aService);
}