X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=vpnmanager%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Fvpnmanager%2Fintervpnlink%2FInterVpnLinkStateListener.java;h=dfac97b24bdd955581cc91a9ad825da2f335e96b;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=759bc8f38fdf286c9bdc0bad7ad99ae152d858e7;hpb=fffad3ab6e2bd0c6179ce5391a5d716746645aa1;p=netvirt.git diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkStateListener.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkStateListener.java index 759bc8f38f..dfac97b24b 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkStateListener.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/intervpnlink/InterVpnLinkStateListener.java @@ -7,16 +7,17 @@ */ package org.opendaylight.netvirt.vpnmanager.intervpnlink; -import com.google.common.base.Optional; -import javax.annotation.PostConstruct; +import java.util.Optional; +import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.inject.Singleton; -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.infrautils.utils.concurrent.Executors; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.netvirt.vpnmanager.api.intervpnlink.IVpnLinkService; import org.opendaylight.netvirt.vpnmanager.api.intervpnlink.InterVpnLinkCache; import org.opendaylight.netvirt.vpnmanager.api.intervpnlink.InterVpnLinkDataComposite; +import org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.InterVpnLinkStates; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.link.states.InterVpnLinkState; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -28,8 +29,7 @@ import org.slf4j.LoggerFactory; * specially for when the InterVpnLink becomes active. */ @Singleton -public class InterVpnLinkStateListener - extends AsyncDataTreeChangeListenerBase { +public class InterVpnLinkStateListener extends AbstractAsyncDataTreeChangeListener { private static final Logger LOG = LoggerFactory.getLogger(InterVpnLinkStateListener.class); @@ -40,34 +40,31 @@ public class InterVpnLinkStateListener @Inject public InterVpnLinkStateListener(final DataBroker dataBroker, final IVpnLinkService interVpnLinkService, final InterVpnLinkCache interVpnLinkCache) { + super(dataBroker, LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(InterVpnLinkStates.class) + .child(InterVpnLinkState.class), + Executors.newListeningSingleThreadExecutor("InterVpnLinkStateListener", LOG)); this.dataBroker = dataBroker; this.ivpnLinkService = interVpnLinkService; this.interVpnLinkCache = interVpnLinkCache; } - @PostConstruct public void start() { LOG.info("{} start", getClass().getSimpleName()); - registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker); } @Override - protected InstanceIdentifier getWildCardPath() { - return InstanceIdentifier.create(InterVpnLinkStates.class).child(InterVpnLinkState.class); + @PreDestroy + public void close() { + super.close(); + Executors.shutdownAndAwaitTermination(getExecutorService()); } @Override - protected InterVpnLinkStateListener getDataTreeChangeListener() { - return InterVpnLinkStateListener.this; - } - - - @Override - protected void remove(InstanceIdentifier key, InterVpnLinkState dataObjectModification) { + public void remove(InstanceIdentifier key, InterVpnLinkState dataObjectModification) { } @Override - protected void update(InstanceIdentifier key, InterVpnLinkState before, + public void update(InstanceIdentifier key, InterVpnLinkState before, InterVpnLinkState after) { if (before.getState() == InterVpnLinkState.State.Error && after.getState() == InterVpnLinkState.State.Active) { Optional optIVpnLink = @@ -84,6 +81,6 @@ public class InterVpnLinkStateListener @Override - protected void add(InstanceIdentifier key, InterVpnLinkState dataObjectModification) { + public void add(InstanceIdentifier key, InterVpnLinkState dataObjectModification) { } }