X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=elanmanager%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Felan%2Fl2gw%2Fha%2Flisteners%2FManagerListener.java;h=5ad90a947af34b8755e9624032e98f49efab6a11;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=da1c97c0192f68de5d283c1a0569093e94ebd923;hpb=fffad3ab6e2bd0c6179ce5391a5d716746645aa1;p=netvirt.git diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/ManagerListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/ManagerListener.java index da1c97c019..5ad90a947a 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/ManagerListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/ManagerListener.java @@ -8,15 +8,16 @@ package org.opendaylight.netvirt.elan.l2gw.ha.listeners; import java.util.Arrays; -import javax.annotation.PostConstruct; +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.AsyncClusteredDataTreeChangeListenerBase; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; +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.elan.l2gw.ha.HwvtepHAUtil; +import org.opendaylight.serviceutils.tools.listener.AbstractClusteredAsyncDataTreeChangeListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.Managers; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; @@ -25,7 +26,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Singleton -public final class ManagerListener extends AsyncClusteredDataTreeChangeListenerBase { +public final class ManagerListener extends AbstractClusteredAsyncDataTreeChangeListener { private static final Logger LOG = LoggerFactory.getLogger(ManagerListener.class); @@ -34,34 +35,35 @@ public final class ManagerListener extends AsyncClusteredDataTreeChangeListenerB @Inject public ManagerListener(DataBroker dataBroker, HwvtepNodeHACache hwvtepNodeHACache) { - super(Managers.class, ManagerListener.class); + super(dataBroker, LogicalDatastoreType.CONFIGURATION, + HwvtepSouthboundUtils.createHwvtepTopologyInstanceIdentifier().child(Node.class) + .augmentation(HwvtepGlobalAugmentation.class).child(Managers.class), + Executors.newListeningSingleThreadExecutor("ManagerListener", LOG)); this.dataBroker = dataBroker; this.hwvtepNodeHACache = hwvtepNodeHACache; } - @PostConstruct public void init() { - registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker); + LOG.info("{} init", getClass().getSimpleName()); } @Override - protected InstanceIdentifier getWildCardPath() { - return HwvtepSouthboundUtils.createHwvtepTopologyInstanceIdentifier() - .child(Node.class) - .augmentation(HwvtepGlobalAugmentation.class) - .child(Managers.class); + @PreDestroy + public void close() { + super.close(); + Executors.shutdownAndAwaitTermination(getExecutorService()); } @Override - protected void remove(InstanceIdentifier key, Managers managers) { + public void remove(InstanceIdentifier key, Managers managers) { } @Override - protected void update(InstanceIdentifier key, Managers before, Managers after) { + public void update(InstanceIdentifier key, Managers before, Managers after) { } @Override - protected void add(InstanceIdentifier key, Managers managers) { + public void add(InstanceIdentifier key, Managers managers) { InstanceIdentifier parent = key.firstIdentifierOf(Node.class); if (managers.key().getTarget().getValue().contains(HwvtepHAUtil.MANAGER_KEY) && managers.getManagerOtherConfigs() != null) { @@ -72,9 +74,4 @@ public final class ManagerListener extends AsyncClusteredDataTreeChangeListenerB .forEach(childIid -> hwvtepNodeHACache.addChild(parent, childIid)); } } - - @Override - protected ManagerListener getDataTreeChangeListener() { - return this; - } }