From: adetalhouet Date: Fri, 30 Oct 2015 16:16:50 +0000 (-0400) Subject: Use Set instead of Map to store listeners X-Git-Tag: release/beryllium~54^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=9b9a4ecc6c0fd8beb6223f8bf3c135d9e704ff94;p=unimgr.git Use Set instead of Map to store listeners Change-Id: I1099cfef518a77a8cee07570a89ed9b1acdcedce Signed-off-by: adetalhouet --- diff --git a/impl/src/main/java/org/opendaylight/unimgr/impl/UnimgrDataChangeListener.java b/impl/src/main/java/org/opendaylight/unimgr/impl/UnimgrDataChangeListener.java index 59d6a833..249a6dd1 100644 --- a/impl/src/main/java/org/opendaylight/unimgr/impl/UnimgrDataChangeListener.java +++ b/impl/src/main/java/org/opendaylight/unimgr/impl/UnimgrDataChangeListener.java @@ -8,15 +8,16 @@ package org.opendaylight.unimgr.impl; import java.util.ArrayList; -import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; 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.DataChangeScope; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; import org.opendaylight.unimgr.api.IUnimgrDataChangeListener; import org.opendaylight.unimgr.command.Command; import org.opendaylight.unimgr.command.EvcCreateCommand; @@ -35,26 +36,23 @@ import org.slf4j.LoggerFactory; public class UnimgrDataChangeListener implements IUnimgrDataChangeListener { private static final Logger LOG = LoggerFactory.getLogger(UnimgrDataChangeListener.class); - private Map> listeners; + private Set> listeners; private DataBroker dataBroker; private TransactionInvoker invoker; public UnimgrDataChangeListener(DataBroker dataBroker, TransactionInvoker invoker) { this.dataBroker = dataBroker; this.invoker = invoker; - listeners = new HashMap>(); - ListenerRegistration uniListener = dataBroker.registerDataChangeListener( + listeners = new HashSet>(); + listeners.add(dataBroker.registerDataChangeListener( LogicalDatastoreType.CONFIGURATION, UnimgrMapper.createUniIid() - , this, DataChangeScope.SUBTREE); - ListenerRegistration evcListener = dataBroker.registerDataChangeListener( + , this, DataChangeScope.SUBTREE)); + listeners.add(dataBroker.registerDataChangeListener( LogicalDatastoreType.CONFIGURATION, UnimgrMapper.createEvcIid() - , this, DataChangeScope.SUBTREE); - ListenerRegistration ovsdbListener = dataBroker.registerDataChangeListener( + , this, DataChangeScope.SUBTREE)); + listeners.add(dataBroker.registerDataChangeListener( LogicalDatastoreType.OPERATIONAL, UnimgrMapper.getOvsdbTopologyIdentifier() - , this, DataChangeScope.SUBTREE); - listeners.put("uni", uniListener); - listeners.put("evc", evcListener); - listeners.put("ovsdb", ovsdbListener); + , this, DataChangeScope.SUBTREE)); } @Override @@ -102,10 +100,9 @@ public class UnimgrDataChangeListener implements IUnimgrDataChangeListener { @Override public void close() throws Exception { LOG.info("UnimgrDataChangeListener stopped."); - for (Map.Entry> entry : listeners.entrySet()) { - ListenerRegistration value = entry.getValue(); - if (value != null) { - value.close(); + for (ListenerRegistration listener : listeners) { + if (listener != null) { + listener.close(); } } }