import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase;
import org.opendaylight.controller.sal.core.IContainerListener;
import org.opendaylight.controller.sal.core.Node;
+import org.opendaylight.controller.sal.core.NodeConnector;
import org.opendaylight.controller.sal.discovery.IDiscoveryService;
import org.opendaylight.controller.sal.flowprogrammer.IPluginInFlowProgrammerService;
import org.opendaylight.controller.sal.inventory.IPluginInInventoryService;
*
*/
public void init() {
+ Node.NodeIDType.registerIDType("STUB", Integer.class);
+ NodeConnector.NodeConnectorIDType.registerIDType("STUB", Integer.class, "STUB");
}
/**
*
*/
public void destroy() {
+ Node.NodeIDType.unRegisterIDType("STUB");
+ NodeConnector.NodeConnectorIDType.unRegisterIDType("STUB");
}
/**
Dictionary<String, Object> props = new Hashtable<String, Object>();
// Set the protocolPluginType property which will be used
// by SAL
- props.put("protocolPluginType", Node.NodeIDType.OPENFLOW);
+ props.put("protocolPluginType", "STUB");
c.setInterface(IPluginInReadService.class.getName(), props);
}
Dictionary<String, Object> props = new Hashtable<String, Object>();
// Set the protocolPluginType property which will be used
// by SAL
- props.put("protocolPluginType", Node.NodeIDType.OPENFLOW);
+ props.put("protocolPluginType", "STUB");
c.setInterface(IPluginInInventoryService.class.getName(), props);
}
}
+
+ public Object[] getGlobalImplementations() {
+ Object[] res = { FlowProgrammerService.class };
+ return res;
+ }
+
+ public void configureGlobalInstance(Component c, Object imp){
+ if (imp.equals(FlowProgrammerService.class)) {
+ // export the service to be used by SAL
+ Dictionary<String, Object> props = new Hashtable<String, Object>();
+ // Set the protocolPluginType property which will be used
+ // by SAL
+ props.put("protocolPluginType", "STUB");
+ c.setInterface(IPluginInFlowProgrammerService.class.getName(), props);
+ }
+ }
}