Refactor: add javadoc, restrict visibility, etc for sona switching
Change-Id: I9f5d8e53fb037a34f31dc15f9038a8fd0e756356
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/HostBasedInstancePortManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/HostBasedInstancePortManager.java
index 207cd2b..d5d1aac 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/HostBasedInstancePortManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/HostBasedInstancePortManager.java
@@ -16,6 +16,7 @@
package org.onosproject.openstacknetworking.impl;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Maps;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
@@ -33,10 +34,12 @@
import org.onosproject.net.host.HostService;
import org.onosproject.openstacknetworking.api.InstancePort;
import org.onosproject.openstacknetworking.api.InstancePortEvent;
+import org.onosproject.openstacknetworking.api.InstancePortEvent.Type;
import org.onosproject.openstacknetworking.api.InstancePortListener;
import org.onosproject.openstacknetworking.api.InstancePortService;
import org.slf4j.Logger;
+import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@@ -127,6 +130,12 @@
host.annotations().value(ANNOTATION_PORT_ID) != null;
}
+ /**
+ * An internal listener that listens host event generated by HostLocationTracker
+ * in DistributedHostStore. The role of this listener is to convert host event
+ * to instance port event and post to the subscribers that have interested on
+ * this type of event.
+ */
private class InternalHostListener implements HostListener {
@Override
@@ -142,32 +151,30 @@
@Override
public void event(HostEvent event) {
InstancePort instPort = HostBasedInstancePort.of(event.subject());
- InstancePortEvent instPortEvent;
switch (event.type()) {
case HOST_UPDATED:
- instPortEvent = new InstancePortEvent(
- OPENSTACK_INSTANCE_PORT_UPDATED,
- instPort);
- log.debug("Instance port is updated: {}", instPort);
- process(instPortEvent);
+ processEvent(OPENSTACK_INSTANCE_PORT_UPDATED, instPort);
break;
case HOST_ADDED:
- instPortEvent = new InstancePortEvent(
- OPENSTACK_INSTANCE_PORT_DETECTED,
- instPort);
- log.debug("Instance port is detected: {}", instPort);
- process(instPortEvent);
+ processEvent(OPENSTACK_INSTANCE_PORT_DETECTED, instPort);
break;
case HOST_REMOVED:
- instPortEvent = new InstancePortEvent(
- OPENSTACK_INSTANCE_PORT_VANISHED,
- instPort);
- log.debug("Instance port is disabled: {}", instPort);
- process(instPortEvent);
+ processEvent(OPENSTACK_INSTANCE_PORT_VANISHED, instPort);
break;
default:
break;
}
}
+
+ private void processEvent(Type type, InstancePort port) {
+ Map<Type, String> eventMap = Maps.newConcurrentMap();
+ eventMap.put(OPENSTACK_INSTANCE_PORT_UPDATED, "updated");
+ eventMap.put(OPENSTACK_INSTANCE_PORT_DETECTED, "detected");
+ eventMap.put(OPENSTACK_INSTANCE_PORT_VANISHED, "disabled");
+
+ InstancePortEvent instPortEvent = new InstancePortEvent(type, port);
+ log.debug("Instance port is {}: {}", eventMap.get(type), port);
+ process(instPortEvent);
+ }
}
}