Bug 3807: Fix SMR not being sent on mapping change 22/22922/2
authorLorand Jakab <lojakab@cisco.com>
Thu, 18 Jun 2015 19:59:44 +0000 (22:59 +0300)
committerFlorin Coras <fcoras@cisco.com>
Thu, 18 Jun 2015 20:25:22 +0000 (20:25 +0000)
Change-Id: I42d52bb813c936643162328fb49a9c81d3ad5968
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 4abb7ea3a56be83ed4ff27462a5fa03a23b15a3f)

mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/mdsal/MappingDataListener.java

index 51a9d9a6583131db10218287a8bf9d60187a080c..6f16351d86f3159f98f03240c9e692993f65b04f 100644 (file)
@@ -13,6 +13,7 @@ import java.util.Set;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.lispflowmapping.implementation.LispMappingService;
+import org.opendaylight.lispflowmapping.implementation.config.ConfigIni;
 import org.opendaylight.lispflowmapping.implementation.util.MapServerMapResolverUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRegister;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mapping.database.rev150314.MappingDatabase;
@@ -33,6 +34,8 @@ import org.slf4j.LoggerFactory;
 public class MappingDataListener extends AbstractDataListener {
     private static final Logger LOG = LoggerFactory.getLogger(MappingDataListener.class);
     private LispMappingService msmr;
+    private static final ConfigIni configIni = new ConfigIni();
+    private volatile boolean smr = configIni.smrIsSet();
 
     public MappingDataListener(DataBroker broker, LispMappingService msmr) {
         setBroker(broker);
@@ -59,7 +62,7 @@ public class MappingDataListener extends AbstractDataListener {
 
                 if (mapping.getOrigin() != MappingOrigin.Southbound) {
                     MapRegister register = MapServerMapResolverUtil.getMapRegister(mapping);
-                    msmr.handleMapRegister(register, false);
+                    msmr.handleMapRegister(register, smr);
                 } else {
                     LOG.trace("Mapping is coming from the southbound plugin, already handled");
                 }
@@ -78,7 +81,7 @@ public class MappingDataListener extends AbstractDataListener {
 
                 if (mapping.getOrigin() != MappingOrigin.Southbound) {
                     MapRegister register = MapServerMapResolverUtil.getMapRegister(mapping);
-                    msmr.handleMapRegister(register, false);
+                    msmr.handleMapRegister(register, smr);
                 } else {
                     LOG.trace("Mapping is coming from the southbound plugin, already handled");
                 }