Cleaned-up templates and added package.html files.
diff --git a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleHostManager.java b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleHostManager.java
index 81397cf..0c0c983 100644
--- a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleHostManager.java
+++ b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleHostManager.java
@@ -3,55 +3,56 @@
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.Service;
+import org.onlab.onos.event.AbstractListenerManager;
+import org.onlab.onos.event.EventDispatchService;
import org.onlab.onos.net.host.HostDescription;
+import org.onlab.onos.net.host.HostEvent;
+import org.onlab.onos.net.host.HostListener;
import org.onlab.onos.net.host.HostProvider;
import org.onlab.onos.net.host.HostProviderBroker;
import org.onlab.onos.net.host.HostProviderService;
import org.onlab.onos.net.provider.AbstractProviderBroker;
import org.onlab.onos.net.provider.AbstractProviderService;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
+import static org.slf4j.LoggerFactory.getLogger;
/**
* Provides basic implementation of the host SB & NB APIs.
*/
@Component(immediate = true)
@Service
-public class SimpleHostManager implements HostProviderBroker {
+public class SimpleHostManager
+ extends AbstractProviderBroker<HostProvider, HostProviderService>
+ implements HostProviderBroker {
- private Logger log = LoggerFactory.getLogger(SimpleHostManager.class);
+ private final Logger log = getLogger(getClass());
- private final HostProviderBroker broker = new InternalBroker();
+ private final AbstractListenerManager<HostEvent, HostListener>
+ listenerManager = new AbstractListenerManager<>();
+
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ private EventDispatchService eventDispatcher;
+
@Activate
public void activate() {
+ eventDispatcher.addSink(HostEvent.class, listenerManager);
log.info("Started");
}
@Deactivate
public void deactivate() {
+ eventDispatcher.removeSink(HostEvent.class);
log.info("Stopped");
}
@Override
- public HostProviderService register(HostProvider provider) {
- return broker.register(provider);
- }
-
- @Override
- public void unregister(HostProvider provider) {
- broker.unregister(provider);
- }
-
- // Internal delegate for tracking various providers and issuing them a
- // personalized provider service.
- private class InternalBroker extends AbstractProviderBroker<HostProvider, HostProviderService>
- implements HostProviderBroker {
- @Override
- protected HostProviderService createProviderService(HostProvider provider) {
- return new InternalHostProviderService(provider);
- }
+ protected HostProviderService createProviderService(HostProvider provider) {
+ return new InternalHostProviderService(provider);
}
// Personalized host provider service issued to the supplied provider.