Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bug 773: SimpleForwardingImpl hits NPE when .frm member is null and new host is...
[controller.git]
/
opendaylight
/
samples
/
simpleforwarding
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
samples
/
simpleforwarding
/
internal
/
Activator.java
diff --git
a/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java
b/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java
index 1a71511ef5bd0435fea671c08d10998dd9e18a00..6ee04b4e19900c87d317c241b82376851cb780d3 100644
(file)
--- a/
opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java
+++ b/
opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java
@@
-13,9
+13,6
@@
import java.util.Dictionary;
import java.util.Hashtable;
import org.apache.felix.dm.Component;
import java.util.Hashtable;
import org.apache.felix.dm.Component;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.opendaylight.controller.clustering.services.IClusterContainerServices;
import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManager;
import org.opendaylight.controller.hosttracker.IfIptoHost;
import org.opendaylight.controller.clustering.services.IClusterContainerServices;
import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManager;
import org.opendaylight.controller.hosttracker.IfIptoHost;
@@
-30,6
+27,8
@@
import org.opendaylight.controller.samples.simpleforwarding.IBroadcastPortSelect
import org.opendaylight.controller.switchmanager.IInventoryListener;
import org.opendaylight.controller.switchmanager.ISwitchManager;
import org.opendaylight.controller.topologymanager.ITopologyManager;
import org.opendaylight.controller.switchmanager.IInventoryListener;
import org.opendaylight.controller.switchmanager.ISwitchManager;
import org.opendaylight.controller.topologymanager.ITopologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class Activator extends ComponentActivatorAbstractBase {
protected static final Logger logger = LoggerFactory
public class Activator extends ComponentActivatorAbstractBase {
protected static final Logger logger = LoggerFactory
@@
-45,6
+44,7
@@
public class Activator extends ComponentActivatorAbstractBase {
* instantiated in order to get an fully working implementation
* Object
*/
* instantiated in order to get an fully working implementation
* Object
*/
+ @Override
public Object[] getImplementations() {
Object[] res = { SimpleForwardingImpl.class,
SimpleBroadcastHandlerImpl.class };
public Object[] getImplementations() {
Object[] res = { SimpleForwardingImpl.class,
SimpleBroadcastHandlerImpl.class };
@@
-64,12
+64,17
@@
public class Activator extends ComponentActivatorAbstractBase {
* also optional per-container different behavior if needed, usually
* should not be the case though.
*/
* also optional per-container different behavior if needed, usually
* should not be the case though.
*/
+ @Override
public void configureInstance(Component c, Object imp, String containerName) {
if (imp.equals(SimpleForwardingImpl.class)) {
public void configureInstance(Component c, Object imp, String containerName) {
if (imp.equals(SimpleForwardingImpl.class)) {
+ Dictionary<String, Object> props = new Hashtable<String, Object>();
+ props.put("salListenerName", "simpleforwarding");
+
// export the service
c.setInterface(new String[] { IInventoryListener.class.getName(),
IfNewHostNotify.class.getName(),
// export the service
c.setInterface(new String[] { IInventoryListener.class.getName(),
IfNewHostNotify.class.getName(),
- IListenRoutingUpdates.class.getName() }, null);
+ IListenRoutingUpdates.class.getName(),
+ IListenDataPacket.class.getName() }, props);
c.add(createContainerServiceDependency(containerName).setService(
IClusterContainerServices.class).setCallbacks(
c.add(createContainerServiceDependency(containerName).setService(
IClusterContainerServices.class).setCallbacks(
@@
-87,7
+92,7
@@
public class Activator extends ComponentActivatorAbstractBase {
c.add(createContainerServiceDependency(containerName).setService(
IForwardingRulesManager.class).setCallbacks(
"setForwardingRulesManager", "unsetForwardingRulesManager")
c.add(createContainerServiceDependency(containerName).setService(
IForwardingRulesManager.class).setCallbacks(
"setForwardingRulesManager", "unsetForwardingRulesManager")
- .setRequired(
fals
e));
+ .setRequired(
tru
e));
c.add(createContainerServiceDependency(containerName).setService(
ITopologyManager.class).setCallbacks("setTopologyManager",
c.add(createContainerServiceDependency(containerName).setService(
ITopologyManager.class).setCallbacks("setTopologyManager",
@@
-96,7
+101,11
@@
public class Activator extends ComponentActivatorAbstractBase {
c.add(createContainerServiceDependency(containerName).setService(
IRouting.class).setCallbacks("setRouting", "unsetRouting")
.setRequired(false));
c.add(createContainerServiceDependency(containerName).setService(
IRouting.class).setCallbacks("setRouting", "unsetRouting")
.setRequired(false));
- }else if (imp.equals(SimpleBroadcastHandlerImpl.class)) {
+ c.add(createContainerServiceDependency(containerName).setService(
+ IDataPacketService.class).setCallbacks("setDataPacketService",
+ "unsetDataPacketService").setRequired(false));
+
+ } else if (imp.equals(SimpleBroadcastHandlerImpl.class)) {
Dictionary<String, String> props = new Hashtable<String, String>();
props.put("salListenerName", "simplebroadcasthandler");
Dictionary<String, String> props = new Hashtable<String, String>();
props.put("salListenerName", "simplebroadcasthandler");