Fix NPE triggered after disabling SG on a port
[netvirt.git] / openstack / net-virt-providers / src / main / java / org / opendaylight / netvirt / openstack / netvirt / providers / NetvirtProvidersConfigImpl.java
index 619e0b7d95dfa3c242332a3a78a3f6499000acc5..13c3cbc296ecd662ee97be4979ba3dd1b4fa5ece 100644 (file)
@@ -19,7 +19,8 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.netvirt.utils.mdsal.utils.MdsalUtils;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.providers.config.rev160109.*;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.providers.config.rev160109.NetvirtProvidersConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.providers.config.rev160109.NetvirtProvidersConfigBuilder;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -70,14 +71,10 @@ public class NetvirtProvidersConfigImpl implements AutoCloseable, ConfigInterfac
 
     @Override
     public void onDataChanged(final AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> asyncDataChangeEvent) {
-        executorService.submit(new Runnable() {
-
-            @Override
-            public void run() {
-                LOG.info("onDataChanged: {}", asyncDataChangeEvent);
-                processConfigCreate(asyncDataChangeEvent);
-                processConfigUpdate(asyncDataChangeEvent);
-            }
+        executorService.submit(() -> {
+            LOG.info("onDataChanged: {}", asyncDataChangeEvent);
+            processConfigCreate(asyncDataChangeEvent);
+            processConfigUpdate(asyncDataChangeEvent);
         });
     }
 
@@ -105,6 +102,30 @@ public class NetvirtProvidersConfigImpl implements AutoCloseable, ConfigInterfac
         if (netvirtProvidersConfig.getTableOffset() != null) {
             NetvirtProvidersProvider.setTableOffset(netvirtProvidersConfig.getTableOffset());
         }
+        if (netvirtProvidersConfig.getSecurityGroupTcpIdleTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupTcpIdleTimeout(netvirtProvidersConfig.getSecurityGroupTcpIdleTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupTcpHardTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupTcpHardTimeout(netvirtProvidersConfig.getSecurityGroupTcpHardTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupTcpFinIdleTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupTcpFinIdleTimeout(netvirtProvidersConfig.getSecurityGroupTcpFinIdleTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupTcpFinHardTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupTcpFinHardTimeout(netvirtProvidersConfig.getSecurityGroupTcpFinHardTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupUdpIdleTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupUdpIdleTimeout(netvirtProvidersConfig.getSecurityGroupUdpIdleTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupUdpHardTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupUdpHardTimeout(netvirtProvidersConfig.getSecurityGroupUdpHardTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupDefaultIdleTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupDefaultIdleTimeout(netvirtProvidersConfig.getSecurityGroupDefaultIdleTimeout());
+        }
+        if (netvirtProvidersConfig.getSecurityGroupDefaultHardTimeout() != null) {
+            NetvirtProvidersProvider.setSecurityGroupDefaultHardTimeout(netvirtProvidersConfig.getSecurityGroupDefaultHardTimeout());
+        }
     }
 
     @Override