Fix: refer to SNAT mode using getStatefulSnatFlag method

Change-Id: Ic889c3b096f847808cbe6347cce8dcd62d41151b
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
index b563dc7..8efabcd 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
@@ -30,6 +30,7 @@
 import org.onlab.util.KryoNamespace;
 import org.onlab.util.Tools;
 import org.onosproject.cfg.ComponentConfigService;
+import org.onosproject.cfg.ConfigProperty;
 import org.onosproject.cluster.ClusterService;
 import org.onosproject.cluster.LeadershipService;
 import org.onosproject.cluster.NodeId;
@@ -116,6 +117,7 @@
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.externalIpFromSubnet;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.externalPeerRouterFromSubnet;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getExternalIp;
+import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.getPropertyValueAsBoolean;
 import static org.onosproject.openstacknetworking.util.OpenstackNetworkingUtil.tunnelPortNumByNetType;
 import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.CT_NAT_SRC_FLAG;
 import static org.onosproject.openstacknetworking.util.RulePopulatorUtil.buildExtension;
@@ -272,7 +274,7 @@
 
     private void processSnatPacket(PacketContext context, Ethernet eth) {
 
-        if (useStatefulSnat) {
+        if (getStatefulSnatFlag()) {
             return;
         }
 
@@ -627,7 +629,7 @@
     }
 
     private void resetSnatRules() {
-        if (useStatefulSnat) {
+        if (getStatefulSnatFlag()) {
             osRouterService.routerInterfaces().forEach(
                     routerIface -> {
                         setReactiveSnatRules(routerIface, false);
@@ -782,7 +784,7 @@
                     IpPrefix.valueOf(osSubnet.getCidr()), netType, install);
         });
 
-        if (useStatefulSnat) {
+        if (getStatefulSnatFlag()) {
             setStatefulSnatRules(routerIface, install);
         } else {
             setReactiveSnatRules(routerIface, install);
@@ -1116,6 +1118,12 @@
                 install);
     }
 
+    private boolean getStatefulSnatFlag() {
+        Set<ConfigProperty> properties =
+                configService.getProperties(getClass().getName());
+        return getPropertyValueAsBoolean(properties, USE_STATEFUL_SNAT);
+    }
+
     private class InternalInstancePortListener implements InstancePortListener {
 
         private boolean isRelevantHelper(InstancePortEvent event) {
@@ -1202,7 +1210,7 @@
                 return;
             }
 
-            if (useStatefulSnat) {
+            if (getStatefulSnatFlag()) {
                 osNodeService.completeNodes(GATEWAY).forEach(gwNode ->
                         setGatewayToInstanceDownstreamRule(gwNode, instPort, true));
             }
@@ -1215,7 +1223,7 @@
                 return;
             }
 
-            if (useStatefulSnat) {
+            if (getStatefulSnatFlag()) {
                 osNodeService.completeNodes(GATEWAY).forEach(gwNode ->
                         setGatewayToInstanceDownstreamRule(gwNode, instPort, false));
             }
@@ -1403,7 +1411,7 @@
                 return;
             }
 
-            if (useStatefulSnat && osNode.type() == GATEWAY) {
+            if (getStatefulSnatFlag() && osNode.type() == GATEWAY) {
                 instancePortService.instancePorts().forEach(instPort ->
                         setGatewayToInstanceDownstreamRule(osNode, instPort, true));
             }
@@ -1414,7 +1422,7 @@
                 return;
             }
 
-            if (useStatefulSnat && osNode.type() == GATEWAY) {
+            if (getStatefulSnatFlag() && osNode.type() == GATEWAY) {
                 instancePortService.instancePorts().forEach(instPort ->
                         setGatewayToInstanceDownstreamRule(osNode, instPort, false));
             }