import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.genius.mdsalutil.AbstractDataChangeListener;
+import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NatNodeEventListener extends AbstractDataChangeListener<Node> implements AutoCloseable {
+import java.math.BigInteger;
+
+public class NatNodeEventListener extends AsyncDataTreeChangeListenerBase<Node, NatNodeEventListener> implements
+ AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(NatNodeEventListener.class);
private ListenerRegistration<DataChangeListener> listenerRegistration;
private final DataBroker dataBroker;
public NatNodeEventListener(final DataBroker dataBroker) {
- super(Node.class);
+ super(Node.class, NatNodeEventListener.class);
this.dataBroker = dataBroker;
}
public void init() {
LOG.info("{} init", getClass().getSimpleName());
- listenerRegistration = dataBroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
- getWildCardPath(), this, AsyncDataBroker.DataChangeScope.SUBTREE);
+ registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
}
- private InstanceIdentifier<Node> getWildCardPath() {
+ @Override
+ protected InstanceIdentifier<Node> getWildCardPath() {
return InstanceIdentifier.create(Nodes.class).child(Node.class);
}
@Override
- public void close() throws Exception {
- if (listenerRegistration != null) {
- listenerRegistration.close();
- listenerRegistration = null;
- }
- LOG.info("{} close", getClass().getSimpleName());
+ protected NatNodeEventListener getDataTreeChangeListener() {
+ return NatNodeEventListener.this;
}
@Override
protected void remove(InstanceIdentifier<Node> identifier, Node del) {
- LOG.debug("NatNodeEventListener: Node removed received");
+ LOG.debug("NAT Service : NatNodeEventListener: Node removed received");
NodeId nodeId = del.getId();
String[] node = nodeId.getValue().split(":");
if(node.length < 2) {
- LOG.warn("Unexpected nodeId {}", nodeId.getValue());
+ LOG.warn("NAT Service : Unexpected nodeId {}", nodeId.getValue());
return;
}
BigInteger dpnId = new BigInteger(node[1]);
- LOG.debug("NodeId removed is {}",dpnId);
+ LOG.debug("NAT Service : NodeId removed is {}",dpnId);
}
@Override
@Override
protected void add(InstanceIdentifier<Node> identifier, Node add) {
- LOG.debug("NatNodeEventListener: Node added received");
+ LOG.debug("NAT Service : NatNodeEventListener: Node added received");
NodeId nodeId = add.getId();
String[] node = nodeId.getValue().split(":");
if(node.length < 2) {
- LOG.warn("Unexpected nodeId {}", nodeId.getValue());
+ LOG.warn("NAT Service : Unexpected nodeId {}", nodeId.getValue());
return;
}
BigInteger dpnId = new BigInteger(node[1]);
- LOG.debug("NodeId added is {}",dpnId);
+ LOG.debug("NAT Service : NodeId added is {}",dpnId);
}
}