import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
+import org.opendaylight.idmanager.IdManager;
import org.opendaylight.vpnservice.datastoreutils.AsyncDataChangeListenerBase;
import org.opendaylight.vpnservice.datastoreutils.DataStoreJobCoordinator;
import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.statehelpers.OvsInterfaceStateAddHelper;
import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.statehelpers.OvsInterfaceStateRemoveHelper;
+import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.statehelpers.OvsInterfaceStateRemoveHelper;
import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.statehelpers.OvsInterfaceStateUpdateHelper;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class InterfaceInventoryStateListener extends AsyncDataChangeListenerBase<FlowCapableNodeConnector, InterfaceInventoryStateListener> implements AutoCloseable{
private static final Logger LOG = LoggerFactory.getLogger(InterfaceInventoryStateListener.class);
private DataBroker dataBroker;
+ private IdManagerService idManager;
- public InterfaceInventoryStateListener(final DataBroker dataBroker) {
+ public InterfaceInventoryStateListener(final DataBroker dataBroker, final IdManagerService idManager) {
super(FlowCapableNodeConnector.class, InterfaceInventoryStateListener.class);
this.dataBroker = dataBroker;
+ this.idManager = idManager;
}
@Override
NodeConnectorId nodeConnectorId = InstanceIdentifier.keyOf(key.firstIdentifierOf(NodeConnector.class)).getId();
DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance();
- InterfaceStateRemoveWorker interfaceStateRemoveWorker = new InterfaceStateRemoveWorker(key,
+ InterfaceStateRemoveWorker interfaceStateRemoveWorker = new InterfaceStateRemoveWorker(idManager, key,
flowCapableNodeConnectorOld, portName);
coordinator.enqueueJob(portName, interfaceStateRemoveWorker);
}
NodeConnectorId nodeConnectorId = InstanceIdentifier.keyOf(key.firstIdentifierOf(NodeConnector.class)).getId();
DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance();
- InterfaceStateAddWorker ifStateAddWorker = new InterfaceStateAddWorker(nodeConnectorId,
+ InterfaceStateAddWorker ifStateAddWorker = new InterfaceStateAddWorker(idManager, nodeConnectorId,
fcNodeConnectorNew, portName);
coordinator.enqueueJob(portName, ifStateAddWorker);
}
private final NodeConnectorId nodeConnectorId;
private final FlowCapableNodeConnector fcNodeConnectorNew;
private final String portName;
+ private final IdManagerService idManager;
- public InterfaceStateAddWorker(NodeConnectorId nodeConnectorId,
+ public InterfaceStateAddWorker(IdManagerService idManager, NodeConnectorId nodeConnectorId,
FlowCapableNodeConnector fcNodeConnectorNew,
String portName) {
this.nodeConnectorId = nodeConnectorId;
this.fcNodeConnectorNew = fcNodeConnectorNew;
this.portName = portName;
+ this.idManager = idManager;
}
@Override
public Object call() throws Exception {
// If another renderer(for eg : CSS) needs to be supported, check can be performed here
// to call the respective helpers.
- return OvsInterfaceStateAddHelper.addState(dataBroker, nodeConnectorId,
+ return OvsInterfaceStateAddHelper.addState(dataBroker, idManager, nodeConnectorId,
portName, fcNodeConnectorNew);
}
InstanceIdentifier<FlowCapableNodeConnector> key;
FlowCapableNodeConnector fcNodeConnectorOld;
private final String portName;
+ private final IdManagerService idManager;
- public InterfaceStateRemoveWorker(InstanceIdentifier<FlowCapableNodeConnector> key,
+ public InterfaceStateRemoveWorker(IdManagerService idManager,
+ InstanceIdentifier<FlowCapableNodeConnector> key,
FlowCapableNodeConnector fcNodeConnectorOld,
String portName) {
this.key = key;
this.fcNodeConnectorOld = fcNodeConnectorOld;
this.portName = portName;
+ this.idManager = idManager;
}
@Override
public Object call() throws Exception {
// If another renderer(for eg : CSS) needs to be supported, check can be performed here
// to call the respective helpers.
- return OvsInterfaceStateRemoveHelper.removeState(key, dataBroker, portName, fcNodeConnectorOld);
+ return OvsInterfaceStateRemoveHelper.removeState(idManager, key, dataBroker, portName, fcNodeConnectorOld);
}
@Override