X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=aclservice%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Faclservice%2Flisteners%2FAclNodeListener.java;h=0cc024ddc888660c3c9e36ea20a2d797c55435ce;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=ab2bc1d5c6bb1b2b0b5e2cd44ffefa33019f70d8;hpb=fffad3ab6e2bd0c6179ce5391a5d716746645aa1;p=netvirt.git diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclNodeListener.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclNodeListener.java index ab2bc1d5c6..0cc024ddc8 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclNodeListener.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclNodeListener.java @@ -11,23 +11,24 @@ package org.opendaylight.netvirt.aclservice.listeners; import static org.opendaylight.genius.infra.Datastore.CONFIGURATION; import java.util.Collections; -import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.inject.Singleton; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.mdsalutil.MDSALUtil; import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; +import org.opendaylight.infrautils.utils.concurrent.Executors; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.netvirt.aclservice.utils.AclConstants; import org.opendaylight.netvirt.aclservice.utils.AclNodeDefaultFlowsTxBuilder; import org.opendaylight.netvirt.aclservice.utils.AclServiceUtils; import org.opendaylight.serviceutils.srm.RecoverableListener; import org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry; +import org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; @@ -44,7 +45,7 @@ import org.slf4j.LoggerFactory; * during when node is discovered. */ @Singleton -public class AclNodeListener extends AsyncDataTreeChangeListenerBase +public class AclNodeListener extends AbstractAsyncDataTreeChangeListener implements RecoverableListener { private static final Logger LOG = LoggerFactory.getLogger(AclNodeListener.class); @@ -63,7 +64,9 @@ public class AclNodeListener extends AsyncDataTreeChangeListenerBase getWildCardPath() { - return InstanceIdentifier.create(Nodes.class).child(Node.class).augmentation(FlowCapableNode.class); + public void deregisterListener() { + super.close(); } @Override - protected void remove(InstanceIdentifier key, FlowCapableNode dataObjectModification) { + public void remove(InstanceIdentifier key, FlowCapableNode dataObjectModification) { // do nothing } @Override - protected void update(InstanceIdentifier key, FlowCapableNode dataObjectModificationBefore, + public void update(InstanceIdentifier key, FlowCapableNode dataObjectModificationBefore, FlowCapableNode dataObjectModificationAfter) { // do nothing } @Override - protected void add(InstanceIdentifier key, FlowCapableNode dataObjectModification) { + public void add(InstanceIdentifier key, FlowCapableNode dataObjectModification) { NodeKey nodeKey = key.firstKeyOf(Node.class); Uint64 dpId = MDSALUtil.getDpnIdFromNodeName(nodeKey.getId()); LOG.info("Received ACL node [{}] add event", dpId); @@ -128,7 +129,9 @@ public class AclNodeListener extends AsyncDataTreeChangeListenerBase