Merge "Implementing VBD API in Vpp renderer"
authorKeith Burns <alagalah@gmail.com>
Tue, 14 Jun 2016 14:11:56 +0000 (14:11 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 14 Jun 2016 14:11:56 +0000 (14:11 +0000)
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/RendererManager.java

index 9f79a90a65ac005cb25300e01e1c8f45aad6f8cc..793ad887ac498befd8e319620576fe6953e09f21 100644 (file)
@@ -141,15 +141,17 @@ public class RendererManager implements AutoCloseable {
     public synchronized void renderersUpdated(final Renderers renderersCont) {
         ImmutableMultimap<InstanceIdentifier<?>, RendererName> renderersByNode =
                 RendererUtils.resolveRenderersByNodes(renderersCont.getRenderer());
+        Map<InstanceIdentifier<?>, RendererName> oldRendererByNode = rendererByNode;
         rendererByNode = new HashMap<>();
         for (InstanceIdentifier<?> nodePath : renderersByNode.keySet()) {
             ImmutableCollection<RendererName> renderers = renderersByNode.get(nodePath);
             // only first renderer is used
             rendererByNode.put(nodePath, renderers.asList().get(0));
         }
-        if (processingRenderers.isEmpty()) {
+        if (!rendererByNode.equals(oldRendererByNode)) {
             changesWaitingToProcess = true;
-        } else {
+        }
+        if (!processingRenderers.isEmpty()) {
             LOG.debug("Waiting for renderers. Version {} needs to be processed by renderers: {}", version,
                     processingRenderers);
             ImmutableMap<RendererName, Renderer> rendererByName =