Enable checkstyle for neutronvpn 91/51091/3
authorSam Hague <shague@redhat.com>
Thu, 26 Jan 2017 22:22:42 +0000 (17:22 -0500)
committerSam Hague <shague@redhat.com>
Thu, 26 Jan 2017 23:24:27 +0000 (23:24 +0000)
Change-Id: I51d61224c1f718310798a412b041261c979ac854
Signed-off-by: Sam Hague <shague@redhat.com>
32 files changed:
vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java
vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/utils/L2GatewayCacheUtils.java
vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/interfaces/INeutronVpnManager.java
vpnservice/neutronvpn/neutronvpn-impl/pom.xml
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/InterfaceStateToTransportZoneListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronBgpvpnChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronFloatingToFixedIpMappingChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronHostConfigChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronNetworkChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronQosPolicyChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronQosUtils.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronRouterChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSecurityRuleListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetChangeListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetGwMacResolver.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnNatManager.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/SubnetmapListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/TransportZoneNotificationUtil.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/l2gw/AddL2GwDevicesToTransportZoneJob.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/l2gw/L2GatewayListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/l2gw/L2GatewayUtils.java
vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/l2gw/L2GwTransportZoneListener.java
vpnservice/neutronvpn/neutronvpn-impl/src/test/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListenerTest.java
vpnservice/neutronvpn/neutronvpn-impl/src/test/java/org/opendaylight/netvirt/neutronvpn/ToTransportZoneTest.java
vpnservice/neutronvpn/neutronvpn-shell/src/main/java/org/opendaylight/netvirt/neutronvpn/shell/ConfigureL3VpnCommand.java
vpnservice/neutronvpn/neutronvpn-shell/src/main/java/org/opendaylight/netvirt/neutronvpn/shell/DhcpConfigureCommand.java
vpnservice/neutronvpn/neutronvpn-shell/src/main/java/org/opendaylight/netvirt/neutronvpn/shell/DhcpShowCommand.java
vpnservice/neutronvpn/neutronvpn-shell/src/main/java/org/opendaylight/netvirt/neutronvpn/shell/ShowSubnet.java
vpnservice/neutronvpn/neutronvpn-shell/src/main/java/org/opendaylight/netvirt/neutronvpn/shell/ShowVpnIpToPort.java

index e65e3e952d67406c7ace32d610a6576a3a168f09..57d20e1666c5995c7289414931c113d926b97db7 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.netvirt.neutronvpn.api.l2gw;
 
 import com.google.common.base.Function;
 import com.google.common.collect.Lists;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -19,8 +18,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
-
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes.Devices;
@@ -31,25 +28,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hw
  */
 public class L2GatewayDevice {
 
-    /** The device name. */
     String deviceName;
-
-    /** The hwvtep node id. */
     String hwvtepNodeId;
-
-    /** The tunnel ips. */
     Set<IpAddress> tunnelIps = new HashSet<>();
-
-    /** The l2 gateway ids. */
     Set<Uuid> l2GatewayIds = new HashSet<>();
-
-    /** The ucast local macs. */
     List<LocalUcastMacs> ucastLocalMacs = Collections.synchronizedList(new ArrayList<>());
-
-    /** the status of this device connectin */
     AtomicBoolean connected = new AtomicBoolean(false);
-
-    /** Connection Id to Devices */
     Map<Uuid,List<Devices>> l2gwConnectionIdToDevices = new HashMap<>();
 
     /**
index cab31553552b64d07d989942ea92f8bf841dcd87..bc01681d3a0a78801cc9f6e2e8595b000fb25e09 100644 (file)
@@ -8,9 +8,8 @@
 package org.opendaylight.netvirt.neutronvpn.api.l2gw.utils;
 
 import java.util.concurrent.ConcurrentMap;
-
-import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.genius.utils.cache.CacheUtil;
+import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 
 public class L2GatewayCacheUtils {
     public static final String L2GATEWAY_CACHE_NAME = "L2GW";
index 5f7044042ae1b33c3027567c9e7c11ebebc8cd6b..e99d784a25fe180c72f37ed27e26920c5db143cc 100644 (file)
@@ -8,15 +8,14 @@
 
 package org.opendaylight.netvirt.neutronvpn.interfaces;
 
+import java.util.Collection;
+import java.util.List;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
 
-import java.util.Collection;
-import java.util.List;
-
 public interface INeutronVpnManager {
 
     void addSubnetToVpn(Uuid vpnId, Uuid subnet);
@@ -33,10 +32,10 @@ public interface INeutronVpnManager {
 
     Port getNeutronPort(String name);
 
-    Subnet getNeutronSubnet(Uuid subnetId);
-
     Port getNeutronPort(Uuid portId);
 
+    Subnet getNeutronSubnet(Uuid subnetId);
+
     IpAddress getNeutronSubnetGateway(Uuid subnetId);
 
     String getVifPortName(Port port);
index 6b663b5fb430bbfb8d7174dab2543773c1724317..a1c95de9f4864cf03a29985274b6524f6c4828f3 100644 (file)
@@ -114,6 +114,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   </distributionManagement>
   <build>
     <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
+        </configuration>
+      </plugin>
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
index a53491d065f3735b592c6becfab48c461b70535e..aeec7e58d59e45707fa44be61cf14ab6f99f4a50 100644 (file)
@@ -17,7 +17,9 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class InterfaceStateToTransportZoneListener extends AsyncDataTreeChangeListenerBase<Interface, InterfaceStateToTransportZoneListener> implements ClusteredDataTreeChangeListener<Interface>, AutoCloseable{
+public class InterfaceStateToTransportZoneListener
+    extends AsyncDataTreeChangeListenerBase<Interface, InterfaceStateToTransportZoneListener>
+    implements ClusteredDataTreeChangeListener<Interface>, AutoCloseable {
 
     private static final Logger LOG = LoggerFactory.getLogger(InterfaceStateToTransportZoneListener.class);
     private TransportZoneNotificationUtil ism;
index 6adb88a288dd4208527c37c3c2ac75c67cda16fb..358701ea5b0b5559241fa83320003af9f9c46a29 100644 (file)
@@ -45,13 +45,13 @@ public class NeutronBgpvpnChangeListener extends AsyncDataTreeChangeListenerBase
     private final IdManagerService idManager;
     private final String adminRDValue;
 
-    public NeutronBgpvpnChangeListener(final DataBroker dataBroker, final NeutronvpnManager nVpnMgr,
+    public NeutronBgpvpnChangeListener(final DataBroker dataBroker, final NeutronvpnManager neutronvpnManager,
                                        final IdManagerService idManager) {
         super(Bgpvpn.class, NeutronBgpvpnChangeListener.class);
         this.dataBroker = dataBroker;
-        nvpnManager = nVpnMgr;
+        nvpnManager = neutronvpnManager;
         this.idManager = idManager;
-        BundleContext bundleContext=FrameworkUtil.getBundle(NeutronBgpvpnChangeListener.class).getBundleContext();
+        BundleContext bundleContext = FrameworkUtil.getBundle(NeutronBgpvpnChangeListener.class).getBundleContext();
         adminRDValue = bundleContext.getProperty(NeutronConstants.RD_PROPERTY_KEY);
     }
 
@@ -81,12 +81,12 @@ public class NeutronBgpvpnChangeListener extends AsyncDataTreeChangeListenerBase
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void add(InstanceIdentifier<Bgpvpn> identifier, Bgpvpn input) {
         LOG.trace("Adding Bgpvpn : key: {}, value={}", identifier, input);
         if (isBgpvpnTypeL3(input.getType())) {
             // handle route-target(s)
-            List<String> importRouteTargets = new ArrayList<String>();
-            List<String> exportRouteTargets = new ArrayList<String>();
             List<String> inputRouteList = input.getRouteTargets();
             List<String> inputImportRouteList = input.getImportTargets();
             List<String> inputExportRouteList = input.getExportTargets();
@@ -104,6 +104,8 @@ public class NeutronBgpvpnChangeListener extends AsyncDataTreeChangeListenerBase
                 inputExportRouteSet.addAll(inputExportRouteList);
             }
 
+            List<String> importRouteTargets = new ArrayList<String>();
+            List<String> exportRouteTargets = new ArrayList<String>();
             importRouteTargets.addAll(inputImportRouteSet);
             exportRouteTargets.addAll(inputExportRouteSet);
 
@@ -126,8 +128,8 @@ public class NeutronBgpvpnChangeListener extends AsyncDataTreeChangeListenerBase
             }
             if (rd != null) {
                 try {
-                    nvpnManager.createL3Vpn(input.getUuid(), input.getName(), input.getTenantId(), rd, importRouteTargets,
-                            exportRouteTargets, router, input.getNetworks());
+                    nvpnManager.createL3Vpn(input.getUuid(), input.getName(), input.getTenantId(), rd,
+                        importRouteTargets, exportRouteTargets, router, input.getNetworks());
                 } catch (Exception e) {
                     LOG.error("Creation of BGPVPN {} failed with error message {}. ", input.getUuid(),
                             e.getMessage(), e);
@@ -216,16 +218,14 @@ public class NeutronBgpvpnChangeListener extends AsyncDataTreeChangeListenerBase
                 if (oldRouters.size() > 1 || newRouters.size() > 1) {
                     VpnMap vpnMap = NeutronvpnUtils.getVpnMap(dataBroker, vpnId);
                     if (vpnMap.getRouterId() != null) {
-                        LOG.warn("Only Single Router association  to a given bgpvpn is allowed .Kindly de-associate " +
-                                "router " + vpnMap.getRouterId().getValue() + " from vpn " + vpnId + " before " +
-                                "proceeding with associate");
+                        LOG.warn("Only Single Router association to a given bgpvpn is allowed. Kindly de-associate"
+                            + " router " + vpnMap.getRouterId().getValue()
+                            + " from vpn " + vpnId + " before proceeding with associate");
                     }
-                    return;
                 }
             } else if (validateRouteInfo(newRouters.get(0))) {
                 nvpnManager.associateRouterToVpn(vpnId, newRouters.get(0));
             }
-
         } else if (oldRouters != null && !oldRouters.isEmpty()) {
                 /* dissociate old router */
             Uuid oldRouter = oldRouters.get(0);
index 1b145b44c4eb056c91feea4919212f1b43483a9a..72b328eb014858d09605f921eb4808c7e712e103 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.netvirt.neutronvpn;
 
+import static org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils.buildfloatingIpIdToPortMappingIdentifier;
+
 import com.google.common.base.Optional;
 import java.util.ArrayList;
 import java.util.List;
@@ -34,8 +36,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils.buildfloatingIpIdToPortMappingIdentifier;
-
 public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTreeChangeListenerBase<Floatingip,
         NeutronFloatingToFixedIpMappingChangeListener> implements AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronFloatingToFixedIpMappingChangeListener.class);
@@ -107,6 +107,8 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void addToFloatingIpInfo(String routerName, Uuid extNetworkId, String fixedNeutronPortName, String
             fixedIpAddress, String floatingIpAddress, Uuid floatingIpId) {
         RouterPortsBuilder routerPortsBuilder;
@@ -117,14 +119,14 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
             Optional<RouterPorts> optionalRouterPorts = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType
                     .CONFIGURATION, routerPortsIdentifier);
             if (optionalRouterPorts.isPresent()) {
-                LOG.debug("Updating routerPorts node {} in floatingIpInfo DS for floating IP () on fixed " +
-                        "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
+                LOG.debug("Updating routerPorts node {} in floatingIpInfo DS for floating IP () on fixed "
+                    + "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
                 routerPortsBuilder = new RouterPortsBuilder(optionalRouterPorts.get());
             } else {
-                LOG.debug("Creating new routerPorts node {} in floatingIpInfo DS for floating IP () on fixed " +
-                        "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
-                routerPortsBuilder = new RouterPortsBuilder().setKey(new RouterPortsKey(routerName)).setRouterId
-                        (routerName);
+                LOG.debug("Creating new routerPorts node {} in floatingIpInfo DS for floating IP () on fixed "
+                    + "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
+                routerPortsBuilder =
+                    new RouterPortsBuilder().setKey(new RouterPortsKey(routerName)).setRouterId(routerName);
             }
             if (extNetworkId != null) {
                 routerPortsBuilder.setExternalNetworkId(extNetworkId);
@@ -161,10 +163,10 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
                 routerPortsBuilder.setPorts(portsList);
             }
             isLockAcquired = NeutronvpnUtils.lock(routerName);
-            LOG.debug("Creating/Updating routerPorts node {} in floatingIpInfo DS for floating IP () on fixed " +
-                    "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
-            MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, routerPortsIdentifier, routerPortsBuilder
-                    .build());
+            LOG.debug("Creating/Updating routerPorts node {} in floatingIpInfo DS for floating IP () on fixed "
+                + "neutron port {} : ", routerName, floatingIpAddress, fixedNeutronPortName);
+            MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, routerPortsIdentifier,
+                routerPortsBuilder.build());
             LOG.debug("FloatingIpInfo DS updated for floating IP {} ", floatingIpAddress);
         } catch (Exception e) {
             LOG.error("addToFloatingIpInfo failed for floating IP: {} ", floatingIpAddress);
@@ -175,6 +177,8 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void clearFromFloatingIpInfo(String routerName, String fixedNeutronPortName, String fixedIpAddress) {
         boolean isLockAcquired = false;
         InstanceIdentifier.InstanceIdentifierBuilder<RouterPorts> routerPortsIdentifierBuilder = InstanceIdentifier
@@ -223,6 +227,8 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void dissociatefixedIPFromFloatingIP(String fixedNeutronPortName) {
         boolean isLockAcquired = false;
         InstanceIdentifier.InstanceIdentifierBuilder<FloatingIpInfo> floatingIpInfoIdentifierBuilder =
@@ -240,8 +246,8 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
                                 if (ports.getPortName().equals(fixedNeutronPortName)) {
                                     String routerName = routerPorts.getRouterId();
                                     InstanceIdentifier.InstanceIdentifierBuilder<RouterPorts>
-                                            routerPortsIdentifierBuilder = floatingIpInfoIdentifierBuilder.child
-                                            (RouterPorts.class, new RouterPortsKey(routerName));
+                                        routerPortsIdentifierBuilder = floatingIpInfoIdentifierBuilder
+                                        .child(RouterPorts.class, new RouterPortsKey(routerName));
                                     removeRouterPortsOrPortsNode(routerName, routerPortsIdentifierBuilder, portsList,
                                             fixedNeutronPortName, isLockAcquired);
                                     LOG.debug("Deletion from FloatingIpInfo DS successful for fixedIP neutron port {} ",
@@ -255,14 +261,16 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
                     LOG.debug("No router present containing fixed to floating IP association(s)");
                 }
             } else {
-                LOG.debug("FloatingIPInfo DS empty. Hence, no router present containing fixed to floating IP " +
-                        "association(s)");
+                LOG.debug("FloatingIPInfo DS empty. Hence, no router present containing fixed to floating IP "
+                    + "association(s)");
             }
         } catch (Exception e) {
             LOG.error("Failed to dissociate fixedIP from FloatingIpInfo DS for neutron port {}", fixedNeutronPortName);
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void removeRouterPortsOrPortsNode(String routerName, InstanceIdentifier
             .InstanceIdentifierBuilder<RouterPorts> routerPortsIdentifierBuilder, List<Ports> portsList,
                                               String fixedNeutronPortName, boolean isLockAcquired) {
@@ -276,12 +284,12 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
                 MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, routerPortsIdentifierBuilder
                         .build());
             } else {
-                InstanceIdentifier.InstanceIdentifierBuilder<Ports> portsIdentifierBuilder =
-                        routerPortsIdentifierBuilder.child(Ports.class, new PortsKey(fixedNeutronPortName));
                 // remove entire ports node under this routerPorts node
                 lockName = fixedNeutronPortName;
                 isLockAcquired = NeutronvpnUtils.lock(lockName);
                 LOG.debug("removing ports node {} under routerPorts node {}", fixedNeutronPortName, routerName);
+                InstanceIdentifier.InstanceIdentifierBuilder<Ports> portsIdentifierBuilder =
+                    routerPortsIdentifierBuilder.child(Ports.class, new PortsKey(fixedNeutronPortName));
                 MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, portsIdentifierBuilder.build());
             }
         } catch (Exception e) {
@@ -293,33 +301,37 @@ public class NeutronFloatingToFixedIpMappingChangeListener extends AsyncDataTree
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     // updates FloatingIPPortInfo to have isFloatingIPDeleted set to true on a floating IP delete
     private void updateFloatingIpPortInfo(Uuid floatingIpId, Uuid floatingIpPortId) {
         InstanceIdentifier id = buildfloatingIpIdToPortMappingIdentifier(floatingIpId);
         try {
             FloatingIpIdToPortMappingBuilder floatingIpIdToPortMappingBuilder = new
                     FloatingIpIdToPortMappingBuilder().setFloatingIpId(floatingIpId).setFloatingIpDeleted(true);
-            LOG.debug("Updating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP" +
-                            " Port Info Config DS to set isFloatingIpDeleted flag as true", floatingIpId.getValue(),
-                    floatingIpPortId.getValue());
+            LOG.debug("Updating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP"
+                    + " Port Info Config DS to set isFloatingIpDeleted flag as true",
+                floatingIpId.getValue(), floatingIpPortId.getValue());
             MDSALUtil.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION, id,
                     floatingIpIdToPortMappingBuilder.build());
         } catch (Exception e) {
-            LOG.error("Updating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP" +
-                    " Port Info Config DS to set isFloatingIpDeleted flag as true failed with exception {}",
-                    floatingIpId.getValue(), floatingIpPortId.getValue(), e);
+            LOG.error("Updating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP"
+                    " Port Info Config DS to set isFloatingIpDeleted flag as true failed with exception {}",
+                floatingIpId.getValue(), floatingIpPortId.getValue(), e);
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void removeFromFloatingIpPortInfo(Uuid floatingIpId) {
         InstanceIdentifier id = buildfloatingIpIdToPortMappingIdentifier(floatingIpId);
         try {
-            LOG.debug("Deleting floating IP UUID {} to Floating IP neutron port mapping from Floating " +
-                    "IP Port Info Config DS", floatingIpId.getValue());
+            LOG.debug("Deleting floating IP UUID {} to Floating IP neutron port mapping from Floating "
+                + "IP Port Info Config DS", floatingIpId.getValue());
             MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, id);
         } catch (Exception e) {
-            LOG.error("Deleting floating IP UUID {} to Floating IP neutron port mapping from Floating " +
-                    "IP Port Info Config DS failed with exception {}", floatingIpId.getValue(), e);
+            LOG.error("Deleting floating IP UUID {} to Floating IP neutron port mapping from Floating "
+                + "IP Port Info Config DS failed with exception {}", floatingIpId.getValue(), e);
         }
     }
 }
index 8b322e8f89146daa664793ea85fd423d2f7a6ca4..3569a05e4b61ae99c051ce82495333ed79860be6 100644 (file)
@@ -44,7 +44,7 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
         DELETE
     }
 
-    public NeutronHostConfigChangeListener(final DataBroker dataBroker){
+    public NeutronHostConfigChangeListener(final DataBroker dataBroker) {
         super(Node.class,NeutronHostConfigChangeListener.class);
         this.dataBroker = dataBroker;
         this.mdsalUtils = new MdsalUtils(dataBroker);
@@ -57,7 +57,7 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
     }
 
     @Override
-    protected InstanceIdentifier<Node> getWildCardPath(){
+    protected InstanceIdentifier<Node> getWildCardPath() {
         return InstanceIdentifier
                 .create(NetworkTopology.class)
                 .child(Topology.class,new TopologyKey(SouthboundUtils.OVSDB_TOPOLOGY_ID))
@@ -71,27 +71,27 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
 
 
     @Override
-    protected void remove(InstanceIdentifier<Node>identifier, Node del){
+    protected void remove(InstanceIdentifier<Node> identifier, Node del) {
         updateHostConfig(del, Action.DELETE);
     }
 
     @Override
-    protected void update(InstanceIdentifier<Node>identifier, Node original, Node update){
+    protected void update(InstanceIdentifier<Node> identifier, Node original, Node update) {
         updateHostConfig(update, Action.UPDATE);
     }
 
     @Override
-    protected void add(InstanceIdentifier<Node>identifier, Node add){
+    protected void add(InstanceIdentifier<Node> identifier, Node add) {
         updateHostConfig(add, Action.ADD);
 
     }
 
     private void updateHostConfig(Node node, Action action) {
         String hostId = getExternalId(node, OS_HOST_CONFIG_HOST_ID_KEY);
-        if (hostId == null){
+        if (hostId == null) {
             return;
         }
-        for(Map.Entry<String,String> entry : extractHostConfig(node).entrySet()) {
+        for (Map.Entry<String,String> entry : extractHostConfig(node).entrySet()) {
             updateMdsal(buildHostConfigInfo(hostId, entry.getKey(), entry.getValue()), action);
         }
     }
@@ -111,8 +111,9 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
                             hostType = hostType.substring(0, HOST_TYPE_STR_LEN);
                         }
                         hostType = "ODL " + hostType.toUpperCase();
-                        if (null != openvswitchExternalIds.getExternalIdValue())
+                        if (null != openvswitchExternalIds.getExternalIdValue()) {
                             config.put(hostType, openvswitchExternalIds.getExternalIdValue());
+                        }
                     }
                 }
             }
@@ -138,6 +139,9 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
                 result = mdsalUtils.delete(LogicalDatastoreType.OPERATIONAL, hostConfigId);
                 LOG.trace("Delete Node: result: {}", result);
                 break;
+            default:
+                LOG.warn("Invalid action: %s", action);
+                break;
         }
     }
 
@@ -161,8 +165,7 @@ public class NeutronHostConfigChangeListener extends AsyncDataTreeChangeListener
         return null;
     }
 
-    private OvsdbNodeAugmentation getOvsdbNodeAugmentation(Node node)
-    {
+    private OvsdbNodeAugmentation getOvsdbNodeAugmentation(Node node) {
         OvsdbNodeAugmentation ovsdbNode = southboundUtils.extractOvsdbNode(node);
         if (ovsdbNode == null) {
             Node nodeFromReadOvsdbNode = southboundUtils.readOvsdbNode(node);
index 4d2b61270ba4b5275af48d4fed276a7cb66dcce2..efc7b8bfe5ee23e1d1c6dda1e3b2f3c4285c3491 100644 (file)
@@ -7,9 +7,8 @@
  */
 package org.opendaylight.netvirt.neutronvpn;
 
-import java.util.Objects;
-
 import com.google.common.base.Optional;
+import java.util.Objects;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
@@ -40,13 +39,14 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
     private final IElanService elanService;
     private OdlInterfaceRpcService odlInterfaceRpcService;
 
-    public NeutronNetworkChangeListener(final DataBroker dataBroker, final NeutronvpnManager nVpnMgr,
-                                        final NeutronvpnNatManager nVpnNatMgr, final IElanService elanService,
+    public NeutronNetworkChangeListener(final DataBroker dataBroker, final NeutronvpnManager neutronvpnManager,
+                                        final NeutronvpnNatManager neutronvpnNatManager,
+                                        final IElanService elanService,
                                         OdlInterfaceRpcService odlInterfaceRpcService) {
         super(Network.class, NeutronNetworkChangeListener.class);
         this.dataBroker = dataBroker;
-        nvpnManager = nVpnMgr;
-        nvpnNatManager = nVpnNatMgr;
+        nvpnManager = neutronvpnManager;
+        nvpnNatManager = neutronvpnNatManager;
         this.elanService = elanService;
         this.odlInterfaceRpcService = odlInterfaceRpcService;
     }
@@ -71,7 +71,8 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
     protected void add(InstanceIdentifier<Network> identifier, Network input) {
         LOG.trace("Adding Network : key: {}, value={}", identifier, input);
         if (!NeutronvpnUtils.isNetworkTypeSupported(input)) {
-            LOG.error("Neutronvpn doesn't support this network provider type for this network {} and uuid {}.", input.getName(), input.getUuid());
+            LOG.error("Neutronvpn doesn't support this network provider type for this network {} and uuid {}.",
+                input.getName(), input.getUuid());
             return;
         }
 
@@ -178,9 +179,11 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
         Class<? extends SegmentTypeBase> segmentType = NeutronvpnUtils.getSegmentTypeFromNeutronNetwork(input);
         String segmentationId = NeutronUtils.getSegmentationIdFromNeutronNetwork(input);
         String physicalNetworkName = NeutronvpnUtils.getPhysicalNetworkName(input);
-        ElanInstance elanInstance = createElanInstance(elanInstanceName, segmentType, segmentationId, physicalNetworkName);
+        ElanInstance elanInstance = createElanInstance(elanInstanceName, segmentType, segmentationId,
+            physicalNetworkName);
         InstanceIdentifier<ElanInstance> id = createElanInstanceIdentifier(elanInstanceName);
-        Optional<ElanInstance> existingElanInstance = MDSALUtil.read(dataBroker, LogicalDatastoreType.CONFIGURATION, id);
+        Optional<ElanInstance> existingElanInstance =
+            MDSALUtil.read(dataBroker, LogicalDatastoreType.CONFIGURATION, id);
         if (existingElanInstance.isPresent()) {
             return existingElanInstance.get();
         }
@@ -189,6 +192,22 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
         return elanInstance;
     }
 
+    private ElanInstance createElanInstance(String elanInstanceName, Class<? extends SegmentTypeBase> segmentType,
+                                            String segmentationId, String physicalNetworkName) {
+        ElanInstanceBuilder elanInstanceBuilder = new ElanInstanceBuilder().setElanInstanceName(elanInstanceName);
+        if (segmentType != null) {
+            elanInstanceBuilder.setSegmentType(segmentType);
+            if (segmentationId != null) {
+                elanInstanceBuilder.setSegmentationId(Long.valueOf(segmentationId));
+            }
+            if (physicalNetworkName != null) {
+                elanInstanceBuilder.setPhysicalNetworkName(physicalNetworkName);
+            }
+        }
+        elanInstanceBuilder.setKey(new ElanInstanceKey(elanInstanceName));
+        return elanInstanceBuilder.build();
+    }
+
     private void deleteElanInstance(String elanInstanceName) {
         InstanceIdentifier<ElanInstance> id = createElanInstanceIdentifier(elanInstanceName);
         MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, id);
@@ -197,7 +216,8 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
 
     private ElanInstance updateElanInstance(String elanInstanceName, Class<? extends SegmentTypeBase> segmentType,
             String segmentationId, String physicalNetworkName) {
-        ElanInstance elanInstance = createElanInstance(elanInstanceName, segmentType, segmentationId, physicalNetworkName);
+        ElanInstance elanInstance =
+            createElanInstance(elanInstanceName, segmentType, segmentationId, physicalNetworkName);
         InstanceIdentifier<ElanInstance> id = createElanInstanceIdentifier(elanInstanceName);
         MDSALUtil.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION, id, elanInstance);
         return elanInstance;
@@ -208,21 +228,4 @@ public class NeutronNetworkChangeListener extends AsyncDataTreeChangeListenerBas
                 .child(ElanInstance.class, new ElanInstanceKey(elanInstanceName)).build();
         return id;
     }
-
-    private ElanInstance createElanInstance(String elanInstanceName, Class<? extends SegmentTypeBase> segmentType,
-            String segmentationId, String physicalNetworkName) {
-        ElanInstanceBuilder elanInstanceBuilder = new ElanInstanceBuilder().setElanInstanceName(elanInstanceName);
-        if (segmentType != null) {
-            elanInstanceBuilder.setSegmentType(segmentType);
-            if (segmentationId != null) {
-                elanInstanceBuilder.setSegmentationId(Long.valueOf(segmentationId));
-            }
-            if (physicalNetworkName != null) {
-                elanInstanceBuilder.setPhysicalNetworkName(physicalNetworkName);
-            }
-        }
-        elanInstanceBuilder.setKey(new ElanInstanceKey(elanInstanceName));
-        return elanInstanceBuilder.build();
-    }
-
 }
index 13179ab7d75ab058227afef52d2eae4db6636f3c..fa486eaab6761c3ed271ba9f5a6af42bab3c84d3 100644 (file)
@@ -40,17 +40,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAcl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAclBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInterfaces;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstanceKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.ElanInterface;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.ElanInterfaceBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.ElanInterfaceKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMappingBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMappingKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.PortAddedToSubnetBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.PortRemovedFromSubnetBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.Subnetmap;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
@@ -75,15 +70,16 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
     private final IElanService elanService;
 
     public NeutronPortChangeListener(final DataBroker dataBroker,
-                                     final NeutronvpnManager nVpnMgr, final NeutronvpnNatManager nVpnNatMgr,
+                                     final NeutronvpnManager neutronvpnManager,
+                                     final NeutronvpnNatManager neutronvpnNatManager,
                                      final NotificationPublishService notiPublishService,
                                      final NeutronSubnetGwMacResolver gwMacResolver,
                                      final OdlInterfaceRpcService odlInterfaceRpcService,
                                      final IElanService elanService) {
         super(Port.class, NeutronPortChangeListener.class);
         this.dataBroker = dataBroker;
-        nvpnManager = nVpnMgr;
-        nvpnNatManager = nVpnNatMgr;
+        nvpnManager = neutronvpnManager;
+        nvpnNatManager = neutronvpnNatManager;
         notificationPublishService = notiPublishService;
         this.gwMacResolver = gwMacResolver;
         this.odlInterfaceRpcService = odlInterfaceRpcService;
@@ -114,8 +110,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, input.getNetworkId());
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
             //FIXME: This should be removed when support for VLAN and GRE network types is added
-            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of " +
-                    "network {}.", portName, network);
+            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of "
+                + "network {}.", portName, network);
             return;
         }
         NeutronvpnUtils.addToPortCache(input);
@@ -151,8 +147,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, input.getNetworkId());
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
             //FIXME: This should be removed when support for VLAN and GRE network types is added
-            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of " +
-                    "network {}.", input.getUuid().getValue(), network);
+            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of "
+                + "network {}.", input.getUuid().getValue(), network);
             return;
         }
         NeutronvpnUtils.removeFromPortCache(input);
@@ -174,13 +170,15 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void update(InstanceIdentifier<Port> identifier, Port original, Port update) {
         final String portName = update.getUuid().getValue();
         LOG.trace("Updating Port : key: {}, original value={}, update value={}", identifier, original, update);
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, update.getNetworkId());
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
-            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of " +
-                    "network {}. Skipping the processing of Port update DCN", portName, network);
+            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of "
+                + "network {}. Skipping the processing of Port update DCN", portName, network);
             return;
         }
         NeutronvpnUtils.addToPortCache(update);
@@ -213,8 +211,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
                         if (optionalInf.isPresent()) {
                             InterfaceBuilder interfaceBuilder = new InterfaceBuilder(optionalInf.get());
                             if (isPortVifTypeUpdated && getParentRefsBuilder(update) != null) {
-                                interfaceBuilder.addAugmentation(ParentRefs.class, getParentRefsBuilder(update).build
-                                        ());
+                                interfaceBuilder.addAugmentation(ParentRefs.class,
+                                    getParentRefsBuilder(update).build());
                             }
                             if (origSecurityEnabled || updatedSecurityEnabled) {
                                 InterfaceAcl infAcl = handlePortSecurityUpdated(original, update,
@@ -307,9 +305,9 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
                     nvpnManager.createVpnInterface(vpnId, routerId, routerPort, null);
                 }
             } else {
-                LOG.error("Neutron network {} corresponding to router interface port {} for neutron router {} already" +
-                        " associated to VPN {}", infNetworkId.getValue(), routerPort.getUuid().getValue(), routerId
-                        .getValue(), existingVpnId.getValue());
+                LOG.error("Neutron network {} corresponding to router interface port {} for neutron router {} already"
+                    + " associated to VPN {}", infNetworkId.getValue(), routerPort.getUuid().getValue(),
+                    routerId.getValue(), existingVpnId.getValue());
             }
         }
     }
@@ -323,7 +321,7 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
                     NwConstants.DEL_FLOW);
             for (FixedIps portIP : routerPort.getFixedIps()) {
                 Uuid vpnId = NeutronvpnUtils.getVpnForRouter(dataBroker, routerId, true);
-                if(vpnId == null) {
+                if (vpnId == null) {
                     vpnId = routerId;
                 }
                 // NOTE:  Please donot change the order of calls to removeSubnetFromVpn and
@@ -444,43 +442,38 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         }
 
         final DataStoreJobCoordinator portDataStoreCoordinator = DataStoreJobCoordinator.getInstance();
-        portDataStoreCoordinator.enqueueJob("PORT- " + portupdate.getUuid().getValue(), new
-                Callable<List<ListenableFuture<Void>>>() {
-                    @Override
-                    public List<ListenableFuture<Void>> call() throws Exception {
-                        WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction();
-                        List<ListenableFuture<Void>> futures = new ArrayList<>();
-
-                        Uuid vpnIdNew = null;
-                        final Uuid subnetIdOr = portupdate.getFixedIps().get(0).getSubnetId();
-                        final Uuid subnetIdUp = portupdate.getFixedIps().get(0).getSubnetId();
-                        // check if subnet UUID has changed upon change in fixedIP
-                        final Boolean subnetUpdated = subnetIdUp.equals(subnetIdOr) ? false : true;
-
-                        if (subnetUpdated) {
-                            Subnetmap subnetMapOld = nvpnManager.removePortsFromSubnetmapNode(subnetIdOr, portoriginal
-                                    .getUuid(), null);
-                            Uuid vpnIdOld = (subnetMapOld != null) ? subnetMapOld.getVpnId() : null;
-                            Subnetmap subnetMapNew = nvpnManager.updateSubnetmapNodeWithPorts(subnetIdUp, portupdate
-                                            .getUuid(), null);
-                            vpnIdNew = (subnetMapNew != null) ? subnetMapNew.getVpnId() : null;
-                        }
-                        if (!subnetUpdated) {
-                            Subnetmap subnetmap = NeutronvpnUtils.getSubnetmap(dataBroker, subnetIdUp);
-                            vpnIdNew = subnetmap.getVpnId();
-                        }
-                        if (vpnIdNew != null) {
-                            // remove vpn-interface for this neutron port
-                            LOG.debug("removing VPN Interface for port {}", portupdate.getUuid().getValue());
-                            nvpnManager.deleteVpnInterface(vpnIdNew, null, portupdate, wrtConfigTxn);
-                            // create vpn-interface on this neutron port
-                            LOG.debug("Adding VPN Interface for port {}", portupdate.getUuid().getValue());
-                            nvpnManager.createVpnInterface(vpnIdNew, null, portupdate, wrtConfigTxn);
-                        }
-                        futures.add(wrtConfigTxn.submit());
-                        return futures;
-                    }
-                });
+        portDataStoreCoordinator.enqueueJob("PORT- " + portupdate.getUuid().getValue(), () -> {
+            WriteTransaction wrtConfigTxn = dataBroker.newWriteOnlyTransaction();
+            Uuid vpnIdNew = null;
+            final Uuid subnetIdOr = portupdate.getFixedIps().get(0).getSubnetId();
+            final Uuid subnetIdUp = portupdate.getFixedIps().get(0).getSubnetId();
+            // check if subnet UUID has changed upon change in fixedIP
+            final Boolean subnetUpdated = subnetIdUp.equals(subnetIdOr) ? false : true;
+
+            if (subnetUpdated) {
+                Subnetmap subnetMapOld = nvpnManager.removePortsFromSubnetmapNode(subnetIdOr, portoriginal
+                        .getUuid(), null);
+                Uuid vpnIdOld = (subnetMapOld != null) ? subnetMapOld.getVpnId() : null;
+                Subnetmap subnetMapNew = nvpnManager.updateSubnetmapNodeWithPorts(subnetIdUp, portupdate
+                                .getUuid(), null);
+                vpnIdNew = (subnetMapNew != null) ? subnetMapNew.getVpnId() : null;
+            }
+            if (!subnetUpdated) {
+                Subnetmap subnetmap = NeutronvpnUtils.getSubnetmap(dataBroker, subnetIdUp);
+                vpnIdNew = subnetmap != null ? subnetmap.getVpnId() : null;
+            }
+            if (vpnIdNew != null) {
+                // remove vpn-interface for this neutron port
+                LOG.debug("removing VPN Interface for port {}", portupdate.getUuid().getValue());
+                nvpnManager.deleteVpnInterface(vpnIdNew, null, portupdate, wrtConfigTxn);
+                // create vpn-interface on this neutron port
+                LOG.debug("Adding VPN Interface for port {}", portupdate.getUuid().getValue());
+                nvpnManager.createVpnInterface(vpnIdNew, null, portupdate, wrtConfigTxn);
+            }
+            List<ListenableFuture<Void>> futures = new ArrayList<>();
+            futures.add(wrtConfigTxn.submit());
+            return futures;
+        });
     }
 
     private static InterfaceAclBuilder handlePortSecurityUpdated(Port portOriginal, Port portUpdated, boolean
@@ -517,6 +510,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         return interfaceAclBuilder;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private String createOfPortInterface(Port port, WriteTransaction wrtConfigTxn) {
         Interface inf = createInterface(port);
         String infName = inf.getName();
@@ -547,7 +542,7 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, port.getNetworkId());
         ifL2vlanBuilder.setL2vlanMode(l2VlanMode);
 
-        if(parentRefName != null) {
+        if (parentRefName != null) {
             ParentRefsBuilder parentRefsBuilder = new ParentRefsBuilder().setParentInterface(parentRefName);
             interfaceBuilder.addAugmentation(ParentRefs.class, parentRefsBuilder.build());
         }
@@ -564,6 +559,8 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         return interfaceBuilder.build();
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void deleteOfPortInterface(Port port, WriteTransaction wrtConfigTxn) {
         String name = port.getUuid().getValue();
         LOG.debug("Removing OFPort Interface {}", name);
@@ -602,22 +599,25 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase<P
         LOG.debug("Creating new ELan Interface {}", elanInterface);
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void addToFloatingIpPortInfo(Uuid floatingIpId, Uuid floatingIpPortId, Uuid floatingIpPortSubnetId, String
                                          floatingIpPortMacAddress) {
         InstanceIdentifier id = buildfloatingIpIdToPortMappingIdentifier(floatingIpId);
         try {
             FloatingIpIdToPortMappingBuilder floatingipIdToPortMacMappingBuilder = new
-                    FloatingIpIdToPortMappingBuilder().setKey(new FloatingIpIdToPortMappingKey(floatingIpId))
-                    .setFloatingIpId(floatingIpId).setFloatingIpPortId(floatingIpPortId).setFloatingIpPortSubnetId
-                            (floatingIpPortSubnetId).setFloatingIpPortMacAddress(floatingIpPortMacAddress);
-            LOG.debug("Creating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP" +
-                            " Port Info Config DS", floatingIpId.getValue(), floatingIpPortId.getValue());
+                FloatingIpIdToPortMappingBuilder().setKey(new FloatingIpIdToPortMappingKey(floatingIpId))
+                .setFloatingIpId(floatingIpId).setFloatingIpPortId(floatingIpPortId)
+                .setFloatingIpPortSubnetId(floatingIpPortSubnetId)
+                .setFloatingIpPortMacAddress(floatingIpPortMacAddress);
+            LOG.debug("Creating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP"
+                + " Port Info Config DS", floatingIpId.getValue(), floatingIpPortId.getValue());
             MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, id,
-                    floatingipIdToPortMacMappingBuilder.build());
+                floatingipIdToPortMacMappingBuilder.build());
         } catch (Exception e) {
-            LOG.error("Creating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP" +
-                    " Port Info Config DS failed with exception {}", floatingIpId.getValue(), floatingIpPortId
-                    .getValue(), e);
+            LOG.error("Creating floating IP UUID {} to Floating IP neutron port {} mapping in Floating IP"
+                + " Port Info Config DS failed with exception {}",
+                floatingIpId.getValue(), floatingIpPortId.getValue(), e);
         }
     }
 }
index 78450a596d73fd3e056c8e6afdfce252c899115c..cf21f98051ea030919d322410934bba98bf20d3c 100644 (file)
@@ -60,6 +60,8 @@ public class NeutronQosPolicyChangeListener implements ClusteredDataTreeChangeLi
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void close() throws Exception {
         if (listenerRegistration != null) {
             try {
index 9d92a2d3196def9af3414f3c126d3590372d06d0..866d8bdea5e58df9c291772344e09d492ab2b633 100644 (file)
@@ -275,6 +275,8 @@ public class NeutronQosUtils {
         return bridgeEntryIdBuilder.build();
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private static <T extends DataObject> Optional<T> read(LogicalDatastoreType datastoreType,
             InstanceIdentifier<T> path, DataBroker broker) {
 
index 9b2a94fd09fe03474af20b432ee0bb3a64955c88..8163ae83c86b2c4f2caca55b7772e7fd0d3a0edb 100644 (file)
@@ -35,12 +35,13 @@ public class NeutronRouterChangeListener extends AsyncDataTreeChangeListenerBase
     private final NeutronvpnNatManager nvpnNatManager;
     private final NeutronSubnetGwMacResolver gwMacResolver;
 
-    public NeutronRouterChangeListener(final DataBroker dataBroker, final NeutronvpnManager nVpnMgr,
-                                       final NeutronvpnNatManager nVpnNatMgr, NeutronSubnetGwMacResolver gwMacResolver) {
+    public NeutronRouterChangeListener(final DataBroker dataBroker, final NeutronvpnManager neutronvpnManager,
+                                       final NeutronvpnNatManager neutronvpnNatManager,
+                                       NeutronSubnetGwMacResolver gwMacResolver) {
         super(Router.class, NeutronRouterChangeListener.class);
         this.dataBroker = dataBroker;
-        nvpnManager = nVpnMgr;
-        nvpnNatManager = nVpnNatMgr;
+        nvpnManager = neutronvpnManager;
+        nvpnNatManager = neutronvpnNatManager;
         this.gwMacResolver = gwMacResolver;
     }
 
@@ -132,7 +133,8 @@ public class NeutronRouterChangeListener extends AsyncDataTreeChangeListenerBase
             if ( interVpnLink.isPresent() ) {
                 Optional<InterVpnLinkState> interVpnLinkState =
                         NeutronvpnUtils.getInterVpnLinkState(dataBroker, interVpnLink.get().getName());
-                if ( interVpnLinkState.isPresent() && interVpnLinkState.get().getState() == InterVpnLinkState.State.Active) {
+                if ( interVpnLinkState.isPresent()
+                    && interVpnLinkState.get().getState() == InterVpnLinkState.State.Active) {
                     interVpnLinkRoutes.add(route);
                     nexthopsXinterVpnLinks.put(nextHop, interVpnLink.get());
                 } else {
index e85055aa0394e8713bfa703d1d5a6d16466f69e1..d8df51caec3754433170dffbc20f49f923b2fb08 100644 (file)
@@ -52,8 +52,9 @@ public class NeutronSecurityRuleListener
         extends AsyncDataTreeChangeListenerBase<SecurityRule, NeutronSecurityRuleListener> {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronSecurityRuleListener.class);
     private final DataBroker dataBroker;
-    private static final ImmutableBiMap<Class<? extends DirectionBase>, Class<? extends org.opendaylight.yang.gen.
-            v1.urn.opendaylight.netvirt.aclservice.rev160608.DirectionBase>> DIRECTION_MAP = ImmutableBiMap.of(
+    private static final ImmutableBiMap<Class<? extends DirectionBase>,
+        Class<?extends org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.DirectionBase>>
+        DIRECTION_MAP = ImmutableBiMap.of(
             DirectionEgress.class, NeutronSecurityRuleConstants.DIRECTION_EGRESS,
             DirectionIngress.class, NeutronSecurityRuleConstants.DIRECTION_INGRESS);
     private static final ImmutableBiMap<Class<? extends ProtocolBase>, Short> PROTOCOL_MAP = ImmutableBiMap.of(
@@ -78,6 +79,8 @@ public class NeutronSecurityRuleListener
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void add(InstanceIdentifier<SecurityRule> instanceIdentifier, SecurityRule securityRule) {
         LOG.trace("added securityRule: {}", securityRule);
         try {
@@ -203,6 +206,8 @@ public class NeutronSecurityRuleListener
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void remove(InstanceIdentifier<SecurityRule> instanceIdentifier, SecurityRule securityRule) {
         LOG.trace("removed securityRule: {}", securityRule);
         try {
@@ -214,7 +219,8 @@ public class NeutronSecurityRuleListener
     }
 
     @Override
-    protected void update(InstanceIdentifier<SecurityRule> instanceIdentifier, SecurityRule oldSecurityRule, SecurityRule updatedSecurityRule) {
+    protected void update(InstanceIdentifier<SecurityRule> instanceIdentifier,
+                          SecurityRule oldSecurityRule, SecurityRule updatedSecurityRule) {
         // security rule updation is not supported from openstack, so no need to handle update.
         LOG.trace("updates on security rules not supported.");
     }
index 7862856261460905082aa9fb6ab3e668a29f66b8..ba54440fac46ba3b117214ebc2ba92f9d4a66996 100644 (file)
@@ -11,8 +11,8 @@ import com.google.common.base.Optional;
 import java.util.ArrayList;
 import java.util.List;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.networkmaps.NetworkMap;
@@ -32,10 +32,10 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
     private final DataBroker dataBroker;
     private final NeutronvpnManager nvpnManager;
 
-    public NeutronSubnetChangeListener(final DataBroker dataBroker, final NeutronvpnManager nVpnMgr) {
+    public NeutronSubnetChangeListener(final DataBroker dataBroker, final NeutronvpnManager neutronvpnManager) {
         super(Subnet.class, NeutronSubnetChangeListener.class);
         this.dataBroker = dataBroker;
-        nvpnManager = nVpnMgr;
+        nvpnManager = neutronvpnManager;
     }
 
     public void start() {
@@ -61,8 +61,9 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, networkId);
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
             //FIXME: This should be removed when support for VLAN and GRE network types is added
-            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of network {}."
-                    + " Skipping the processing of Subnet add DCN", input.getName(), network);
+            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} "
+                + "which is part of network {}."
+                + " Skipping the processing of Subnet add DCN", input.getName(), network);
             return;
         }
         handleNeutronSubnetCreated(input.getUuid(), String.valueOf(input.getCidr().getValue()), networkId,
@@ -77,8 +78,9 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, networkId);
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
             //FIXME: This should be removed when support for GRE network types is added
-            LOG.error("neutron vpn doesn't support gre network provider type for the port {} which is part of network {}."
-                    + " Skipping the processing of Subnet remove DCN", input.getName(), network);
+            LOG.error("neutron vpn doesn't support gre network provider type for the port {} "
+                + "which is part of network {}."
+                + " Skipping the processing of Subnet remove DCN", input.getName(), network);
             return;
         }
         handleNeutronSubnetDeleted(input.getUuid(), networkId, null);
@@ -91,8 +93,9 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
         Uuid networkId = update.getNetworkId();
         Network network = NeutronvpnUtils.getNeutronNetwork(dataBroker, networkId);
         if (network == null || !NeutronvpnUtils.isNetworkTypeSupported(network)) {
-            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} which is part of network {}."
-                    + " Skipping the processing of Subnet update DCN", update.getName(), network);
+            LOG.error("neutron vpn doesn't support vlan/gre network provider type for the port {} "
+                + "which is part of network {}."
+                + " Skipping the processing of Subnet update DCN", update.getName(), network);
             return;
         }
         handleNeutronSubnetUpdated(update.getUuid(), networkId, update.getTenantId());
@@ -128,11 +131,13 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
         nvpnManager.updateSubnetNode(subnetId, null, tenantId, networkId, null/*routerID*/, null/*vpnID*/);
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void createSubnetToNetworkMapping(Uuid subnetId, Uuid networkId) {
         try {
             InstanceIdentifier networkMapIdentifier = NeutronvpnUtils.buildNetworkMapIdentifier(networkId);
-            Optional<NetworkMap> optionalNetworkMap = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION,
-                    networkMapIdentifier);
+            Optional<NetworkMap> optionalNetworkMap =
+                NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, networkMapIdentifier);
             NetworkMapBuilder nwMapBuilder = null;
             if (optionalNetworkMap.isPresent()) {
                 nwMapBuilder = new NetworkMapBuilder(optionalNetworkMap.get());
@@ -146,7 +151,8 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
             }
             subnetIdList.add(subnetId);
             nwMapBuilder.setSubnetIdList(subnetIdList);
-            MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, networkMapIdentifier, nwMapBuilder.build());
+            MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION,
+                networkMapIdentifier, nwMapBuilder.build());
             LOG.debug("Created subnet-network mapping for subnet {} network {}", subnetId.getValue(),
                     networkId.getValue());
         } catch (Exception e) {
@@ -155,11 +161,13 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void deleteSubnetToNetworkMapping(Uuid subnetId, Uuid networkId) {
         try {
             InstanceIdentifier networkMapIdentifier = NeutronvpnUtils.buildNetworkMapIdentifier(networkId);
-            Optional<NetworkMap> optionalNetworkMap = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION,
-                    networkMapIdentifier);
+            Optional<NetworkMap> optionalNetworkMap =
+                NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, networkMapIdentifier);
             if (optionalNetworkMap.isPresent()) {
                 NetworkMapBuilder nwMapBuilder = new NetworkMapBuilder(optionalNetworkMap.get());
                 List<Uuid> subnetIdList = nwMapBuilder.getSubnetIdList();
index 72e1767e7d40591c4c12cba1e35fc00392f450db..544cec7d682797594bed42416cd89bce0e012205 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.netvirt.neutronvpn;
 
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import java.math.BigInteger;
 import java.util.Collections;
 import java.util.List;
@@ -16,7 +17,6 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.netvirt.elanmanager.api.IElanService;
 import org.opendaylight.netvirt.vpnmanager.api.ICentralizedSwitchProvider;
@@ -38,8 +38,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.s
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
-
 public class NeutronSubnetGwMacResolver {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronSubnetGwMacResolver.class);
     private static final long L3_INSTALL_DELAY_MILLIS = 5000;
@@ -64,6 +62,8 @@ public class NeutronSubnetGwMacResolver {
         this.cswitchProvider = cswitchProvider;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void start() {
         LOG.info("{} start", getClass().getSimpleName());
 
@@ -100,6 +100,13 @@ public class NeutronSubnetGwMacResolver {
         }, L3_INSTALL_DELAY_MILLIS, TimeUnit.MILLISECONDS);
     }
 
+    private void sendArpRequestsToExtGateways() {
+        LOG.trace("Sending ARP requests to exteral gateways");
+        for (Router router : NeutronvpnUtils.routerMap.values()) {
+            sendArpRequestsToExtGateways(router);
+        }
+    }
+
     private void sendArpRequestsToExtGatewayTask(Router router) {
         LOG.trace("Send ARP requests to external GW for router {}", router);
         Port extPort = getRouterExtGatewayPort(router);
@@ -137,13 +144,8 @@ public class NeutronSubnetGwMacResolver {
 
     }
 
-    private void sendArpRequestsToExtGateways() {
-        LOG.trace("Sending ARP requests to exteral gateways");
-        for (Router router : NeutronvpnUtils.routerMap.values()) {
-            sendArpRequestsToExtGateways(router);
-        }
-    }
-
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void sendArpRequest(IpAddress srcIpAddress, IpAddress dstIpAddress, MacAddress srcMacAddress,
             String interfaceName) {
         if (srcIpAddress == null || dstIpAddress == null) {
index ef954938bb6e1d42eb7829da3cb4a22726d9377c..e84b1d972ae1cc40ace20d49508a43626d658ff2 100644 (file)
@@ -7,6 +7,9 @@
  */
 package org.opendaylight.netvirt.neutronvpn;
 
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.SettableFuture;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -18,7 +21,6 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
@@ -84,7 +86,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev15060
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.createl3vpn.input.L3vpn;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.getl3vpn.output.L3vpnInstances;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.getl3vpn.output.L3vpnInstancesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data.VpnPortipToPort;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.router.interfaces.map.RouterInterfaces;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.router.interfaces.map.RouterInterfacesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.router.interfaces.map.RouterInterfacesKey;
@@ -120,10 +121,6 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
-
 public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, EventListener {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronvpnManager.class);
     private final DataBroker dataBroker;
@@ -134,18 +131,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     private final NeutronvpnConfig neutronvpnConfig;
     private final IMdsalApiManager mdsalUtil;
     private final IElanService elanService;
-    Boolean isExternalVpn;
 
-    /**
-     * @param dataBroker DataBroker reference
-     * @param mdsalManager MDSAL Util API access
-     * @param notiPublishService notificationPublishService
-     * @param vpnNatMgr VPN NAT manager service
-     * @param vpnRpcSrv VPN RPC service
-     * @param elanService ELAN service
-     * @param neutronFloatingToFixedIpMappingChangeListener FIP to FixedIP listener
-     * @param neutronvpnConfig Neutronvpn configuration service
-     */
     public NeutronvpnManager(
             final DataBroker dataBroker, final IMdsalApiManager mdsalManager,
             final NotificationPublishService notiPublishService, final NeutronvpnNatManager vpnNatMgr,
@@ -172,22 +158,26 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         return neutronvpnConfig;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void updateSubnetNodeWithFixedIps(Uuid subnetId, Uuid routerId,
                                                 Uuid routerInterfaceName, String fixedIp,
                                                 String routerIntfMacAddress) {
         Subnetmap subnetmap = null;
         SubnetmapBuilder builder = null;
-        InstanceIdentifier<Subnetmap> id = InstanceIdentifier.builder(Subnetmaps.class).
-                child(Subnetmap.class, new SubnetmapKey(subnetId)).build();
+        InstanceIdentifier<Subnetmap> id =
+            InstanceIdentifier.builder(Subnetmaps.class).child(Subnetmap.class, new SubnetmapKey(subnetId)).build();
         try {
             synchronized (subnetId.getValue().intern()) {
                 Optional<Subnetmap> sn = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, id);
                 if (sn.isPresent()) {
                     builder = new SubnetmapBuilder(sn.get());
-                    LOG.debug("WithRouterFixedIPs: Updating existing subnetmap node for subnet ID {}", subnetId.getValue());
+                    LOG.debug("WithRouterFixedIPs: Updating existing subnetmap node for subnet ID {}",
+                        subnetId.getValue());
                 } else {
                     builder = new SubnetmapBuilder().setKey(new SubnetmapKey(subnetId)).setId(subnetId);
-                    LOG.debug("WithRouterFixedIPs: creating new subnetmap node for subnet ID {}", subnetId.getValue());
+                    LOG.debug("WithRouterFixedIPs: creating new subnetmap node for subnet ID {}",
+                        subnetId.getValue());
                 }
 
                 builder.setRouterId(routerId);
@@ -205,14 +195,18 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                     builder.setRouterInterfaceFixedIps(null);
                 }
                 subnetmap = builder.build();
-                LOG.debug("WithRouterFixedIPs Creating/Updating subnetMap node for Router FixedIps: {} ", subnetId.getValue());
+                LOG.debug("WithRouterFixedIPs Creating/Updating subnetMap node for Router FixedIps: {} ",
+                    subnetId.getValue());
                 MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, id, subnetmap);
             }
         } catch (Exception e) {
-            LOG.error("WithRouterFixedIPs: Updation of subnetMap for Router FixedIps failed for node: {}", subnetId.getValue());
+            LOG.error("WithRouterFixedIPs: Updation of subnetMap for Router FixedIps failed for node: {}",
+                subnetId.getValue());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Subnetmap updateSubnetNode(Uuid subnetId, String subnetIp, Uuid tenantId, Uuid networkId, Uuid routerId,
                                          Uuid vpnId) {
         Subnetmap subnetmap = null;
@@ -257,6 +251,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         return subnetmap;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Subnetmap removeFromSubnetNode(Uuid subnetId, Uuid networkId, Uuid routerId, Uuid vpnId, Uuid portId) {
         Subnetmap subnetmap = null;
         InstanceIdentifier<Subnetmap> id = InstanceIdentifier.builder(Subnetmaps.class)
@@ -295,6 +291,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         return subnetmap;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Subnetmap updateSubnetmapNodeWithPorts(Uuid subnetId, Uuid portId, Uuid directPortId) {
         Subnetmap subnetmap = null;
         InstanceIdentifier<Subnetmap> id = InstanceIdentifier.builder(Subnetmaps.class).child(Subnetmap.class,
@@ -337,6 +335,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         return subnetmap;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Subnetmap removePortsFromSubnetmapNode(Uuid subnetId, Uuid portId, Uuid directPortId) {
         Subnetmap subnetmap = null;
         InstanceIdentifier<Subnetmap> id = InstanceIdentifier.builder(Subnetmaps.class).child(Subnetmap.class,
@@ -373,6 +373,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         return subnetmap;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void deleteSubnetMapNode(Uuid subnetId) {
         InstanceIdentifier<Subnetmap> subnetMapIdentifier =
                 InstanceIdentifier.builder(Subnetmaps.class).child(Subnetmap.class,new SubnetmapKey(subnetId)).build();
@@ -386,13 +388,15 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void updateVpnInstanceNode(String vpnName, List<String> rd, List<String> irt, List<String> ert) {
 
         VpnInstanceBuilder builder = null;
         List<VpnTarget> vpnTargetList = new ArrayList<>();
         boolean isLockAcquired = false;
-        InstanceIdentifier<VpnInstance> vpnIdentifier = InstanceIdentifier.builder(VpnInstances.class).child
-                (VpnInstance.class, new VpnInstanceKey(vpnName)).build();
+        InstanceIdentifier<VpnInstance> vpnIdentifier = InstanceIdentifier.builder(VpnInstances.class)
+            .child(VpnInstance.class, new VpnInstanceKey(vpnName)).build();
         try {
             Optional<VpnInstance> optionalVpn = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION,
                     vpnIdentifier);
@@ -455,6 +459,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void deleteVpnMapsNode(Uuid vpnid) {
         boolean isLockAcquired = false;
         InstanceIdentifier<VpnMap> vpnMapIdentifier = InstanceIdentifier.builder(VpnMaps.class)
@@ -473,6 +479,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void updateVpnMaps(Uuid vpnId, String name, Uuid router, Uuid tenantId, List<Uuid> networks) {
         VpnMapBuilder builder;
         boolean isLockAcquired = false;
@@ -519,6 +527,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void clearFromVpnMaps(Uuid vpnId, Uuid routerId, List<Uuid> networkIds) {
         boolean isLockAcquired = false;
         InstanceIdentifier<VpnMap> vpnMapIdentifier = InstanceIdentifier.builder(VpnMaps.class)
@@ -578,6 +588,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         LOG.debug("Clear from VPNMaps DS successful for VPN {} ", vpnId.getValue());
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void deleteVpnInstance(Uuid vpnId) {
         boolean isLockAcquired = false;
         InstanceIdentifier<VpnInstance> vpnIdentifier = InstanceIdentifier.builder(VpnInstances.class)
@@ -601,7 +613,6 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                                       WriteTransaction wrtConfigTxn) {
         String infName = port.getUuid().getValue();
         List<Adjacency> adjList = new ArrayList<>();
-        List<FixedIps> ips = port.getFixedIps();
         Boolean isRouterInterface = false;
         if (port.getDeviceOwner() != null) {
             isRouterInterface = port.getDeviceOwner().equals(NeutronConstants.DEVICE_OWNER_ROUTER_INF);
@@ -611,6 +622,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         if (routerId != null) {
             rtr = NeutronvpnUtils.getNeutronRouter(dataBroker, routerId);
         }
+        List<FixedIps> ips = port.getFixedIps();
         // create adjacency list
         for (FixedIps ip : ips) {
             // create vm adjacency
@@ -639,6 +651,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void deleteVpnInterface(Uuid vpnId, Uuid routerId, Port port, WriteTransaction wrtConfigTxn) {
         Boolean wrtConfigTxnPresent = true;
         if (wrtConfigTxn == null) {
@@ -668,7 +682,10 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
-    protected void updateVpnInterface(Uuid vpnId, Uuid oldVpnId, Port port, boolean  isBeingAssociated, boolean isSubnetIp) {
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
+    protected void updateVpnInterface(Uuid vpnId, Uuid oldVpnId, Port port, boolean isBeingAssociated,
+                                      boolean isSubnetIp) {
         if (vpnId == null || port == null) {
             return;
         }
@@ -692,18 +709,17 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                     while (adjacencyIter.hasNext()) {
                         Adjacency adjacency = adjacencyIter.next();
                         String mipToQuery = adjacency.getIpAddress().split("/")[0];
-                        InstanceIdentifier<LearntVpnVipToPort> id = NeutronvpnUtils.buildLearntVpnVipToPortIdentifier
-                                (oldVpnId.getValue(), mipToQuery);
-                        Optional<LearntVpnVipToPort> optionalVpnVipToPort = NeutronvpnUtils.read(dataBroker,
-                                LogicalDatastoreType
-                                .OPERATIONAL, id);
+                        InstanceIdentifier<LearntVpnVipToPort> id =
+                            NeutronvpnUtils.buildLearntVpnVipToPortIdentifier(oldVpnId.getValue(), mipToQuery);
+                        Optional<LearntVpnVipToPort> optionalVpnVipToPort =
+                            NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.OPERATIONAL, id);
                         if (optionalVpnVipToPort.isPresent()) {
-                            LOG.trace("Removing adjacencies from vpninterface {} upon dissociation of router {} " +
-                                    "from VPN " + "{}", infName, vpnId, oldVpnId);
+                            LOG.trace("Removing adjacencies from vpninterface {} upon dissociation of router {} "
+                                + "from VPN " + "{}", infName, vpnId, oldVpnId);
                             adjacencyIter.remove();
                             NeutronvpnUtils.removeLearntVpnVipToPort(dataBroker, oldVpnId.getValue(), mipToQuery);
-                            LOG.trace("Entry for fixedIP {} for port {} on VPN removed from " +
-                                    "VpnPortFixedIPToPortData", mipToQuery, infName, vpnId.getValue());
+                            LOG.trace("Entry for fixedIP {} for port {} on VPN removed from "
+                                + "VpnPortFixedIPToPortData", mipToQuery, infName, vpnId.getValue());
                         }
                     }
                     Adjacencies adjacencies = new AdjacenciesBuilder().setAdjacency(adjacencyList).build();
@@ -753,8 +769,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 // preserved upon reboot.
                 // For a non-reboot case #associateRouterToInternalVPN already takes care of adding to
                 // RouterInterfacesMap via #createVPNInterface call.
-                LOG.info("Associating router to Internal VPN skipped for VPN {} due to router {} already associated " +
-                        "to external VPN {}", vpn.getValue(), router.getValue(), existingVpn.getValue());
+                LOG.info("Associating router to Internal VPN skipped for VPN {} due to router {} already associated "
+                    + "to external VPN {}", vpn.getValue(), router.getValue(), existingVpn.getValue());
                 return;
             }
             associateRouterToInternalVpn(vpn, router);
@@ -763,7 +779,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
 
     /**
      * Performs the creation of a Neutron L3VPN, associating the new VPN to the
-     * specified Neutron Networks and Routers
+     * specified Neutron Networks and Routers.
      *
      * @param vpn Uuid of the VPN tp be created
      * @param name Representative name of the new VPN
@@ -800,12 +816,11 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     }
 
     /**
-     * It handles the invocations to the createL3VPN RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#createL3VPN
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.CreateL3VPNInput)
+     * It handles the invocations to the createL3VPN RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<CreateL3VPNOutput>> createL3VPN(CreateL3VPNInput input) {
 
         CreateL3VPNOutputBuilder opBuilder = new CreateL3VPNOutputBuilder();
@@ -838,8 +853,9 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 continue;
             }
             if (existingRDs.contains(vpn.getRouteDistinguisher().get(0))) {
-                msg = String.format("Creation of L3VPN failed for VPN %s as another VPN with the same RD %s is already configured",
-                        vpn.getId().getValue(), vpn.getRouteDistinguisher().get(0));
+                msg = String.format("Creation of L3VPN failed for VPN %s as another VPN with the same RD %s "
+                    + "is already configured",
+                    vpn.getId().getValue(), vpn.getRouteDistinguisher().get(0));
                 LOG.warn(msg);
                 error = RpcResultBuilder.newWarning(ErrorType.PROTOCOL, "invalid-input", msg);
                 errorList.add(error);
@@ -907,7 +923,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         // if at least one succeeds; result is success
         // if none succeeds; result is failure
         if (failurecount + warningcount == vpns.size()) {
-            result.set(RpcResultBuilder.<CreateL3VPNOutput> failed().withRpcErrors(errorList).build());
+            result.set(RpcResultBuilder.<CreateL3VPNOutput>failed().withRpcErrors(errorList).build());
         } else {
             List<String> errorResponseList = new ArrayList<>();
             if (!errorList.isEmpty()) {
@@ -920,18 +936,17 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 errorResponseList.add("Operation successful with no errors");
             }
             opBuilder.setResponse(errorResponseList);
-            result.set(RpcResultBuilder.<CreateL3VPNOutput> success().withResult(opBuilder.build()).build());
+            result.set(RpcResultBuilder.<CreateL3VPNOutput>success().withResult(opBuilder.build()).build());
         }
         return result;
     }
 
     /**
-     * It handles the invocations to the neutronvpn:getL3VPN RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#getL3VPN
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.GetL3VPNInput)
+     * It handles the invocations to the neutronvpn:getL3VPN RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<GetL3VPNOutput>> getL3VPN(GetL3VPNInput input) {
 
         GetL3VPNOutputBuilder opBuilder = new GetL3VPNOutputBuilder();
@@ -956,7 +971,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                     }
                 } else {
                     // No VPN present
-                    result.set(RpcResultBuilder.<GetL3VPNOutput> success().withResult(opBuilder.build()).build());
+                    result.set(RpcResultBuilder.<GetL3VPNOutput>success().withResult(opBuilder.build()).build());
                     return result;
                 }
             } else {
@@ -1016,23 +1031,22 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             }
 
             opBuilder.setL3vpnInstances(l3vpnList);
-            result.set(RpcResultBuilder.<GetL3VPNOutput> success().withResult(opBuilder.build()).build());
+            result.set(RpcResultBuilder.<GetL3VPNOutput>success().withResult(opBuilder.build()).build());
 
         } catch (Exception ex) {
             String message = String.format("GetL3VPN failed due to %s", ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<GetL3VPNOutput> failed().withError(ErrorType.APPLICATION, message).build());
+            result.set(RpcResultBuilder.<GetL3VPNOutput>failed().withError(ErrorType.APPLICATION, message).build());
         }
         return result;
     }
 
     /**
-     * It handles the invocations to the neutronvpn:deleteL3VPN RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#deleteL3VPN
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.DeleteL3VPNInput)
+     * It handles the invocations to the neutronvpn:deleteL3VPN RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<DeleteL3VPNOutput>> deleteL3VPN(DeleteL3VPNInput input) {
 
         DeleteL3VPNOutputBuilder opBuilder = new DeleteL3VPNOutputBuilder();
@@ -1047,8 +1061,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             String msg;
             try {
                 InstanceIdentifier<VpnInstance> vpnIdentifier =
-                        InstanceIdentifier.builder(VpnInstances.class).child(VpnInstance.class, new VpnInstanceKey
-                                (vpn.getValue())).build();
+                        InstanceIdentifier.builder(VpnInstances.class)
+                            .child(VpnInstance.class, new VpnInstanceKey(vpn.getValue())).build();
                 Optional<VpnInstance> optionalVpn = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType
                         .CONFIGURATION, vpnIdentifier);
                 if (optionalVpn.isPresent()) {
@@ -1071,7 +1085,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         // if at least one succeeds; result is success
         // if none succeeds; result is failure
         if (failurecount + warningcount == vpns.size()) {
-            result.set(RpcResultBuilder.<DeleteL3VPNOutput> failed().withRpcErrors(errorList).build());
+            result.set(RpcResultBuilder.<DeleteL3VPNOutput>failed().withRpcErrors(errorList).build());
         } else {
             List<String> errorResponseList = new ArrayList<>();
             if (!errorList.isEmpty()) {
@@ -1084,7 +1098,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 errorResponseList.add("Operation successful with no errors");
             }
             opBuilder.setResponse(errorResponseList);
-            result.set(RpcResultBuilder.<DeleteL3VPNOutput> success().withResult(opBuilder.build()).build());
+            result.set(RpcResultBuilder.<DeleteL3VPNOutput>success().withResult(opBuilder.build()).build());
         }
         return result;
     }
@@ -1120,8 +1134,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         LOG.debug("Updating VPN {} for subnet {}", vpnId.getValue(), subnet.getValue());
         // Read the subnet first to see if its already associated to a VPN
         Uuid oldVpnId = null;
-        InstanceIdentifier<Subnetmap> snId = InstanceIdentifier.builder(Subnetmaps.class).
-                child(Subnetmap.class, new SubnetmapKey(subnet)).build();
+        InstanceIdentifier<Subnetmap> snId = InstanceIdentifier.builder(Subnetmaps.class)
+            .child(Subnetmap.class, new SubnetmapKey(subnet)).build();
         Subnetmap sn = null;
         Optional<Subnetmap> optSn = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, snId);
         if (optSn.isPresent()) {
@@ -1130,9 +1144,13 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             List<String> ips = sn.getRouterInterfaceFixedIps();
             for (String ipValue : ips) {
                 // Update the association of router-interface to external vpn
-                String PortName = NeutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(dataBroker, oldVpnId.getValue(), ipValue);
-                updateVpnInterface(vpnId, oldVpnId, NeutronvpnUtils.getNeutronPort(dataBroker, new Uuid(PortName)),
+                String portName =
+                    NeutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(dataBroker, oldVpnId.getValue(), ipValue);
+                if (portName != null) {
+                    updateVpnInterface(vpnId, oldVpnId,
+                        NeutronvpnUtils.getNeutronPort(dataBroker, new Uuid(portName)),
                         isBeingAssociated, true);
+                }
             }
         }
         sn = updateSubnetNode(subnet, null, null, null, null, vpnId);
@@ -1141,7 +1159,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         List<Uuid> portList = sn.getPortList();
         if (portList != null) {
             for (Uuid port : sn.getPortList()) {
-                LOG.debug("Updating vpn-interface for port {} isBeingAssociated {}", port.getValue(), isBeingAssociated);
+                LOG.debug("Updating vpn-interface for port {} isBeingAssociated {}",
+                    port.getValue(), isBeingAssociated);
                 updateVpnInterface(vpnId, oldVpnId, NeutronvpnUtils.getNeutronPort(dataBroker, port),
                         isBeingAssociated, false);
             }
@@ -1158,8 +1177,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             InstanceIdentifier<RouterInterfaces> routerInterfacesId = getRouterInterfacesId(routerId);
             Optional<RouterInterfaces> optRouterInterfaces = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType
                     .CONFIGURATION, routerInterfacesId);
-            Interfaces routerInterface = new InterfacesBuilder().setKey(new InterfacesKey(interfaceName)).setInterfaceId
-                    (interfaceName).build();
+            Interfaces routerInterface = new InterfacesBuilder().setKey(new InterfacesKey(interfaceName))
+                .setInterfaceId(interfaceName).build();
             if (optRouterInterfaces.isPresent()) {
                 MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, routerInterfacesId.child(Interfaces
                         .class, new InterfacesKey(interfaceName)), routerInterface);
@@ -1178,8 +1197,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             InstanceIdentifier<RouterInterfaces> routerInterfacesId = getRouterInterfacesId(routerId);
             Optional<RouterInterfaces> optRouterInterfaces = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType
                     .CONFIGURATION, routerInterfacesId);
-            Interfaces routerInterface = new InterfacesBuilder().setKey(new InterfacesKey(interfaceName)).setInterfaceId
-                    (interfaceName).build();
+            Interfaces routerInterface = new InterfacesBuilder().setKey(new InterfacesKey(interfaceName))
+                .setInterfaceId(interfaceName).build();
             if (optRouterInterfaces.isPresent()) {
                 RouterInterfaces routerInterfaces = optRouterInterfaces.get();
                 List<Interfaces> interfaces = routerInterfaces.getInterfaces();
@@ -1307,13 +1326,15 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
 
         for (String destination : adjMap.keySet()) {
-            Adjacency erAdj = new AdjacencyBuilder().setIpAddress(destination).setNextHopIpList(adjMap.get
-                    (destination)).setKey(new AdjacencyKey(destination)).build();
+            Adjacency erAdj = new AdjacencyBuilder().setIpAddress(destination)
+                .setNextHopIpList(adjMap.get(destination)).setKey(new AdjacencyKey(destination)).build();
             adjList.add(erAdj);
         }
         return  adjList;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void updateVpnInterfaceWithExtraRouteAdjacency(Uuid vpnId, List<Routes> routeList) {
         for (Routes route : routeList) {
             if (route == null || route.getNexthop() == null || route.getDestination() == null) {
@@ -1324,33 +1345,36 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 String infName = NeutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(dataBroker, vpnId.getValue(),
                         nextHop);
                 if (infName != null) {
-                    LOG.trace("Updating extra route for destination {} onto vpn {} with nexthop {} and infName {}", destination,
-                            vpnId.getValue(), nextHop, infName);
+                    LOG.trace("Updating extra route for destination {} onto vpn {} with nexthop {} and infName {}",
+                        destination, vpnId.getValue(), nextHop, infName);
                     boolean isLockAcquired = false;
                     try {
                         InstanceIdentifier<VpnInterface> identifier = InstanceIdentifier.builder(VpnInterfaces.class)
                                 .child(VpnInterface.class, new VpnInterfaceKey(infName)).build();
-                        InstanceIdentifier<Adjacency> path = identifier.augmentation(Adjacencies.class).
-                                child(Adjacency.class, new AdjacencyKey(destination));
-                        Adjacency erAdj = new AdjacencyBuilder().setIpAddress(destination).setNextHopIpList(Arrays.asList(nextHop)).
-                                setKey(new AdjacencyKey(destination)).build();
+                        InstanceIdentifier<Adjacency> path = identifier.augmentation(Adjacencies.class)
+                            .child(Adjacency.class, new AdjacencyKey(destination));
+                        Adjacency erAdj = new AdjacencyBuilder().setIpAddress(destination)
+                            .setNextHopIpList(Arrays.asList(nextHop)).setKey(new AdjacencyKey(destination)).build();
                         isLockAcquired = NeutronvpnUtils.lock(infName);
                         MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, path, erAdj);
                     } catch (Exception e) {
-                        LOG.error("exception in adding extra route with destination: {}, next hop: {}", destination, nextHop, e);
+                        LOG.error("exception in adding extra route with destination: {}, next hop: {}",
+                            destination, nextHop, e);
                     } finally {
                         if (isLockAcquired) {
                             NeutronvpnUtils.unlock(infName);
                         }
                     }
                 } else {
-                    LOG.debug("Unable to find VPN NextHop interface to apply extra-route destination {} on VPN {} " +
-                            "with nexthop {}", destination, vpnId.getValue(), nextHop);
+                    LOG.debug("Unable to find VPN NextHop interface to apply extra-route destination {} on VPN {} "
+                        + "with nexthop {}", destination, vpnId.getValue(), nextHop);
                 }
             }
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void removeAdjacencyforExtraRoute(Uuid vpnId, List<Routes> routeList) {
         for (Routes route : routeList) {
             if (route != null && route.getNexthop() != null && route.getDestination() != null) {
@@ -1360,9 +1384,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 String infName = NeutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(dataBroker, vpnId.getValue(),
                         nextHop);
                 if (infName == null) {
-                    LOG.error("Unable to find VPN NextHop interface to remove extra-route destination {} on VPN {} " +
-                                    "with nexthop {}",
-                            destination, vpnId.getValue(), nextHop);
+                    LOG.error("Unable to find VPN NextHop interface to remove extra-route destination {} on VPN {} "
+                            + "with nexthop {}", destination, vpnId.getValue(), nextHop);
                     // Proceed to remove the next extra-route
                     continue;
                 }
@@ -1463,8 +1486,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                         if (port != null) {
                             deleteVpnInterface(vpnId, routerId, port, wrtConfigTxn);
                         } else {
-                            LOG.error("Cannot proceed with deleteVpnInterface for port {} in subnet {} since port is " +
-                                    "absent in Neutron config DS", portId.getValue(), subnet.getValue());
+                            LOG.error("Cannot proceed with deleteVpnInterface for port {} in subnet {} since port is "
+                                + "absent in Neutron config DS", portId.getValue(), subnet.getValue());
                         }
                         futures.add(wrtConfigTxn.submit());
                         return futures;
@@ -1478,6 +1501,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void associateRouterToVpn(Uuid vpnId, Uuid routerId) {
         updateVpnMaps(vpnId, null, routerId, null, null);
         LOG.debug("Updating association of subnets to external vpn {}", vpnId.getValue());
@@ -1505,6 +1530,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void dissociateRouterFromVpn(Uuid vpnId, Uuid routerId) {
 
         List<Uuid> routerSubnets = NeutronvpnUtils.getNeutronRouterSubnetIds(dataBroker, routerId);
@@ -1549,8 +1576,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                                 addSubnetToVpn(vpn, subnet);
                                 passedNwList.add(nw);
                             } else {
-                                failedNwList.add(String.format("subnet %s already added as router interface bound to " +
-                                        "internal/external VPN %s", subnet.getValue (), subnetVpnId.getValue()));
+                                failedNwList.add(String.format("subnet %s already added as router interface bound to "
+                                    + "internal/external VPN %s", subnet.getValue(), subnetVpnId.getValue()));
                             }
                         }
                     }
@@ -1589,8 +1616,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                             failedNwList.add(String.format("input network %s not associated to any vpn yet", nw
                                     .getValue()));
                         } else {
-                            failedNwList.add(String.format("input network %s associated to a another vpn %s instead " +
-                                    "of the one given as input", nw.getValue(), vpnId.getValue()));
+                            failedNwList.add(String.format("input network %s associated to a another vpn %s instead "
+                                + "of the one given as input", nw.getValue(), vpnId.getValue()));
                         }
                     }
                     if (NeutronvpnUtils.getIsExternal(network)) {
@@ -1604,12 +1631,11 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     }
 
     /**
-     * It handles the invocations to the neutronvpn:associateNetworks RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#associateNetworks
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.AssociateNetworksInput)
+     * It handles the invocations to the neutronvpn:associateNetworks RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<AssociateNetworksOutput>> associateNetworks(AssociateNetworksInput input) {
 
         AssociateNetworksOutputBuilder opBuilder = new AssociateNetworksOutputBuilder();
@@ -1637,15 +1663,15 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 String errorResponse = String.format("ErrorType: PROTOCOL, ErrorTag: invalid-value, ErrorMessage: %s",
                         message);
                 opBuilder.setResponse(errorResponse);
-                result.set(RpcResultBuilder.<AssociateNetworksOutput> success().withResult(opBuilder.build()).build());
+                result.set(RpcResultBuilder.<AssociateNetworksOutput>success().withResult(opBuilder.build()).build());
             } else {
-                result.set(RpcResultBuilder.<AssociateNetworksOutput> success().build());
+                result.set(RpcResultBuilder.<AssociateNetworksOutput>success().build());
             }
         } catch (Exception ex) {
             String message = String.format("associate Networks to vpn %s failed due to %s",
                     input.getVpnId().getValue(), ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<AssociateNetworksOutput> failed().withError(ErrorType.APPLICATION, message)
+            result.set(RpcResultBuilder.<AssociateNetworksOutput>failed().withError(ErrorType.APPLICATION, message)
                     .build());
         }
         LOG.debug("associateNetworks returns..");
@@ -1653,12 +1679,11 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     }
 
     /**
-     * It handles the invocations to the neutronvpn:associateRouter RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#associateRouter
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.AssociateRouterInput)
+     * It handles the invocations to the neutronvpn:associateRouter RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<Void>> associateRouter(AssociateRouterInput input) {
 
         SettableFuture<RpcResult<Void>> result = SettableFuture.create();
@@ -1676,8 +1701,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                         returnMsg.append("vpn ").append(vpnId.getValue()).append(" already associated to router ")
                                 .append(vpnMap.getRouterId().getValue());
                     } else if (extVpnId != null) {
-                        returnMsg.append("router ").append(routerId.getValue()).append(" already associated to " +
-                                "another VPN ").append(extVpnId.getValue());
+                        returnMsg.append("router ").append(routerId.getValue()).append(" already associated to "
+                            + "another VPN ").append(extVpnId.getValue());
                     } else {
                         associateRouterToVpn(vpnId, routerId);
                     }
@@ -1691,28 +1716,28 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 String message = String.format("associate router to vpn %s failed due to %s", routerId.getValue(),
                         returnMsg);
                 LOG.error(message);
-                result.set(RpcResultBuilder.<Void> failed().withWarning(ErrorType.PROTOCOL, "invalid-value", message)
+                result.set(RpcResultBuilder.<Void>failed().withWarning(ErrorType.PROTOCOL, "invalid-value", message)
                         .build());
             } else {
-                result.set(RpcResultBuilder.<Void> success().build());
+                result.set(RpcResultBuilder.<Void>success().build());
             }
         } catch (Exception ex) {
             String message = String.format("associate router %s to vpn %s failed due to %s", routerId.getValue(),
                     vpnId.getValue(), ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<Void> failed().withError(ErrorType.APPLICATION, message).build());
+            result.set(RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION, message).build());
         }
         LOG.debug("associateRouter returns..");
         return result;
     }
 
-    /** It handles the invocations to the neutronvpn:getFixedIPsForNeutronPort RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronvpnService#getFixedIPsForNeutronPort
-     * (org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.GetFixedIPsForNeutronPortInput)
+    /** It handles the invocations to the neutronvpn:getFixedIPsForNeutronPort RPC method.
      */
     @Override
-    public Future<RpcResult<GetFixedIPsForNeutronPortOutput>> getFixedIPsForNeutronPort(GetFixedIPsForNeutronPortInput input) {
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
+    public Future<RpcResult<GetFixedIPsForNeutronPortOutput>> getFixedIPsForNeutronPort(
+        GetFixedIPsForNeutronPortInput input) {
         GetFixedIPsForNeutronPortOutputBuilder opBuilder = new GetFixedIPsForNeutronPortOutputBuilder();
         SettableFuture<RpcResult<GetFixedIPsForNeutronPortOutput>> result = SettableFuture.create();
         Uuid portId = input.getPortId();
@@ -1731,32 +1756,30 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
             if (returnMsg.length() != 0) {
                 String message = String.format("Retrieval of FixedIPList for neutron port failed due to %s", returnMsg);
                 LOG.error(message);
-                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput> failed()
+                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput>failed()
                         .withWarning(ErrorType.PROTOCOL, "invalid-value", message).build());
             } else {
                 opBuilder.setFixedIPs(fixedIPList);
-                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput> success().withResult(opBuilder.build())
+                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput>success().withResult(opBuilder.build())
                         .build());
-                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput> success().build());
+                result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput>success().build());
             }
         } catch (Exception ex) {
             String message = String.format("Retrieval of FixedIPList for neutron port %s failed due to %s",
                     portId.getValue(), ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput> failed()
+            result.set(RpcResultBuilder.<GetFixedIPsForNeutronPortOutput>failed()
                     .withError(ErrorType.APPLICATION, message).build());
         }
         return result;
     }
 
     /**
-     * It handles the invocations to the neutronvpn:dissociateNetworks RPC method
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn
-     * .rev150602.NeutronvpnService#dissociateNetworks(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt
-     * .neutronvpn.rev150602.DissociateNetworksInput)
+     * It handles the invocations to the neutronvpn:dissociateNetworks RPC method.
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<DissociateNetworksOutput>> dissociateNetworks(DissociateNetworksInput input) {
 
         DissociateNetworksOutputBuilder opBuilder = new DissociateNetworksOutputBuilder();
@@ -1785,15 +1808,15 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 String errorResponse = String.format("ErrorType: PROTOCOL, ErrorTag: invalid-value, ErrorMessage: "
                         + message);
                 opBuilder.setResponse(errorResponse);
-                result.set(RpcResultBuilder.<DissociateNetworksOutput> success().withResult(opBuilder.build()).build());
+                result.set(RpcResultBuilder.<DissociateNetworksOutput>success().withResult(opBuilder.build()).build());
             } else {
-                result.set(RpcResultBuilder.<DissociateNetworksOutput> success().build());
+                result.set(RpcResultBuilder.<DissociateNetworksOutput>success().build());
             }
         } catch (Exception ex) {
             String message = String.format("dissociate Networks to vpn %s failed due to %s",
                     input.getVpnId().getValue(), ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<DissociateNetworksOutput> failed().withError(ErrorType.APPLICATION, message)
+            result.set(RpcResultBuilder.<DissociateNetworksOutput>failed().withError(ErrorType.APPLICATION, message)
                     .build());
         }
         LOG.debug("dissociateNetworks returns..");
@@ -1802,12 +1825,10 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
 
     /**
      * It handles the invocations to the neutronvpn:dissociateRouter RPC method.
-     *
-     * @see org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn
-     * .rev150602.NeutronvpnService#dissociateRouter(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn
-     * .rev150602.DissociateRouterInput)
      */
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public Future<RpcResult<Void>> dissociateRouter(DissociateRouterInput input) {
 
         SettableFuture<RpcResult<Void>> result = SettableFuture.create();
@@ -1826,12 +1847,12 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                             dissociateRouterFromVpn(vpnId, routerId);
                         } else {
                             if (routerVpnId == null) {
-                                returnMsg.append("input router ").append(routerId.getValue()).append(" not associated" +
-                                        " to any vpn yet");
+                                returnMsg.append("input router ").append(routerId.getValue())
+                                    .append(" not associated to any vpn yet");
                             } else {
-                                returnMsg.append("input router ").append(routerId.getValue()).append(" associated to " +
-                                        "vpn ").append(routerVpnId.getValue()).append("instead of the vpn given as " +
-                                        "input");
+                                returnMsg.append("input router ").append(routerId.getValue())
+                                    .append(" associated to vpn ")
+                                    .append(routerVpnId.getValue()).append("instead of the vpn given as input");
                             }
                         }
                     } else {
@@ -1847,16 +1868,16 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 LOG.error(message);
                 String errorResponse = String.format("ErrorType: PROTOCOL, ErrorTag: invalid-value, ErrorMessage: "
                         + message);
-                result.set(RpcResultBuilder.<Void> failed().withWarning(ErrorType.PROTOCOL, "invalid-value", message)
+                result.set(RpcResultBuilder.<Void>failed().withWarning(ErrorType.PROTOCOL, "invalid-value", message)
                         .build());
             } else {
-                result.set(RpcResultBuilder.<Void> success().build());
+                result.set(RpcResultBuilder.<Void>success().build());
             }
         } catch (Exception ex) {
             String message = String.format("disssociate router %s to vpn %s failed due to %s", routerId.getValue(),
                     vpnId.getValue(), ex.getMessage());
             LOG.error(message, ex);
-            result.set(RpcResultBuilder.<Void> failed().withError(ErrorType.APPLICATION, message).build());
+            result.set(RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION, message).build());
         }
         LOG.debug("dissociateRouter returns..");
 
@@ -1885,7 +1906,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         deleteVpnInstance(routerId);
     }
 
-    protected Subnet getNeutronSubnet(Uuid subnetId){
+    protected Subnet getNeutronSubnet(Uuid subnetId) {
         return NeutronvpnUtils.getNeutronSubnet(dataBroker, subnetId);
     }
 
@@ -1928,18 +1949,21 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     }
 
     /**
-     * Implementation of the "vpnservice:neutron-ports-show" Karaf CLI command
+     * Implementation of the "vpnservice:neutron-ports-show" Karaf CLI command.
      *
      * @return a List of String to be printed on screen
      */
+    // TODO Clean up the exception handling and the console output
+    @SuppressWarnings({"checkstyle:IllegalCatch", "checkstyle:RegexpSinglelineJava"})
     public List<String> showNeutronPortsCLI() {
         List<String> result = new ArrayList<>();
-        result.add(String.format(" %-36s  %-19s  %-13s  %-20s ", "Port ID", "Mac Address", "Prefix Length", "IP " +
-                "Address"));
+        result.add(String.format(" %-36s  %-19s  %-13s  %-20s ", "Port ID", "Mac Address", "Prefix Length",
+            "IP Address"));
         result.add("-------------------------------------------------------------------------------------------");
         InstanceIdentifier<Ports> portidentifier = InstanceIdentifier.create(Neutron.class).child(Ports.class);
         try {
-            Optional<Ports> ports = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, portidentifier);
+            Optional<Ports> ports =
+                NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION, portidentifier);
             if (ports.isPresent() && ports.get().getPort() != null) {
                 for (Port port : ports.get().getPort()) {
                     List<FixedIps> fixedIPs = port.getFixedIps();
@@ -1977,11 +2001,12 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
     }
 
     /**
-     * Implementation of the "vpnservice:l3vpn-config-show" karaf CLI command
+     * Implementation of the "vpnservice:l3vpn-config-show" karaf CLI command.
      *
      * @param vpnuuid Uuid of the VPN whose config must be shown
      * @return formatted output list
      */
+    @SuppressWarnings("checkstyle:RegexpSinglelineJava")
     public List<String> showVpnConfigCLI(Uuid vpnuuid) {
         List<String> result = new ArrayList<>();
         if (vpnuuid == null) {
@@ -2004,19 +2029,19 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
                 result.add("");
                 result.add("------------------------------------------------------------------------------------");
                 result.add("");
-                List<L3vpnInstances> VpnList = rpcResult.getResult().getL3vpnInstances();
-                for (L3vpnInstance Vpn : VpnList) {
-                    String tenantId = Vpn.getTenantId() != null ? Vpn.getTenantId().getValue()
+                List<L3vpnInstances> vpnList = rpcResult.getResult().getL3vpnInstances();
+                for (L3vpnInstance vpn : vpnList) {
+                    String tenantId = vpn.getTenantId() != null ? vpn.getTenantId().getValue()
                             : "\"                 " + "                  \"";
-                    result.add(String.format(" %-37s %-37s %-7s ", Vpn.getId().getValue(), tenantId,
-                            Vpn.getRouteDistinguisher()));
+                    result.add(String.format(" %-37s %-37s %-7s ", vpn.getId().getValue(), tenantId,
+                            vpn.getRouteDistinguisher()));
                     result.add("");
-                    result.add(String.format(" %-80s ", Vpn.getImportRT()));
+                    result.add(String.format(" %-80s ", vpn.getImportRT()));
                     result.add("");
-                    result.add(String.format(" %-80s ", Vpn.getExportRT()));
+                    result.add(String.format(" %-80s ", vpn.getExportRT()));
                     result.add("");
 
-                    Uuid vpnid = Vpn.getId();
+                    Uuid vpnid = vpn.getId();
                     List<Uuid> subnetList = getSubnetsforVpn(vpnid);
                     if (!subnetList.isEmpty()) {
                         for (Uuid subnetuuid : subnetList) {
@@ -2068,6 +2093,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         wrtConfigTxn.submit();
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected void removeExternalVpnInterfaces(Uuid extNetId) {
         Collection<String> extElanInterfaces = elanService.getExternalElanInterfaces(extNetId.getValue());
         if (extElanInterfaces == null || extElanInterfaces.isEmpty()) {
@@ -2094,6 +2121,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
         writeVpnInterfaceToDs(vpnId, infName, null, false /* not a router iface */, wrtConfigTxn);
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void writeVpnInterfaceToDs(Uuid vpnId, String infName, Adjacencies adjacencies,
             Boolean isRouterInterface, WriteTransaction wrtConfigTxn) {
         if (vpnId == null || infName == null) {
@@ -2144,8 +2173,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even
 
     private void checkAndPublishRouterDisassociatedFromVpnNotification(Uuid routerId, Uuid vpnId) throws
             InterruptedException {
-        RouterDisassociatedFromVpn routerDisassociatedFromVpn = new RouterDisassociatedFromVpnBuilder().setRouterId
-                (routerId).setVpnId(vpnId).build();
+        RouterDisassociatedFromVpn routerDisassociatedFromVpn =
+            new RouterDisassociatedFromVpnBuilder().setRouterId(routerId).setVpnId(vpnId).build();
         LOG.info("publishing notification upon disassociation of router from VPN");
         notificationPublishService.putNotification(routerDisassociatedFromVpn);
     }
index 8596e7029e9cfbafcb679df9e28cc1d7cc7fea4c..cf7160ac070125387e4947e0b4ddd51fe12716ac 100644 (file)
@@ -7,23 +7,23 @@
  */
 package org.opendaylight.netvirt.neutronvpn;
 
+import com.google.common.base.Optional;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.netvirt.neutronvpn.api.utils.NeutronConstants;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ExternalNetworks;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ProviderTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.Routers;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.RoutersBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.RoutersKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.networks.Networks;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.networks.NetworksBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.networks.NetworksKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ProviderTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.ExternalGatewayInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.external_gateway_info.ExternalFixedIps;
@@ -33,8 +33,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-
 public class NeutronvpnNatManager implements AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronvpnNatManager.class);
     private final DataBroker dataBroker;
@@ -43,9 +41,6 @@ public class NeutronvpnNatManager implements AutoCloseable {
     private static final int EXTERNAL_REMOVED = 2;
     private static final int EXTERNAL_CHANGED = 3;
 
-    /**
-     * @param dataBroker           - dataBroker reference
-     */
     public NeutronvpnNatManager(final DataBroker dataBroker) {
         this.dataBroker = dataBroker;
     }
@@ -62,66 +57,63 @@ public class NeutronvpnNatManager implements AutoCloseable {
         Uuid updExtNetId = null;
 
         LOG.trace("handleExternalNetwork for router " +  routerId);
-        int ext_net_changed = externalNetworkChanged(original, update);
-        if (ext_net_changed != EXTERNAL_NO_CHANGE) {
-            if (ext_net_changed == EXTERNAL_ADDED) {
+        int extNetChanged = externalNetworkChanged(original, update);
+        if (extNetChanged != EXTERNAL_NO_CHANGE) {
+            if (extNetChanged == EXTERNAL_ADDED) {
                 updExtNetId = update.getExternalGatewayInfo().getExternalNetworkId();
-                LOG.trace("External Network " + updExtNetId.getValue() +
-                        " addition detected for router " +  routerId.getValue());
+                LOG.trace("External Network " + updExtNetId.getValue()
+                    + " addition detected for router " +  routerId.getValue());
                 addExternalNetworkToRouter(update);
                 return;
             }
-            if (ext_net_changed == EXTERNAL_REMOVED) {
+            if (extNetChanged == EXTERNAL_REMOVED) {
                 origExtNetId = original.getExternalGatewayInfo().getExternalNetworkId();
-                LOG.trace("External Network removal detected " +
-                        "for router " +  routerId.getValue());
+                LOG.trace("External Network removal detected for router {}", routerId.getValue());
                 removeExternalNetworkFromRouter(origExtNetId, update);
                 //gateway mac unset handled as part of gateway clear deleting top-level routers node
                 return;
             }
             origExtNetId = original.getExternalGatewayInfo().getExternalNetworkId();
             updExtNetId = update.getExternalGatewayInfo().getExternalNetworkId();
-            LOG.trace("External Network changed from "+ origExtNetId.getValue() + " to "
-                    + updExtNetId.getValue() + " for router " +  routerId.getValue());
+            LOG.trace("External Network changed from {} to {} for router {}",
+                origExtNetId.getValue(), updExtNetId.getValue(), routerId.getValue());
             removeExternalNetworkFromRouter(origExtNetId, update);
             addExternalNetworkToRouter(update);
             return;
         }
 
         if (snatSettingChanged(original, update)) {
-            LOG.trace("SNAT settings on gateway changed  " +
-                    "for router " + routerId.getValue());
+            LOG.trace("SNAT settings on gateway changed for router {}", routerId.getValue());
             handleSnatSettingChangeForRouter(update, dataBroker);
         }
 
         if (externalFixedIpsChanged(original, update)) {
-            LOG.trace("External Fixed IPs changed " +
-                    "for router " + routerId.getValue());
+            LOG.trace("External Fixed IPs changed for router {}", routerId.getValue());
             handleExternalFixedIpsForRouter(update, dataBroker);
         }
     }
 
     private int externalNetworkChanged(Router original, Router update) {
-        String orig_ext_net = null;
-        String new_ext_net = null;
+        String origExtNet = null;
+        String newExtNet = null;
         if (original != null && original.getExternalGatewayInfo() != null) {
-            orig_ext_net = original.getExternalGatewayInfo().getExternalNetworkId().getValue();
+            origExtNet = original.getExternalGatewayInfo().getExternalNetworkId().getValue();
         }
 
         if (update != null && update.getExternalGatewayInfo() != null) {
-            new_ext_net = update.getExternalGatewayInfo().getExternalNetworkId().getValue();
+            newExtNet = update.getExternalGatewayInfo().getExternalNetworkId().getValue();
         }
 
-        if (orig_ext_net == null) {
-            if (new_ext_net == null) {
+        if (origExtNet == null) {
+            if (newExtNet == null) {
                 return EXTERNAL_NO_CHANGE;
             }
             return EXTERNAL_ADDED;
         } else {
-            if (new_ext_net == null) {
+            if (newExtNet == null) {
                 return EXTERNAL_REMOVED;
             }
-            if (!orig_ext_net.equals(new_ext_net)) {
+            if (!origExtNet.equals(newExtNet)) {
                 return EXTERNAL_CHANGED;
             }
             return EXTERNAL_NO_CHANGE;
@@ -129,81 +121,83 @@ public class NeutronvpnNatManager implements AutoCloseable {
     }
 
     private boolean snatSettingChanged(Router orig, Router update) {
-        ExternalGatewayInfo orig_ext_gw = null;
-        ExternalGatewayInfo new_ext_gw = null;
+        ExternalGatewayInfo origExtGw = null;
+        ExternalGatewayInfo newExtGw = null;
         if (orig != null && orig.getExternalGatewayInfo() != null) {
-            orig_ext_gw = orig.getExternalGatewayInfo();
+            origExtGw = orig.getExternalGatewayInfo();
         }
 
         if (update != null && update.getExternalGatewayInfo() != null) {
-            new_ext_gw = update.getExternalGatewayInfo();
+            newExtGw = update.getExternalGatewayInfo();
         }
 
-        if (orig_ext_gw == null) {
-            if (new_ext_gw != null) {
+        if (origExtGw == null) {
+            if (newExtGw != null) {
                 return true;
             }
-        } else if (new_ext_gw == null || orig_ext_gw.isEnableSnat() != new_ext_gw.isEnableSnat()) {
+        } else if (newExtGw == null || origExtGw.isEnableSnat() != newExtGw.isEnableSnat()) {
             return true;
         }
         return false;
     }
 
     private boolean externalFixedIpsChanged(Router orig, Router update) {
-        ExternalGatewayInfo orig_ext_gw = null;
-        ExternalGatewayInfo new_ext_gw = null;
+        ExternalGatewayInfo origExtGw = null;
+        ExternalGatewayInfo newExtGw = null;
         if (orig != null && orig.getExternalGatewayInfo() != null) {
-            orig_ext_gw = orig.getExternalGatewayInfo();
+            origExtGw = orig.getExternalGatewayInfo();
         }
 
         if (update != null && update.getExternalGatewayInfo() != null) {
-            new_ext_gw = update.getExternalGatewayInfo();
+            newExtGw = update.getExternalGatewayInfo();
         }
 
-        if (orig_ext_gw == null && new_ext_gw != null && new_ext_gw.getExternalFixedIps() != null && !new_ext_gw
+        if (origExtGw == null && newExtGw != null && newExtGw.getExternalFixedIps() != null && !newExtGw
                 .getExternalFixedIps().isEmpty()) {
             return true;
         }
 
-        if (new_ext_gw == null && orig_ext_gw != null && orig_ext_gw.getExternalFixedIps() != null && !orig_ext_gw
+        if (newExtGw == null && origExtGw != null && origExtGw.getExternalFixedIps() != null && !origExtGw
                 .getExternalFixedIps().isEmpty()) {
             return true;
         }
 
-        if (orig_ext_gw != null && new_ext_gw != null) {
-            if (orig_ext_gw.getExternalFixedIps() != null) {
-                if (!orig_ext_gw.getExternalFixedIps().isEmpty()) {
-                    if (new_ext_gw.getExternalFixedIps() != null && !new_ext_gw.getExternalFixedIps().isEmpty()) {
-                        List<ExternalFixedIps> orig_ext_fixed_ips = orig_ext_gw.getExternalFixedIps();
-                        HashSet<String> orig_fixed_ip_set = new HashSet<String>();
-                        for (ExternalFixedIps fixed_ip : orig_ext_fixed_ips) {
-                            orig_fixed_ip_set.add(fixed_ip.getIpAddress().getIpv4Address().getValue());
+        if (origExtGw != null && newExtGw != null) {
+            if (origExtGw.getExternalFixedIps() != null) {
+                if (!origExtGw.getExternalFixedIps().isEmpty()) {
+                    if (newExtGw.getExternalFixedIps() != null && !newExtGw.getExternalFixedIps().isEmpty()) {
+                        List<ExternalFixedIps> origExtFixedIps = origExtGw.getExternalFixedIps();
+                        HashSet<String> origFixedIpSet = new HashSet<String>();
+                        for (ExternalFixedIps fixedIps : origExtFixedIps) {
+                            origFixedIpSet.add(fixedIps.getIpAddress().getIpv4Address().getValue());
                         }
-                        List<ExternalFixedIps> new_ext_fixed_ips = new_ext_gw.getExternalFixedIps();
-                        HashSet<String> upd_fixed_ip_set = new HashSet<String>();
-                        for (ExternalFixedIps fixed_ip : new_ext_fixed_ips) {
-                            upd_fixed_ip_set.add(fixed_ip.getIpAddress().getIpv4Address().getValue());
+                        List<ExternalFixedIps> newExtFixedIps = newExtGw.getExternalFixedIps();
+                        HashSet<String> updFixedIpSet = new HashSet<String>();
+                        for (ExternalFixedIps fixedIps : newExtFixedIps) {
+                            updFixedIpSet.add(fixedIps.getIpAddress().getIpv4Address().getValue());
                         }
                         // returns true if external subnets have changed
-                        return (!orig_fixed_ip_set.equals(upd_fixed_ip_set)) ? true : false;
+                        return (!origFixedIpSet.equals(updFixedIpSet)) ? true : false;
                     }
                     return true;
-                } else if (new_ext_gw.getExternalFixedIps() != null && !new_ext_gw.getExternalFixedIps().isEmpty()){
+                } else if (newExtGw.getExternalFixedIps() != null && !newExtGw.getExternalFixedIps().isEmpty()) {
                     return true;
                 }
-            } else if (new_ext_gw.getExternalFixedIps() != null && !new_ext_gw.getExternalFixedIps().isEmpty()) {
+            } else if (newExtGw.getExternalFixedIps() != null && !newExtGw.getExternalFixedIps().isEmpty()) {
                 return true;
             }
         }
         return false;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void addExternalNetwork(Network net) {
         Uuid extNetId = net.getUuid();
 
         // Create and add Networks object for this External Network to the ExternalNetworks list
-        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                child(Networks.class, new NetworksKey(extNetId)).build();
+        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+            .child(Networks.class, new NetworksKey(extNetId)).build();
 
         try {
             LOG.trace(" Creating/Updating a new Networks node: " +  extNetId.getValue());
@@ -211,13 +205,12 @@ public class NeutronvpnNatManager implements AutoCloseable {
                     LogicalDatastoreType.CONFIGURATION,
                     netsIdentifier);
             if (optionalNets.isPresent()) {
-                LOG.error("External Network " + extNetId.getValue() +
-                        " already detected to be present");
+                LOG.error("External Network {} already detected to be present", extNetId.getValue());
                 return;
             }
             ProviderTypes provType = NeutronvpnUtils.getProviderNetworkType(net);
-            if (provType == null){
-                LOG.error("Unable to get Network Provider Type for network {}",net.getUuid());
+            if (provType == null) {
+                LOG.error("Unable to get Network Provider Type for network {}", net.getUuid());
                 return;
             }
             NetworksBuilder builder = null;
@@ -232,17 +225,18 @@ public class NeutronvpnNatManager implements AutoCloseable {
             MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, netsIdentifier, networkss);
             LOG.trace("Wrote externalnetwork successfully to CONFIG Datastore");
         } catch (Exception ex) {
-            LOG.error("Creation of External Network " +
-                    extNetId.getValue() + " failed " + ex.getMessage());
+            LOG.error("Creation of External Network {} failed: {}", extNetId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void removeExternalNetwork(Network net) {
         Uuid extNetId = net.getUuid();
 
         // Create and add Networks object for this External Network to the ExternalNetworks list
-        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                child(Networks.class, new NetworksKey(extNetId)).build();
+        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+            .child(Networks.class, new NetworksKey(extNetId)).build();
 
         try {
             Optional<Networks> optionalNets = NeutronvpnUtils.read(dataBroker,
@@ -250,22 +244,21 @@ public class NeutronvpnNatManager implements AutoCloseable {
                     netsIdentifier);
             LOG.trace("Removing Networks node: " +  extNetId.getValue());
             if (!optionalNets.isPresent()) {
-                LOG.info("External Network " + extNetId.getValue() +
-                        " not available in the datastore");
+                LOG.info("External Network {} not available in the datastore", extNetId.getValue());
                 return;
             }
             // Delete Networks object from the ExternalNetworks list
             LOG.trace("Deleting External Network " + extNetId.getValue());
             MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, netsIdentifier);
-            LOG.trace("Deleted External Network " + extNetId.getValue() +
-                    " successfully from CONFIG Datastore");
+            LOG.trace("Deleted External Network {} successfully from CONFIG Datastore", extNetId.getValue());
 
         } catch (Exception ex) {
-            LOG.error("Deletion of External Network " + extNetId.getValue() +
-                    " failed" + ex.getMessage());
+            LOG.error("Deletion of External Network {} failed: {}", extNetId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void addExternalNetworkToRouter(Router update) {
         Uuid routerId = update.getUuid();
         Uuid extNetId = update.getExternalGatewayInfo().getExternalNetworkId();
@@ -274,15 +267,16 @@ public class NeutronvpnNatManager implements AutoCloseable {
             Network input = NeutronvpnUtils.getNeutronNetwork(dataBroker, extNetId);
             ProviderTypes providerNwType = NeutronvpnUtils.getProviderNetworkType(input);
             if (providerNwType == null) {
-                LOG.error("Unable to get Network Provider Type for network {} and uuid {}", input.getName(), input.getUuid());
+                LOG.error("Unable to get Network Provider Type for network {} and uuid {}",
+                    input.getName(), input.getUuid());
                 return;
             }
             // Add this router to the ExtRouters list
             addExternalRouter(update, dataBroker);
 
             // Create and add Networks object for this External Network to the ExternalNetworks list
-            InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                    child(Networks.class, new NetworksKey(extNetId)).build();
+            InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+                .child(Networks.class, new NetworksKey(extNetId)).build();
 
             Optional<Networks> optionalNets = NeutronvpnUtils.read(dataBroker,
                     LogicalDatastoreType.CONFIGURATION,
@@ -291,8 +285,7 @@ public class NeutronvpnNatManager implements AutoCloseable {
             if (optionalNets.isPresent()) {
                 builder = new NetworksBuilder(optionalNets.get());
             } else {
-                LOG.error("External Network " + extNetId.getValue() +
-                        " not present in the NVPN datamodel");
+                LOG.error("External Network {} not present in the NVPN datamodel", extNetId.getValue());
                 return;
             }
             List<Uuid> rtrList = builder.getRouterIds();
@@ -311,11 +304,13 @@ public class NeutronvpnNatManager implements AutoCloseable {
             MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, netsIdentifier, networkss);
             LOG.trace("Updated externalnetworks successfully to CONFIG Datastore");
         } catch (Exception ex) {
-            LOG.error("Creation of externalnetworks failed for " + extNetId.getValue() +
-                    " with exception " + ex.getMessage());
+            LOG.error("Creation of externalnetworks failed for {} with exception {}",
+                extNetId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void removeExternalNetworkFromRouter(Uuid origExtNetId, Router update) {
         Uuid routerId = update.getUuid();
 
@@ -323,15 +318,14 @@ public class NeutronvpnNatManager implements AutoCloseable {
         removeExternalRouter(origExtNetId, update, dataBroker);
 
         // Remove the router from the ExternalNetworks list
-        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                child(Networks.class, new NetworksKey(origExtNetId)).build();
+        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+            .child(Networks.class, new NetworksKey(origExtNetId)).build();
 
         try {
             Optional<Networks> optionalNets = NeutronvpnUtils.read(dataBroker,
                     LogicalDatastoreType.CONFIGURATION,
                     netsIdentifier);
-            LOG.trace("Removing a router from External Networks node: " +
-                    origExtNetId.getValue());
+            LOG.trace("Removing a router from External Networks node: {}", origExtNetId.getValue());
             if (optionalNets.isPresent()) {
                 NetworksBuilder builder = new NetworksBuilder(optionalNets.get());
                 List<Uuid> rtrList = builder.getRouterIds();
@@ -340,21 +334,23 @@ public class NeutronvpnNatManager implements AutoCloseable {
                     builder.setRouterIds(rtrList);
                     Networks networkss = builder.build();
                     MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, netsIdentifier, networkss);
-                    LOG.trace("Removed router " + routerId + " from externalnetworks " + origExtNetId.getValue());
+                    LOG.trace("Removed router {} from externalnetworks {}", routerId, origExtNetId.getValue());
                 }
             }
         } catch (Exception ex) {
-            LOG.error("Removing externalnetwork " + origExtNetId.getValue() +
-                    " from router " + routerId + " failed " + ex.getMessage());
+            LOG.error("Removing externalnetwork {} from router {} failed {}",
+                origExtNetId.getValue(), routerId, ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void addExternalNetworkToVpn(Network network, Uuid vpnId) {
         Uuid extNetId = network.getUuid();
 
         // Create and add Networks object for this External Network to the ExternalNetworks list
-        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                child(Networks.class, new NetworksKey(extNetId)).build();
+        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+            .child(Networks.class, new NetworksKey(extNetId)).build();
 
         try {
             Optional<Networks> optionalNets = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION,
@@ -364,8 +360,7 @@ public class NeutronvpnNatManager implements AutoCloseable {
             if (optionalNets.isPresent()) {
                 builder = new NetworksBuilder(optionalNets.get());
             } else {
-                LOG.error("External Network " + extNetId.getValue() +
-                        " not present in the NVPN datamodel");
+                LOG.error("External Network {} not present in the NVPN datamodel", extNetId.getValue());
                 return;
             }
             builder.setVpnid(vpnId);
@@ -376,17 +371,18 @@ public class NeutronvpnNatManager implements AutoCloseable {
             LOG.trace("Wrote with VPN-ID successfully to CONFIG Datastore");
 
         } catch (Exception ex) {
-            LOG.error("Attaching VPN-ID to externalnetwork " + extNetId.getValue() +
-                    " failed with " + ex.getMessage());
+            LOG.error("Attaching VPN-ID to externalnetwork {} failed with {}", extNetId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void removeExternalNetworkFromVpn(Network network) {
         Uuid extNetId = network.getUuid();
 
         // Create and add Networks object for this External Network to the ExternalNetworks list
-        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class).
-                child(Networks.class, new NetworksKey(extNetId)).build();
+        InstanceIdentifier<Networks> netsIdentifier = InstanceIdentifier.builder(ExternalNetworks.class)
+            .child(Networks.class, new NetworksKey(extNetId)).build();
 
         try {
             Optional<Networks> optionalNets = NeutronvpnUtils.read(dataBroker, LogicalDatastoreType.CONFIGURATION,
@@ -408,11 +404,12 @@ public class NeutronvpnNatManager implements AutoCloseable {
             LOG.trace("Updated extnetworks successfully to CONFIG Datastore");
 
         } catch (Exception ex) {
-            LOG.error("Removing VPN-ID from externalnetworks " + extNetId.getValue() +
-                    " failed with " + ex.getMessage());
+            LOG.error("Removing VPN-ID from externalnetworks {} failed with {}", extNetId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void addExternalRouter(Router update, DataBroker broker) {
         Uuid routerId = update.getUuid();
         Uuid extNetId = update.getExternalGatewayInfo().getExternalNetworkId();
@@ -427,7 +424,8 @@ public class NeutronvpnNatManager implements AutoCloseable {
             Network input = NeutronvpnUtils.getNeutronNetwork(dataBroker, extNetId);
             ProviderTypes providerNwType = NeutronvpnUtils.getProviderNetworkType(input);
             if (providerNwType == null) {
-                LOG.error("Unable to get Network Provider Type for network {} and uuid{}", input.getName(), input.getUuid());
+                LOG.error("Unable to get Network Provider Type for network {} and uuid{}",
+                    input.getName(), input.getUuid());
                 return;
             }
             Optional<Routers> optionalRouters = NeutronvpnUtils.read(broker,
@@ -444,11 +442,11 @@ public class NeutronvpnNatManager implements AutoCloseable {
             builder.setNetworkId(extNetId);
             builder.setEnableSnat(update.getExternalGatewayInfo().isEnableSnat());
 
-            ArrayList<String> ext_fixed_ips = new ArrayList<String>();
-            for (ExternalFixedIps fixed_ips : update.getExternalGatewayInfo().getExternalFixedIps()) {
-                ext_fixed_ips.add(fixed_ips.getIpAddress().getIpv4Address().getValue());
+            ArrayList<String> extFixedIps = new ArrayList<String>();
+            for (ExternalFixedIps fixedIps : update.getExternalGatewayInfo().getExternalFixedIps()) {
+                extFixedIps.add(fixedIps.getIpAddress().getIpv4Address().getValue());
             }
-            builder.setExternalIps(ext_fixed_ips);
+            builder.setExternalIps(extFixedIps);
 
             if (gatewayPortId != null) {
                 LOG.trace("Setting/Updating gateway Mac for router {}", routerId.getValue());
@@ -466,11 +464,13 @@ public class NeutronvpnNatManager implements AutoCloseable {
             LOG.trace("Wrote successfully Routers to CONFIG Datastore");
 
         } catch (Exception ex) {
-            LOG.error("Creation of extrouters failed for router " + routerId.getValue() +
-                    " failed with " + ex.getMessage());
+            LOG.error("Creation of extrouters failed for router {} failed with {}",
+                routerId.getValue(),  ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void removeExternalRouter(Uuid extNetId, Router update, DataBroker broker) {
         Uuid routerId = update.getUuid();
 
@@ -489,11 +489,12 @@ public class NeutronvpnNatManager implements AutoCloseable {
                 LOG.trace("Removed router " + routerId.getValue() + " from extrouters ");
             }
         } catch (Exception ex) {
-            LOG.error("Removing extrouter " + routerId.getValue() + " from extrouters " +
-                    " failed with " + ex.getMessage());
+            LOG.error("Removing extrouter {} from extrouters failed with {}", routerId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void handleExternalFixedIpsForRouter(Router update, DataBroker broker) {
         Uuid routerId = update.getUuid();
 
@@ -507,24 +508,24 @@ public class NeutronvpnNatManager implements AutoCloseable {
             if (optionalRouters.isPresent()) {
                 RoutersBuilder builder = new RoutersBuilder(optionalRouters.get());
                 if (builder != null) {
-                    ArrayList<String> ext_fixed_ips = new ArrayList<String>();
-                    for (ExternalFixedIps fixed_ips : update.getExternalGatewayInfo().getExternalFixedIps()) {
-                        ext_fixed_ips.add(fixed_ips.getIpAddress().getIpv4Address().getValue());
+                    ArrayList<String> extFixedIps = new ArrayList<String>();
+                    for (ExternalFixedIps fixedIps : update.getExternalGatewayInfo().getExternalFixedIps()) {
+                        extFixedIps.add(fixedIps.getIpAddress().getIpv4Address().getValue());
                     }
-                    builder.setExternalIps(ext_fixed_ips);
+                    builder.setExternalIps(extFixedIps);
                 }
                 Routers routerss = builder.build();
-                LOG.trace("Updating external fixed ips for router " +
-                        routerId.getValue() +  " with value " + routerss);
+                LOG.trace("Updating external fixed ips for router {} with value {}", routerId.getValue(), routerss);
                 MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, routersIdentifier, routerss);
                 LOG.trace("Added External Fixed IPs successfully for Routers to CONFIG Datastore");
             }
         } catch (Exception ex) {
-            LOG.error("Updating extfixedips for " + routerId.getValue() +
-                    " in extrouters failed with " + ex.getMessage());
+            LOG.error("Updating extfixedips for {} in extrouters failed with {}", routerId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void handleSubnetsForExternalRouter(Uuid routerId, DataBroker broker) {
         InstanceIdentifier<Routers> routersIdentifier = NeutronvpnUtils.buildExtRoutersIdentifier(routerId);
 
@@ -532,8 +533,7 @@ public class NeutronvpnNatManager implements AutoCloseable {
             Optional<Routers> optionalRouters = NeutronvpnUtils.read(broker,
                     LogicalDatastoreType.CONFIGURATION,
                     routersIdentifier);
-            LOG.trace("Updating Internal subnets for Routers node: " +
-                    routerId.getValue());
+            LOG.trace("Updating Internal subnets for Routers node: {}", routerId.getValue());
             RoutersBuilder builder = null;
             if (optionalRouters.isPresent()) {
                 builder = new RoutersBuilder(optionalRouters.get());
@@ -550,11 +550,13 @@ public class NeutronvpnNatManager implements AutoCloseable {
             LOG.trace("Updated successfully Routers to CONFIG Datastore");
 
         } catch (Exception ex) {
-            LOG.error("Updation of internal subnets for extrouters " +
-                    "failed for router " + routerId.getValue() + " with " + ex.getMessage());
+            LOG.error("Updation of internal subnets for extrouters failed for router {} with {}",
+                routerId.getValue(), ex.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void handleSnatSettingChangeForRouter(Router update, DataBroker broker) {
         Uuid routerId = update.getUuid();
 
@@ -564,8 +566,7 @@ public class NeutronvpnNatManager implements AutoCloseable {
             Optional<Routers> optionalRouters = NeutronvpnUtils.read(broker,
                     LogicalDatastoreType.CONFIGURATION,
                     routersIdentifier);
-            LOG.trace("Updating Internal subnets for Routers node: " +
-                    routerId.getValue());
+            LOG.trace("Updating Internal subnets for Routers node: {}", routerId.getValue());
             RoutersBuilder builder = null;
             if (optionalRouters.isPresent()) {
                 builder = new RoutersBuilder(optionalRouters.get());
@@ -581,8 +582,8 @@ public class NeutronvpnNatManager implements AutoCloseable {
             LOG.trace("Updated successfully Routers to CONFIG Datastore");
 
         } catch (Exception ex) {
-            LOG.error("Updation of snat for extrouters failed for router " + routerId.getValue() +
-                    " with " + ex.getMessage());
+            LOG.error("Updation of snat for extrouters failed for router {} with {}",
+                routerId.getValue(), ex.getMessage());
         }
     }
 }
index 0a97528627070dee7251e5216b84de7705b75100..4de44208dfaba0c3d77b64413e14cc002e421ac0 100644 (file)
@@ -9,13 +9,15 @@
 package org.opendaylight.netvirt.neutronvpn;
 
 import com.google.common.base.Optional;
-import java.util.Iterator;
+import com.google.common.collect.ImmutableBiMap;
+import com.google.common.collect.Sets;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -26,23 +28,17 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.ImmutablePair;
-import com.google.common.collect.ImmutableBiMap;
-import com.google.common.collect.Sets;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInstances;
-import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances.VpnInstance;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.FloatingIpPortInfo;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ProviderTypes;
 import org.opendaylight.netvirt.neutronvpn.api.utils.NeutronConstants;
+import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInstances;
 import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.VpnInterfaces;
+import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances.VpnInstance;
 import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterface;
 import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterfaceKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
@@ -50,26 +46,48 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.ReleaseIdInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.ReleaseIdInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAclBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.SegmentTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.SegmentTypeFlat;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.SegmentTypeGre;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.SegmentTypeVlan;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.SegmentTypeVxlan;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.NeutronRouterDpns;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.LearntVpnVipToPortData;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.RouterDpnList;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.router.dpn.list.DpnVpninterfacesList;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.NeutronRouterDpns;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.learnt.vpn.vip.to.port.data.LearntVpnVipToPort;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.learnt.vpn.vip.to.port.data.LearntVpnVipToPortKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.RouterDpnList;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.neutron.router.dpns.router.dpn.list.DpnVpninterfacesList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ExtRouters;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.FloatingIpPortInfo;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ProviderTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.RoutersKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMapping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.floating.ip.port.info.FloatingIpIdToPortMappingKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NetworkMaps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NeutronVpnPortipPortData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.Subnetmaps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.VpnMaps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.networkmaps.NetworkMap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.networkmaps.NetworkMapKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data.VpnPortipToPort;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data.VpnPortipToPortBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data.VpnPortipToPortKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.Subnetmap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.SubnetmapKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.vpnmaps.VpnMap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.vpnmaps.VpnMapKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.PortBindingExtension;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.ext.rev150712.NetworkL3Extension;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.Routers;
@@ -94,31 +112,11 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.Subnets;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.SubnetKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.ReleaseIdInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.ReleaseIdInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.NetworkMaps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.Subnetmaps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.VpnMaps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.networkmaps.NetworkMap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.networkmaps.NetworkMapKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.Subnetmap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.SubnetmapKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.vpnmaps.VpnMap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.vpnmaps.VpnMapKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.InterVpnLinkStates;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.InterVpnLinks;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.link.states.InterVpnLinkState;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.link.states.InterVpnLinkStateKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.links.InterVpnLink;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAclBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairsBuilder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
@@ -127,9 +125,10 @@ import org.slf4j.LoggerFactory;
 
 public class NeutronvpnUtils {
 
-    private static final Logger logger = LoggerFactory.getLogger(NeutronvpnUtils.class);
-    private static final ImmutableBiMap<Class<? extends NetworkTypeBase>, Class<? extends SegmentTypeBase>> NETWORK_MAP =
-            new ImmutableBiMap.Builder<Class<? extends NetworkTypeBase>, Class<? extends SegmentTypeBase>>()
+    private static final Logger LOG = LoggerFactory.getLogger(NeutronvpnUtils.class);
+    private static final ImmutableBiMap<Class<? extends NetworkTypeBase>, Class<? extends SegmentTypeBase>>
+        NETWORK_MAP =
+        new ImmutableBiMap.Builder<Class<? extends NetworkTypeBase>, Class<? extends SegmentTypeBase>>()
             .put(NetworkTypeFlat.class, SegmentTypeFlat.class)
             .put(NetworkTypeGre.class, SegmentTypeGre.class)
             .put(NetworkTypeVlan.class, SegmentTypeVlan.class)
@@ -144,7 +143,7 @@ public class NeutronvpnUtils {
     public static ConcurrentHashMap<Uuid, QosPolicy> qosPolicyMap = new ConcurrentHashMap<>();
     public static ConcurrentHashMap<Uuid, HashMap<Uuid, Port>> qosPortsMap = new ConcurrentHashMap<>();
     public static ConcurrentHashMap<Uuid, HashMap<Uuid, Network>> qosNetworksMap = new ConcurrentHashMap<>();
-    private static final Set<Class<? extends NetworkTypeBase>> supportedNetworkTypes = Sets.newConcurrentHashSet();
+    private static final Set<Class<? extends NetworkTypeBase>> SUPPORTED_NETWORK_TYPES = Sets.newConcurrentHashSet();
 
     private static long LOCK_WAIT_TIME = 10L;
     private static TimeUnit secUnit = TimeUnit.SECONDS;
@@ -163,11 +162,11 @@ public class NeutronvpnUtils {
     static ConcurrentHashMap<String, ImmutablePair<ReadWriteLock,AtomicInteger>> locks = new ConcurrentHashMap<>();
 
     public static void registerSuppoprtedNetworkType(Class<? extends NetworkTypeBase> netType) {
-        supportedNetworkTypes.add(netType);
+        SUPPORTED_NETWORK_TYPES.add(netType);
     }
 
     public static void unregisterSuppoprtedNetworkType(Class<? extends NetworkTypeBase> netType) {
-        supportedNetworkTypes.remove(netType);
+        SUPPORTED_NETWORK_TYPES.remove(netType);
     }
 
     protected static Subnetmap getSubnetmap(DataBroker broker, Uuid subnetId) {
@@ -187,7 +186,7 @@ public class NeutronvpnUtils {
         if (optionalVpnMap.isPresent()) {
             return optionalVpnMap.get();
         }
-        logger.error("getVpnMap failed, VPN {} not present", id.getValue());
+        LOG.error("getVpnMap failed, VPN {} not present", id.getValue());
         return null;
     }
 
@@ -299,9 +298,9 @@ public class NeutronvpnUtils {
         if (network != null) {
             return network;
         }
-        logger.debug("getNeutronNetwork for {}", networkId.getValue());
-        InstanceIdentifier<Network> inst = InstanceIdentifier.create(Neutron.class).child(Networks.class).child
-                (Network.class, new NetworkKey(networkId));
+        LOG.debug("getNeutronNetwork for {}", networkId.getValue());
+        InstanceIdentifier<Network> inst = InstanceIdentifier.create(Neutron.class).child(Networks.class)
+            .child(Network.class, new NetworkKey(networkId));
         Optional<Network> net = read(broker, LogicalDatastoreType.CONFIGURATION, inst);
         if (net.isPresent()) {
             network = net.get();
@@ -315,7 +314,7 @@ public class NeutronvpnUtils {
         if (prt != null) {
             return prt;
         }
-        logger.debug("getNeutronPort for {}", portId.getValue());
+        LOG.debug("getNeutronPort for {}", portId.getValue());
         InstanceIdentifier<Port> inst = InstanceIdentifier.create(Neutron.class).child(Ports.class).child(Port.class,
                 new PortKey(portId));
         Optional<Port> port = read(broker, LogicalDatastoreType.CONFIGURATION, inst);
@@ -415,8 +414,10 @@ public class NeutronvpnUtils {
      * @return the allowed address pairs delta
      */
     protected static List<AllowedAddressPairs> getAllowedAddressPairsDelta(
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port1AllowedAddressPairs,
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port2AllowedAddressPairs) {
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> port1AllowedAddressPairs,
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> port2AllowedAddressPairs) {
         if (port1AllowedAddressPairs == null) {
             return null;
         }
@@ -425,15 +426,19 @@ public class NeutronvpnUtils {
             return getAllowedAddressPairsForAclService(port1AllowedAddressPairs);
         }
 
-        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> list1 =
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> list1 =
                 new ArrayList<>(port1AllowedAddressPairs);
-        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> list2 =
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> list2 =
                 new ArrayList<>(port2AllowedAddressPairs);
-        for (Iterator<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> iterator =
+        for (Iterator<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> iterator =
              list1.iterator(); iterator.hasNext();) {
-            org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs allowedAddressPair1 =
-                    iterator.next();
-            for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs allowedAddressPair2 : list2) {
+            org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+                .AllowedAddressPairs allowedAddressPair1 = iterator.next();
+            for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+                     .AllowedAddressPairs allowedAddressPair2 : list2) {
                 if (allowedAddressPair1.getKey().equals(allowedAddressPair2.getKey())) {
                     iterator.remove();
                     break;
@@ -482,19 +487,6 @@ public class NeutronvpnUtils {
         return aclAllowedAddressPairs;
     }
 
-    /**
-     * Gets the IPv6 Link Local Address corresponding to the MAC Address.
-     *
-     * @param macAddress the mac address
-     * @return the allowed address pairs for acl service which includes the MAC + IPv6LLA
-     */
-    protected static AllowedAddressPairs updateIPv6LinkLocalAddressForAclService(MacAddress macAddress) {
-        IpAddress ipv6LinkLocalAddress = getIpv6LinkLocalAddressFromMac(macAddress);
-        return getAclAllowedAddressPairs(macAddress,
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress(
-                        ipv6LinkLocalAddress.getValue()));
-    }
-
     /**
      * Gets the allowed address pairs for acl service.
      *
@@ -502,17 +494,30 @@ public class NeutronvpnUtils {
      * @return the allowed address pairs for acl service
      */
     protected static List<AllowedAddressPairs> getAllowedAddressPairsForAclService(
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
-                .AllowedAddressPairs> portAllowedAddressPairs) {
+        List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+            .AllowedAddressPairs> portAllowedAddressPairs) {
         List<AllowedAddressPairs> aclAllowedAddressPairs = new ArrayList<>();
         for (org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs
-                portAllowedAddressPair : portAllowedAddressPairs) {
+                 portAllowedAddressPair : portAllowedAddressPairs) {
             aclAllowedAddressPairs.add(getAclAllowedAddressPairs(portAllowedAddressPair.getMacAddress(),
-                    portAllowedAddressPair.getIpAddress()));
+                portAllowedAddressPair.getIpAddress()));
         }
         return aclAllowedAddressPairs;
     }
 
+    /**
+     * Gets the IPv6 Link Local Address corresponding to the MAC Address.
+     *
+     * @param macAddress the mac address
+     * @return the allowed address pairs for acl service which includes the MAC + IPv6LLA
+     */
+    protected static AllowedAddressPairs updateIPv6LinkLocalAddressForAclService(MacAddress macAddress) {
+        IpAddress ipv6LinkLocalAddress = getIpv6LinkLocalAddressFromMac(macAddress);
+        return getAclAllowedAddressPairs(macAddress,
+                new org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress(
+                        ipv6LinkLocalAddress.getValue()));
+    }
+
     /**
      * Gets the updated security groups.
      *
@@ -550,8 +555,9 @@ public class NeutronvpnUtils {
             List<FixedIps> origFixedIps, List<FixedIps> newFixedIps) {
         List<FixedIps> addedFixedIps = getFixedIpsDelta(newFixedIps, origFixedIps);
         List<FixedIps> deletedFixedIps = getFixedIpsDelta(origFixedIps, newFixedIps);
-        List<AllowedAddressPairs> updatedAllowedAddressPairs = aclInterfaceAllowedAddressPairs != null ?
-                new ArrayList<>(aclInterfaceAllowedAddressPairs) : new ArrayList<>();
+        List<AllowedAddressPairs> updatedAllowedAddressPairs =
+            aclInterfaceAllowedAddressPairs != null
+                ? new ArrayList<>(aclInterfaceAllowedAddressPairs) : new ArrayList<>();
         if (deletedFixedIps != null) {
             updatedAllowedAddressPairs.removeAll(getAllowedAddressPairsForAclService(portMacAddress, deletedFixedIps));
         }
@@ -571,14 +577,17 @@ public class NeutronvpnUtils {
      */
     protected static List<AllowedAddressPairs> getUpdatedAllowedAddressPairs(
             List<AllowedAddressPairs> aclInterfaceAllowedAddressPairs,
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> origAllowedAddressPairs,
-            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> newAllowedAddressPairs) {
-        List<AllowedAddressPairs> addedAllowedAddressPairs = getAllowedAddressPairsDelta(newAllowedAddressPairs,
-                origAllowedAddressPairs);
-        List<AllowedAddressPairs> deletedAllowedAddressPairs = getAllowedAddressPairsDelta(origAllowedAddressPairs,
-                newAllowedAddressPairs);
-        List<AllowedAddressPairs> updatedAllowedAddressPairs = aclInterfaceAllowedAddressPairs != null ?
-                new ArrayList<>(aclInterfaceAllowedAddressPairs) : new ArrayList<>();
+            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+                .AllowedAddressPairs> origAllowedAddressPairs,
+            List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes
+                .AllowedAddressPairs> newAllowedAddressPairs) {
+        List<AllowedAddressPairs> addedAllowedAddressPairs =
+            getAllowedAddressPairsDelta(newAllowedAddressPairs,origAllowedAddressPairs);
+        List<AllowedAddressPairs> deletedAllowedAddressPairs =
+            getAllowedAddressPairsDelta(origAllowedAddressPairs, newAllowedAddressPairs);
+        List<AllowedAddressPairs> updatedAllowedAddressPairs =
+            aclInterfaceAllowedAddressPairs != null
+                ? new ArrayList<>(aclInterfaceAllowedAddressPairs) : new ArrayList<>();
         if (addedAllowedAddressPairs != null) {
             updatedAllowedAddressPairs.addAll(addedAllowedAddressPairs);
         }
@@ -598,7 +607,7 @@ public class NeutronvpnUtils {
         // Handle security group enabled
         List<Uuid> securityGroups = port.getSecurityGroups();
         if (securityGroups != null) {
-                interfaceAclBuilder.setSecurityGroups(securityGroups);
+            interfaceAclBuilder.setSecurityGroups(securityGroups);
         }
         List<AllowedAddressPairs> aclAllowedAddressPairs = NeutronvpnUtils.getAllowedAddressPairsForAclService(
                 port.getMacAddress(), port.getFixedIps());
@@ -629,10 +638,10 @@ public class NeutronvpnUtils {
     }
 
     protected static List<Uuid> getNeutronRouterSubnetIds(DataBroker broker, Uuid routerId) {
-        logger.debug("getNeutronRouterSubnetIds for {}", routerId.getValue());
+        LOG.debug("getNeutronRouterSubnetIds for {}", routerId.getValue());
         List<Uuid> subnetIdList = new ArrayList<>();
-        Optional<Subnetmaps> subnetMaps = read(broker, LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.builder
-                (Subnetmaps.class).build());
+        Optional<Subnetmaps> subnetMaps = read(broker, LogicalDatastoreType.CONFIGURATION,
+            InstanceIdentifier.builder(Subnetmaps.class).build());
         if (subnetMaps.isPresent() && subnetMaps.get().getSubnetmap() != null) {
             for (Subnetmap subnetmap : subnetMaps.get().getSubnetmap()) {
                 if (routerId.equals(subnetmap.getRouterId())) {
@@ -640,13 +649,13 @@ public class NeutronvpnUtils {
                 }
             }
         }
-        logger.debug("returning from getNeutronRouterSubnetIds for {}", routerId.getValue());
+        LOG.debug("returning from getNeutronRouterSubnetIds for {}", routerId.getValue());
         return subnetIdList;
     }
 
     protected static String getVifPortName(Port port) {
         if (port == null || port.getUuid() == null) {
-            logger.warn("Invalid Neutron port {}", port);
+            LOG.warn("Invalid Neutron port {}", port);
             return null;
         }
         String tapId = port.getUuid().getValue().substring(0, 11);
@@ -654,7 +663,7 @@ public class NeutronvpnUtils {
         if (portNamePrefix != null) {
             return new StringBuilder().append(portNamePrefix).append(tapId).toString();
         }
-        logger.debug("Failed to get prefix for port {}", port.getUuid());
+        LOG.debug("Failed to get prefix for port {}", port.getUuid());
         return null;
     }
 
@@ -683,6 +692,8 @@ public class NeutronvpnUtils {
         return getPortNamePrefix(original) == null && getPortNamePrefix(updated) != null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected static boolean lock(String lockName) {
         if (locks.get(lockName) != null) {
             synchronized (locks) {
@@ -698,7 +709,7 @@ public class NeutronvpnUtils {
                 }
             } catch (InterruptedException e) {
                 locks.get(lockName).getRight().decrementAndGet();
-                logger.error("Unable to acquire lock for  {}", lockName);
+                LOG.error("Unable to acquire lock for  {}", lockName);
                 throw new RuntimeException(String.format("Unable to acquire lock for %s", lockName), e.getCause());
             }
         } else {
@@ -709,19 +720,21 @@ public class NeutronvpnUtils {
                 locks.get(lockName).getLeft().writeLock().tryLock(LOCK_WAIT_TIME, secUnit);
             } catch (Exception e) {
                 locks.get(lockName).getRight().decrementAndGet();
-                logger.error("Unable to acquire lock for  {}", lockName);
+                LOG.error("Unable to acquire lock for  {}", lockName);
                 throw new RuntimeException(String.format("Unable to acquire lock for %s", lockName), e.getCause());
             }
         }
         return true;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected static boolean unlock(String lockName) {
         if (locks.get(lockName) != null) {
             try {
                 locks.get(lockName).getLeft().writeLock().unlock();
             } catch (Exception e) {
-                logger.error("Unable to un-lock for " + lockName, e);
+                LOG.error("Unable to un-lock for " + lockName, e);
                 return false;
             }
             if (0 == locks.get(lockName).getRight().decrementAndGet()) {
@@ -735,6 +748,8 @@ public class NeutronvpnUtils {
         return true;
     }
 
+    // TODO Clean up the exception handling and the console output
+    @SuppressWarnings({"checkstyle:IllegalCatch", "checkstyle:RegexpSinglelineJava"})
     protected static Short getIPPrefixFromPort(DataBroker broker, Port port) {
         Short prefix = new Short((short) 0);
         String cidr = "";
@@ -752,40 +767,45 @@ public class NeutronvpnUtils {
                     prefix = Short.valueOf(parts[1]);
                     return prefix;
                 } else {
-                    logger.trace("Could not retrieve prefix from subnet CIDR");
+                    LOG.trace("Could not retrieve prefix from subnet CIDR");
                     System.out.println("Could not retrieve prefix from subnet CIDR");
                 }
             } else {
-                logger.trace("Unable to read on subnet datastore");
+                LOG.trace("Unable to read on subnet datastore");
             }
         } catch (Exception e) {
-            logger.error("Failed to retrieve IP prefix from port : ", e);
+            LOG.error("Failed to retrieve IP prefix from port : ", e);
             System.out.println("Failed to retrieve IP prefix from port : " + e.getMessage());
         }
         return null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected static void createVpnPortFixedIpToPort(DataBroker broker,String vpnName, String fixedIp,
                                                      String portName, String macAddress, boolean isSubnetIp,
                                                      WriteTransaction writeConfigTxn) {
         InstanceIdentifier<VpnPortipToPort> id = NeutronvpnUtils.buildVpnPortipToPortIdentifier(vpnName, fixedIp);
-        VpnPortipToPortBuilder builder = new VpnPortipToPortBuilder().setKey(new VpnPortipToPortKey(fixedIp, vpnName)
-        ).setVpnName(vpnName).setPortFixedip(fixedIp).setPortName(portName).setMacAddress(macAddress).setSubnetIp
-                (isSubnetIp);
+        VpnPortipToPortBuilder builder = new VpnPortipToPortBuilder()
+            .setKey(new VpnPortipToPortKey(fixedIp, vpnName))
+            .setVpnName(vpnName).setPortFixedip(fixedIp)
+            .setPortName(portName).setMacAddress(macAddress).setSubnetIp(isSubnetIp);
         try {
             if (writeConfigTxn != null) {
                 writeConfigTxn.put(LogicalDatastoreType.CONFIGURATION, id, builder.build());
             } else {
                 MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, builder.build());
             }
-            logger.trace("Neutron port with fixedIp: {}, vpn {}, interface {}, mac {}, isSubnetIp {} added to " +
-                    "VpnPortipToPort DS", fixedIp, vpnName, portName, macAddress, isSubnetIp);
+            LOG.trace("Neutron port with fixedIp: {}, vpn {}, interface {}, mac {}, isSubnetIp {} added to "
+                + "VpnPortipToPort DS", fixedIp, vpnName, portName, macAddress, isSubnetIp);
         } catch (Exception e) {
-            logger.error("Failure while creating VPNPortFixedIpToPort map for vpn {} - fixedIP {}", vpnName, fixedIp,
+            LOG.error("Failure while creating VPNPortFixedIpToPort map for vpn {} - fixedIP {}", vpnName, fixedIp,
                     e);
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected static void removeVpnPortFixedIpToPort(DataBroker broker, String vpnName,
                                                      String fixedIp, WriteTransaction writeConfigTxn) {
         InstanceIdentifier<VpnPortipToPort> id = NeutronvpnUtils.buildVpnPortipToPortIdentifier(vpnName, fixedIp);
@@ -795,25 +815,27 @@ public class NeutronvpnUtils {
             } else {
                 MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, id);
             }
-            logger.trace("Neutron router port with fixedIp: {}, vpn {} removed from LearntVpnPortipToPort DS", fixedIp,
+            LOG.trace("Neutron router port with fixedIp: {}, vpn {} removed from LearntVpnPortipToPort DS", fixedIp,
                     vpnName);
         } catch (Exception e) {
-            logger.error("Failure while removing VPNPortFixedIpToPort map for vpn {} - fixedIP {}", vpnName, fixedIp,
+            LOG.error("Failure while removing VPNPortFixedIpToPort map for vpn {} - fixedIP {}", vpnName, fixedIp,
                     e);
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected static void removeLearntVpnVipToPort(DataBroker broker, String vpnName, String fixedIp) {
         InstanceIdentifier<LearntVpnVipToPort> id = NeutronvpnUtils.buildLearntVpnVipToPortIdentifier(vpnName, fixedIp);
         try {
             synchronized ((vpnName + fixedIp).intern()) {
                 MDSALUtil.syncDelete(broker, LogicalDatastoreType.OPERATIONAL, id);
             }
-            logger.trace("Neutron router port with fixedIp: {}, vpn {} removed from LearntVpnPortipToPort DS", fixedIp,
+            LOG.trace("Neutron router port with fixedIp: {}, vpn {} removed from LearntVpnPortipToPort DS", fixedIp,
                     vpnName);
         } catch (Exception e) {
-            logger.error("Failure while removing LearntVpnPortFixedIpToPort map for vpn {} - fixedIP {}", vpnName, fixedIp,
-                    e);
+            LOG.error("Failure while removing LearntVpnPortFixedIpToPort map for vpn {} - fixedIP {}",
+                vpnName, fixedIp, e);
         }
     }
 
@@ -881,14 +903,16 @@ public class NeutronvpnUtils {
     }
 
     static InstanceIdentifier<VpnPortipToPort> buildVpnPortipToPortIdentifier(String vpnName, String fixedIp) {
-        InstanceIdentifier<VpnPortipToPort> id = InstanceIdentifier.builder(NeutronVpnPortipPortData.class).child
-                (VpnPortipToPort.class, new VpnPortipToPortKey(fixedIp, vpnName)).build();
+        InstanceIdentifier<VpnPortipToPort> id =
+            InstanceIdentifier.builder(NeutronVpnPortipPortData.class)
+                .child(VpnPortipToPort.class, new VpnPortipToPortKey(fixedIp, vpnName)).build();
         return id;
     }
 
     static InstanceIdentifier<LearntVpnVipToPort> buildLearntVpnVipToPortIdentifier(String vpnName, String fixedIp) {
-        InstanceIdentifier<LearntVpnVipToPort> id = InstanceIdentifier.builder(LearntVpnVipToPortData.class).child
-                (LearntVpnVipToPort.class, new LearntVpnVipToPortKey(fixedIp, vpnName)).build();
+        InstanceIdentifier<LearntVpnVipToPort> id =
+            InstanceIdentifier.builder(LearntVpnVipToPortData.class)
+                .child(LearntVpnVipToPort.class, new LearntVpnVipToPortKey(fixedIp, vpnName)).build();
         return id;
     }
 
@@ -974,11 +998,13 @@ public class NeutronvpnUtils {
         return id;
     }
 
-    static InstanceIdentifier<FloatingIpIdToPortMapping> buildfloatingIpIdToPortMappingIdentifier (Uuid floatingIpId) {
+    static InstanceIdentifier<FloatingIpIdToPortMapping> buildfloatingIpIdToPortMappingIdentifier(Uuid floatingIpId) {
         return InstanceIdentifier.builder(FloatingIpPortInfo.class).child(FloatingIpIdToPortMapping.class, new
                 FloatingIpIdToPortMappingKey(floatingIpId)).build();
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     static <T extends DataObject> Optional<T> read(DataBroker broker, LogicalDatastoreType datastoreType,
                                                    InstanceIdentifier<T> path) {
         ReadOnlyTransaction tx = broker.newReadOnlyTransaction();
@@ -993,27 +1019,27 @@ public class NeutronvpnUtils {
 
     static boolean isNetworkTypeSupported(Network network) {
         NetworkProviderExtension npe = network.getAugmentation(NetworkProviderExtension.class);
-        return npe != null && npe.getNetworkType() != null && supportedNetworkTypes.contains(npe.getNetworkType());
+        return npe != null && npe.getNetworkType() != null && SUPPORTED_NETWORK_TYPES.contains(npe.getNetworkType());
     }
 
     static ProviderTypes getProviderNetworkType(Network network) {
         if (network == null) {
-            logger.error("Error in getting provider network type since network is null");
+            LOG.error("Error in getting provider network type since network is null");
             return null;
         }
         NetworkProviderExtension npe = network.getAugmentation(NetworkProviderExtension.class);
         if (npe != null) {
             Class<? extends NetworkTypeBase> networkTypeBase = npe.getNetworkType();
             if (networkTypeBase != null) {
-               if(networkTypeBase.isAssignableFrom(NetworkTypeFlat.class)) {
-                   return ProviderTypes.FLAT;
-               } else if (networkTypeBase.isAssignableFrom(NetworkTypeVlan.class)) {
-                   return ProviderTypes.VLAN;
-               } else if (networkTypeBase.isAssignableFrom(NetworkTypeVxlan.class)) {
-                   return ProviderTypes.VXLAN;
-               } else if (networkTypeBase.isAssignableFrom(NetworkTypeGre.class)) {
-                   return ProviderTypes.GRE;
-               }
+                if (networkTypeBase.isAssignableFrom(NetworkTypeFlat.class)) {
+                    return ProviderTypes.FLAT;
+                } else if (networkTypeBase.isAssignableFrom(NetworkTypeVlan.class)) {
+                    return ProviderTypes.VLAN;
+                } else if (networkTypeBase.isAssignableFrom(NetworkTypeVxlan.class)) {
+                    return ProviderTypes.VXLAN;
+                } else if (networkTypeBase.isAssignableFrom(NetworkTypeGre.class)) {
+                    return ProviderTypes.GRE;
+                }
             }
         }
         return null;
@@ -1038,7 +1064,7 @@ public class NeutronvpnUtils {
     }
 
     /**
-     * Get inter-VPN link state
+     * Get inter-VPN link state.
      *
      * @param broker data broker
      * @param vpnLinkName VPN link name
@@ -1053,9 +1079,9 @@ public class NeutronvpnUtils {
     /**
      * Returns an InterVpnLink by searching by one of its endpoint's IP.
      *
-     * @param broker
+     * @param broker The Databroker
      * @param endpointIp IP to search for
-     * @return
+     * @return a InterVpnLink
      */
     public static Optional<InterVpnLink> getInterVpnLinkByEndpointIp(DataBroker broker, String endpointIp) {
         InstanceIdentifier<InterVpnLinks> interVpnLinksIid = InstanceIdentifier.builder(InterVpnLinks.class).build();
@@ -1078,7 +1104,8 @@ public class NeutronvpnUtils {
         Set<RouterDpnList> ret = new HashSet<>();
         InstanceIdentifier<NeutronRouterDpns> routerDpnId =
                 InstanceIdentifier.create(NeutronRouterDpns.class);
-        Optional<NeutronRouterDpns> neutronRouterDpnsOpt = MDSALUtil.read(broker, LogicalDatastoreType.OPERATIONAL, routerDpnId);
+        Optional<NeutronRouterDpns> neutronRouterDpnsOpt =
+            MDSALUtil.read(broker, LogicalDatastoreType.OPERATIONAL, routerDpnId);
         if (neutronRouterDpnsOpt.isPresent()) {
             NeutronRouterDpns neutronRouterDpns = neutronRouterDpnsOpt.get();
             List<RouterDpnList> routerDpnLists = neutronRouterDpns.getRouterDpnList();
@@ -1103,10 +1130,10 @@ public class NeutronvpnUtils {
             if (rpcResult.isSuccessful()) {
                 return rpcResult.getResult().getIdValue().intValue();
             } else {
-                logger.debug("RPC Call to Get Unique Id returned with Errors", rpcResult.getErrors());
+                LOG.debug("RPC Call to Get Unique Id returned with Errors", rpcResult.getErrors());
             }
         } catch (InterruptedException | ExecutionException e) {
-            logger.debug("Exception when getting Unique Id", e);
+            LOG.debug("Exception when getting Unique Id", e);
         }
         return null;
     }
@@ -1117,12 +1144,12 @@ public class NeutronvpnUtils {
             Future<RpcResult<Void>> result = idManager.releaseId(idInput);
             RpcResult<Void> rpcResult = result.get();
             if (!rpcResult.isSuccessful()) {
-                logger.debug("RPC Call to Get Unique Id returned with Errors", rpcResult.getErrors());
+                LOG.debug("RPC Call to Get Unique Id returned with Errors", rpcResult.getErrors());
             } else {
-                logger.info("ID for RD " + idKey + " released successfully");
+                LOG.info("ID for RD " + idKey + " released successfully");
             }
         } catch (InterruptedException | ExecutionException e) {
-            logger.debug("Exception when trying to release ID into the pool", idKey, e);
+            LOG.debug("Exception when trying to release ID into the pool", idKey, e);
         }
     }
 
@@ -1171,7 +1198,8 @@ public class NeutronvpnUtils {
     static List<String> getExistingRDs(DataBroker broker) {
         List<String> existingRDs = new ArrayList<>();
         InstanceIdentifier<VpnInstances> path = InstanceIdentifier.builder(VpnInstances.class).build();
-        Optional<VpnInstances> vpnInstancesOptional = NeutronvpnUtils.read(broker, LogicalDatastoreType.CONFIGURATION, path);
+        Optional<VpnInstances> vpnInstancesOptional =
+            NeutronvpnUtils.read(broker, LogicalDatastoreType.CONFIGURATION, path);
         if (vpnInstancesOptional.isPresent() && vpnInstancesOptional.get().getVpnInstance() != null) {
             for (VpnInstance vpnInstance : vpnInstancesOptional.get().getVpnInstance()) {
                 existingRDs.add(vpnInstance.getIpv4Family().getRouteDistinguisher());
index 1fa9fb4bdaebf97c315bfa1b6d2473ec4bde9bc7..7d7498bcc66fedb8dd7be5e9181ed4254ab554e5 100644 (file)
@@ -9,6 +9,8 @@
 package org.opendaylight.netvirt.neutronvpn;
 
 import com.google.common.base.Optional;
+import java.util.ArrayList;
+import java.util.List;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -28,9 +30,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-
 
 public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap, SubnetmapListener> {
     private static final Logger LOG = LoggerFactory.getLogger(SubnetmapListener.class);
@@ -53,6 +52,8 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
         return InstanceIdentifier.create(Subnetmaps.class).child(Subnetmap.class);
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private void registerListener(final DataBroker db) {
         try {
             registerListener(LogicalDatastoreType.CONFIGURATION, db);
@@ -73,8 +74,12 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
     }
 
     @Override
-    protected void update(InstanceIdentifier<Subnetmap> identifier, Subnetmap subnetmapOriginal, Subnetmap subnetmapUpdate) {
-        LOG.trace("SubnetmapListener update subnetmap method - key: " + identifier + ", original=" + subnetmapOriginal + ", update=" + subnetmapUpdate);
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
+    protected void update(InstanceIdentifier<Subnetmap> identifier,
+                          Subnetmap subnetmapOriginal, Subnetmap subnetmapUpdate) {
+        LOG.trace("SubnetmapListener update subnetmap method - key: {}, original: {}, update: {}",
+            identifier, subnetmapOriginal, subnetmapUpdate);
         Uuid vpnIdNew = subnetmapUpdate.getVpnId();
         Uuid vpnIdOld = subnetmapOriginal.getVpnId();
         Uuid subnetId = subnetmapUpdate.getId();
@@ -82,13 +87,13 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
         String subnetIp = subnetmapUpdate.getSubnetIp();
         Long elanTag = getElanTag(elanInstanceName);
         if (elanTag.equals(0L)) {
-            LOG.debug("Unable to fetch elantag from ElanInstance {} and hence not proceeding with subnetmapListener update" +
-                    " for subnet {}", elanInstanceName, subnetId);
+            LOG.debug("Unable to fetch elantag from ElanInstance {} and hence not proceeding with "
+                + "subnetmapListener update for subnet {}", elanInstanceName, subnetId);
             return;
         }
         //////////////////////////SubnetAddedToVpn////////////////////////////////////////////////////
         if (vpnIdNew != null && vpnIdOld == null) {
-            boolean isExternalVpn = vpnIdNew.equals(subnetmapUpdate.getRouterId()) ? false : true;
+            boolean isExternalVpn = !vpnIdNew.equals(subnetmapUpdate.getRouterId());
             try {
                 checkAndPublishSubnetAddedToVpnNotification(subnetId, subnetIp, vpnIdNew.getValue(),
                         isExternalVpn, elanTag);
@@ -108,7 +113,7 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
                         vpnIdOld.getValue(), isExternalVpn, elanTag);
                 LOG.debug("Subnet removed from VPN notification sent for subnet {} on VPN {}", subnetId.getValue(),
                         vpnIdOld.getValue());
-            } catch (Exception e){
+            } catch (Exception e) {
                 LOG.error("Subnet removed from VPN notification failed for subnet {} on VPN {}", subnetId.getValue(),
                         vpnIdOld.getValue(), e);
             }
@@ -122,7 +127,7 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
                         subnetmapUpdate.getVpnId().getValue(), isBeingAssociated, elanTag);
                 LOG.debug("VPN updated for subnet notification sent for subnet {} on VPN {}", subnetId.getValue(),
                         vpnIdNew.getValue());
-            } catch (Exception e){
+            } catch (Exception e) {
                 LOG.error("VPN updated for subnet notification failed for subnet {} on VPN {}", subnetId.getValue(),
                         vpnIdNew.getValue(), e);
             }
@@ -143,9 +148,9 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
                         checkAndPublishPortAddedToSubnetNotification(subnetIp, subnetId, port, elanTag);
                         LOG.debug("Port added to subnet notification sent for port {} in subnet {}", port.getValue(),
                                 subnetId.getValue());
-                    }catch (Exception e){
-                        LOG.error("Port added to subnet notification failed for port {} in subnet {}", port.getValue(),
-                                subnetId.getValue(), e);
+                    } catch (Exception e) {
+                        LOG.error("Port added to subnet notification failed for port {} in subnet {}",
+                            port.getValue(), subnetId.getValue(), e);
                     }
                     return;
                 }
@@ -155,11 +160,11 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
                 if (! newPortList.contains(port)) {
                     try {
                         checkAndPublishPortRemovedFromSubnetNotification(subnetIp, subnetId, port, elanTag);
-                        LOG.debug("Port removed from subnet notification sent for port {} in subnet {}", port.getValue(),
-                                subnetId.getValue());
-                    }catch (Exception e){
-                        LOG.error("Port removed from subnet notification failed for port {} in subnet {}", port.getValue(),
-                                subnetId.getValue(), e);
+                        LOG.debug("Port removed from subnet notification sent for port {} in subnet {}",
+                            port.getValue(), subnetId.getValue());
+                    } catch (Exception e) {
+                        LOG.error("Port removed from subnet notification failed for port {} in subnet {}",
+                            port.getValue(), subnetId.getValue(), e);
                     }
                     return;
                 }
@@ -172,7 +177,9 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
         return this;
     }
 
-    protected long getElanTag (String elanInstanceName) {
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
+    protected long getElanTag(String elanInstanceName) {
         InstanceIdentifier<ElanInstance> elanIdentifierId = InstanceIdentifier.builder(ElanInstances.class)
                 .child(ElanInstance.class, new ElanInstanceKey(elanInstanceName)).build();
         long elanTag = 0L;
@@ -185,13 +192,15 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
                 LOG.error("Notification failed because of failure in reading ELANInstance {}", elanInstanceName);
             }
         } catch (Exception e) {
-            LOG.error("Notification failed because of failure in fetching elanTag from ElanInstance {} config DS", elanInstanceName, e);
+            LOG.error("Notification failed because of failure in fetching elanTag from ElanInstance {} config DS",
+                elanInstanceName, e);
         }
         return elanTag;
     }
 
     private void checkAndPublishSubnetAddedToVpnNotification(Uuid subnetId, String subnetIp, String vpnName,
-                                                             Boolean isExternalvpn, Long elanTag) throws InterruptedException {
+                                                             Boolean isExternalvpn, Long elanTag)
+        throws InterruptedException {
         SubnetAddedToVpnBuilder builder = new SubnetAddedToVpnBuilder();
 
         LOG.trace("publish notification called from SubnetAddedToVpnNotification");
@@ -206,7 +215,8 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
     }
 
     private void checkAndPublishSubnetDeletedFromVpnNotification(Uuid subnetId, String subnetIp, String vpnName,
-                                                                 Boolean isExternalvpn, Long elanTag) throws InterruptedException {
+                                                                 Boolean isExternalvpn, Long elanTag)
+        throws InterruptedException {
         SubnetDeletedFromVpnBuilder builder = new SubnetDeletedFromVpnBuilder();
 
         LOG.trace("publish notification called SubnetDeletedFromVpnNotification");
@@ -221,7 +231,8 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
     }
 
     private void checkAndPublishSubnetUpdatedInVpnNotification(Uuid subnetId, String subnetIp, String vpnName,
-                                                               Boolean isExternalvpn, Long elanTag) throws InterruptedException {
+                                                               Boolean isExternalvpn, Long elanTag)
+        throws InterruptedException {
         SubnetUpdatedInVpnBuilder builder = new SubnetUpdatedInVpnBuilder();
 
         LOG.trace("publish notification called SubnetUpdatedInVpnNotification");
@@ -235,8 +246,9 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
         notificationPublishService.putNotification(builder.build());
     }
 
-    private void checkAndPublishPortAddedToSubnetNotification(String subnetIp, Uuid subnetId, Uuid portId, Long elanTag) throws
-            InterruptedException {
+    private void checkAndPublishPortAddedToSubnetNotification(String subnetIp, Uuid subnetId,
+                                                              Uuid portId, Long elanTag)
+        throws InterruptedException {
         PortAddedToSubnetBuilder builder = new PortAddedToSubnetBuilder();
         LOG.trace("publish notification called PortAddedToSubnetNotification");
         builder.setSubnetIp(subnetIp);
@@ -247,7 +259,8 @@ public class SubnetmapListener extends AsyncDataTreeChangeListenerBase<Subnetmap
         notificationPublishService.putNotification(builder.build());
     }
 
-    private void checkAndPublishPortRemovedFromSubnetNotification(String subnetIp, Uuid subnetId, Uuid portId, Long elanTag)
+    private void checkAndPublishPortRemovedFromSubnetNotification(String subnetIp, Uuid subnetId, Uuid portId,
+                                                                  Long elanTag)
             throws InterruptedException {
         PortRemovedFromSubnetBuilder builder = new PortRemovedFromSubnetBuilder();
         LOG.trace("publish notification called PortRemovedFromSubnetNotification");
index ab29ba8c85d77e1710d1c96bf97d363c83a91989..f720c3ec253ac67b3c2d4724aa6a25b7df9c7c5d 100644 (file)
@@ -97,6 +97,8 @@ public class TransportZoneNotificationUtil {
      * If the TEP of the port's node exists in the TZ, it will not be added.
      * @param inter - the interface to update
      */
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void updateTrasportZone(Interface inter) {
         List<Port> ports = getPortsFromInterface(inter);
         //supports VPN aware VMs (multiple ports for one interface)
@@ -129,10 +131,12 @@ public class TransportZoneNotificationUtil {
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void updateTrasportZone(RouterDpnList routerDpnList) {
-        try{
-            InstanceIdentifier<TransportZone> inst = InstanceIdentifier.create(TransportZones.class).
-                    child(TransportZone.class, new TransportZoneKey(routerDpnList.getRouterId()));
+        try {
+            InstanceIdentifier<TransportZone> inst = InstanceIdentifier.create(TransportZones.class)
+                .child(TransportZone.class, new TransportZoneKey(routerDpnList.getRouterId()));
             TransportZone zone = mdsalUtils.read(LogicalDatastoreType.CONFIGURATION, inst);
 
             String subnetIp = ALL_SUBNETS;
@@ -213,7 +217,7 @@ public class TransportZoneNotificationUtil {
 
         // take all interfaces with parent-interface with physPortId name
         for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
-                .Interface inter : inters) {
+                 .Interface inter : inters) {
             ParentRefs parent = inter.getAugmentation(ParentRefs.class);
             if (parent == null || !physPortId.equals(parent.getParentInterface())) {
                 continue;
@@ -282,7 +286,7 @@ public class TransportZoneNotificationUtil {
 
         Subnets subnets = findSubnets(zone.getSubnets(), subnetIp);
 
-        for(Vteps existingVtep : subnets.getVteps()){
+        for (Vteps existingVtep : subnets.getVteps()) {
             if (existingVtep.getDpnId().equals(dpnId)) {
                 return 0;
             }
@@ -337,9 +341,9 @@ public class TransportZoneNotificationUtil {
     }
 
     @SuppressWarnings("unchecked")
-    private Node getPortsNode(BigInteger dpnId) throws Exception{
-        InstanceIdentifier<BridgeRefEntry> bridgeRefInfoPath = InstanceIdentifier.
-                create(BridgeRefInfo.class).child(BridgeRefEntry.class, new BridgeRefEntryKey(dpnId));
+    private Node getPortsNode(BigInteger dpnId) throws Exception {
+        InstanceIdentifier<BridgeRefEntry> bridgeRefInfoPath =
+            InstanceIdentifier.create(BridgeRefInfo.class).child(BridgeRefEntry.class, new BridgeRefEntryKey(dpnId));
         BridgeRefEntry bridgeRefEntry = mdsalUtils.read(LogicalDatastoreType.OPERATIONAL, bridgeRefInfoPath);
         if (bridgeRefEntry == null) {
             throw new Exception("no bridge ref entry found for dpnId: " + dpnId);
index 0b61eb2cd566a5b3ecb20141d5b8de5673ee5d53..e38bbe2cf5b9dde5e8efbc258f2e8102dc93d5b8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
+ * Copyright (c) 2016 - 2017 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -13,7 +13,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.netvirt.neutronvpn.api.l2gw.utils.L2GatewayCacheUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
@@ -26,28 +25,18 @@ import org.slf4j.LoggerFactory;
  */
 public class AddL2GwDevicesToTransportZoneJob implements Callable<List<ListenableFuture<Void>>> {
 
-    /** The Constant LOG. */
     private static final Logger LOG = LoggerFactory.getLogger(AddL2GwDevicesToTransportZoneJob.class);
-
-    /** The data broker. */
-    private DataBroker dataBroker;
-
-    /** The itm rpc service. */
-    private ItmRpcService itmRpcService;
-
-    /** The transport zone. */
-    private TransportZone transportZone;
+    private final ItmRpcService itmRpcService;
+    private final TransportZone transportZone;
 
     /**
      * Instantiates a new adds the l2 gw devices to transport zone job.
      *
-     * @param dataBroker the data broker
      * @param itmRpcService the itm rpc service
      * @param transportZone the transport zone
      */
-    public AddL2GwDevicesToTransportZoneJob(DataBroker dataBroker, ItmRpcService itmRpcService,
+    public AddL2GwDevicesToTransportZoneJob(ItmRpcService itmRpcService,
                                             TransportZone transportZone) {
-        this.dataBroker = dataBroker;
         this.itmRpcService = itmRpcService;
         this.transportZone = transportZone;
         LOG.debug("created AddL2GwDevicesToTransportZone Job for tZone {}", transportZone.getZoneName());
@@ -68,6 +57,7 @@ public class AddL2GwDevicesToTransportZoneJob implements Callable<List<Listenabl
      * @see java.util.concurrent.Callable#call()
      */
     @Override
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public List<ListenableFuture<Void>> call() throws Exception {
         LOG.debug("Running AddL2GwDevicesToTransportZone job for {}", this.transportZone.getZoneName());
         try {
index 7da13c64466eb140955251a4ff2b678e669bc922..c83ee5625e7221b63bf688b831d15a5356c2cae8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
+ * Copyright (c) 2016 - 2017 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -14,12 +14,10 @@ import java.util.List;
 import java.util.Set;
 import org.opendaylight.controller.md.sal.binding.api.ClusteredDataChangeListener;
 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.clustering.EntityOwnershipService;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.genius.datastoreutils.AsyncClusteredDataChangeListenerBase;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.genius.utils.clustering.ClusteringUtils;
@@ -35,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev15071
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -146,7 +143,7 @@ public class L2GatewayListener extends AsyncClusteredDataChangeListenerBase<L2ga
             // Delete ITM tunnels if it's last Gateway deleted and device is connected
             // Also, do not delete device from cache if it's connected
             if (L2GatewayUtils.isLastL2GatewayBeingDeleted(l2GwDevice)) {
-                if(l2GwDevice.isConnected()){
+                if (l2GwDevice.isConnected()) {
                     l2GwDevice.removeL2GatewayId(input.getUuid());
                     // Delete ITM tunnels
                     final String hwvtepId = l2GwDevice.getHwvtepNodeId();
@@ -179,8 +176,10 @@ public class L2GatewayListener extends AsyncClusteredDataChangeListenerBase<L2ga
                     // Cleaning up the config DS
                     NodeId nodeId = new NodeId(l2GwDevice.getHwvtepNodeId());
                     NodeId psNodeId = HwvtepSouthboundUtils.createManagedNodeId(nodeId, l2DeviceName);
-                    MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, HwvtepSouthboundUtils.createInstanceIdentifier(nodeId));
-                    MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION, HwvtepSouthboundUtils.createInstanceIdentifier(psNodeId));
+                    MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION,
+                            HwvtepSouthboundUtils.createInstanceIdentifier(nodeId));
+                    MDSALUtil.syncDelete(dataBroker, LogicalDatastoreType.CONFIGURATION,
+                            HwvtepSouthboundUtils.createInstanceIdentifier(psNodeId));
 
                 }
             } else {
index 9ec4df22436495e51c7d8ab50878cafeebad6c4a..b4774ff2c1c84b50d1098a75322e38906849148b 100644 (file)
@@ -10,10 +10,9 @@ package org.opendaylight.netvirt.neutronvpn.l2gw;
 
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
-
-import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundConstants;
 import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils;
+import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayDevice;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.AddL2GwDeviceInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.DeleteL2GwDeviceInputBuilder;
index b306dd12bbd8780154ae7fbe5b0f9083d9a878df..3e652fa308b3375b8e47b240f00e7f37ad842774 100644 (file)
@@ -100,7 +100,7 @@ public class L2GwTransportZoneListener
         if (tzNew.getTunnelType().equals(TunnelTypeVxlan.class)) {
             DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance();
             AddL2GwDevicesToTransportZoneJob job =
-                    new AddL2GwDevicesToTransportZoneJob(dataBroker, itmRpcService, tzNew);
+                    new AddL2GwDevicesToTransportZoneJob(itmRpcService, tzNew);
             coordinator.enqueueJob(job.getJobKey(), job);
         }
     }
index b83a966d1848eda748ec1855af82856755e9bd88..7bd7bd3bae665c324ebbbe1799e03d904943a072 100644 (file)
@@ -13,9 +13,10 @@ import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.Futures;
 import java.util.ArrayList;
 import java.util.List;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -47,9 +48,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.por
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.Futures;
-
 @RunWith(MockitoJUnitRunner.class)
 public class NeutronPortChangeListenerTest {
 
@@ -58,9 +56,9 @@ public class NeutronPortChangeListenerTest {
     @Mock
     DataBroker dataBroker;
     @Mock
-    NeutronvpnManager nVpnMgr;
+    NeutronvpnManager neutronvpnManager;
     @Mock
-    NeutronvpnNatManager nVpnNatMgr;
+    NeutronvpnNatManager neutronvpnNatManager;
     @Mock
     NotificationPublishService notiPublishService;
     @Mock
@@ -94,15 +92,15 @@ public class NeutronPortChangeListenerTest {
         doReturn(mockWriteTx).when(dataBroker).newWriteOnlyTransaction();
         doReturn(Futures.immediateCheckedFuture(null)).when(mockWriteTx).submit();
         doReturn(mockReadTx).when(dataBroker).newReadOnlyTransaction();
-        when(mockReadTx.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-            thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNetwork)));
-        neutronPortChangeListener = new NeutronPortChangeListener(dataBroker, nVpnMgr, nVpnNatMgr,
+        when(mockReadTx.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNetwork)));
+        neutronPortChangeListener = new NeutronPortChangeListener(dataBroker, neutronvpnManager, neutronvpnNatManager,
                 notiPublishService, gwMacResolver, odlInterfaceRpcService, elanService);
         InstanceIdentifier<ElanInstance> elanIdentifierId = InstanceIdentifier.builder(ElanInstances.class)
                 .child(ElanInstance.class,
                         new ElanInstanceKey(new Uuid("12345678-1234-1234-1234-123456789012").getValue())).build();
-        when(mockReadTx.read(any(LogicalDatastoreType.class), eq(elanIdentifierId))).
-                thenReturn(Futures.immediateCheckedFuture(Optional.of(elanInstance)));
+        when(mockReadTx.read(any(LogicalDatastoreType.class), eq(elanIdentifierId)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(elanInstance)));
     }
 
     @Test
index 1c02cb58e32a125568d0fcde33ead6bbbe40d799..0297dad948a3c8b014d017a696a1e8f4c087b207 100644 (file)
@@ -10,17 +10,17 @@ package org.opendaylight.netvirt.neutronvpn;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.Futures;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -83,38 +83,25 @@ import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.Futures;
-
 @RunWith(MockitoJUnitRunner.class)
 public class ToTransportZoneTest {
 
     private static final String PHYS_PORT_NAME = "tap12345-67";
-
     private static final Long DPN_ID = 1234567890L;
-    
     private static final BigInteger DPN_ID_2 = BigInteger.valueOf(1234567891L);
-
     private static final String PORT_NAME = "12345678-1234-1234-1234-123456789012";
-
     private static final String PORT_IP = "1.1.1.1";
-    
     private static final String NETWORK_ID = "12345678-1234-1234-1234-123456789012";
-
     private static final String SUBNET = "0.0.0.0/0";
-
     private static final String OVS_IP = "10.0.0.1";
-    
     private static final IpAddress OVS_IP_2 = new IpAddress("10.0.0.2".toCharArray());
-    
     private static final String VTEP_PORT = "tunnel_port";
-
-    private static final String ROUTER_ID = "10345678-1234-1234-1234-123456789012"; 
+    private static final String ROUTER_ID = "10345678-1234-1234-1234-123456789012";
 
     @Mock
     private DataBroker dataBroker;
     @Mock
-    private NeutronvpnManager nVpnMgr;
+    private NeutronvpnManager neutronvpnManager;
     @Mock
     private ListenerRegistration<DataChangeListener> dataChangeListenerRegistration;
     @Mock
@@ -123,26 +110,20 @@ public class ToTransportZoneTest {
     private ReadOnlyTransaction mockReadTx;
     @Mock
     private Node node;
-    
     private Interfaces interf;
-
     private Port port;
-
     private List<Vteps> expectedVteps = new ArrayList<>();
-    
     InterfaceStateToTransportZoneListener interfaceStateToTransportZoneChangeListener;
-    
     NeutronRouterDpnsToTransportZoneListener neutronRouterDpnsToTransportZoneListener;
-
     private Network network;
 
     @Before
     public void setUp() {
         when(dataBroker.registerDataChangeListener(any(LogicalDatastoreType.class), //
-                any(InstanceIdentifier.class), //
-                any(DataChangeListener.class), //
-                any(AsyncDataBroker.DataChangeScope.class))). //
-                thenReturn(dataChangeListenerRegistration);
+            any(InstanceIdentifier.class), //
+            any(DataChangeListener.class), //
+            any(AsyncDataBroker.DataChangeScope.class))). //
+            thenReturn(dataChangeListenerRegistration);
         doReturn(mockWriteTx).when(dataBroker).newWriteOnlyTransaction();
         doAnswer(new Answer<Void>() {
             @Override
@@ -153,128 +134,149 @@ public class ToTransportZoneTest {
         }).when(mockWriteTx).put(any(), any(), any(), any(Boolean.class));
         doReturn(Futures.immediateCheckedFuture(null)).when(mockWriteTx).submit();
         doReturn(mockReadTx).when(dataBroker).newReadOnlyTransaction();
-        
+
         Subnetmap subnetMap = new SubnetmapBuilder().setSubnetIp(SUBNET).build();
-        
-        when(nVpnMgr.updateSubnetmapNodeWithPorts(any(Uuid.class), any(Uuid.class), any(Uuid.class)))
-                .thenReturn(subnetMap);
-
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
-        interfaceStateToTransportZoneChangeListener = new InterfaceStateToTransportZoneListener(dataBroker, nVpnMgr);
-        neutronRouterDpnsToTransportZoneListener = new NeutronRouterDpnsToTransportZoneListener(dataBroker, nVpnMgr);
+
+        when(neutronvpnManager.updateSubnetmapNodeWithPorts(any(Uuid.class), any(Uuid.class), any(Uuid.class)))
+            .thenReturn(subnetMap);
+
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+        interfaceStateToTransportZoneChangeListener =
+            new InterfaceStateToTransportZoneListener(dataBroker, neutronvpnManager);
+        neutronRouterDpnsToTransportZoneListener =
+            new NeutronRouterDpnsToTransportZoneListener(dataBroker, neutronvpnManager);
     }
-    
+
     @After
-    public void afterTestCleanup(){
+    public void afterTestCleanup() {
         expectedVteps.clear();
     }
 
-    
-
     @Test
     public void addInterfaceState_FirstTZ() throws Exception {
-        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> interfaces = new ArrayList<>();
-        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder().setName(PORT_NAME)
-                .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build()).build());
+        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
+            .Interface> interfaces = new ArrayList<>();
+        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508
+            .interfaces.InterfaceBuilder().setName(PORT_NAME)
+            .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build())
+            .build());
         interf = new InterfacesBuilder().setInterface(interfaces).build();
         port = buildPort(PORT_IP);
         buildNode();
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(interf))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(port))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent())).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode()))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(node))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(interf)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(port)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode())))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(node)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
         InterfaceBuilder intBuilder = new InterfaceBuilder();
         intBuilder.setName(PHYS_PORT_NAME);
-        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:"+DPN_ID})));//NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
+        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:" + DPN_ID})));
+        //NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
         expectedVteps.add(buildVtep(BigInteger.valueOf(DPN_ID), new IpAddress(OVS_IP.toCharArray()), VTEP_PORT));
         interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class), intBuilder.build());
     }
-    
+
     @Test
     public void addInterfaceState_ExistingTZ() throws Exception {
-        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> interfaces = new ArrayList<>();
-        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder().setName(PORT_NAME)
-                .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build()).build());
+        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
+            .Interface> interfaces = new ArrayList<>();
+        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508
+            .interfaces.InterfaceBuilder().setName(PORT_NAME)
+            .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build())
+            .build());
         interf = new InterfacesBuilder().setInterface(interfaces).build();
         port = buildPort(PORT_IP);
         network = buildNetwork(NetworkTypeVxlan.class);
-        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID).setTunnelType(TunnelTypeVxlan.class).setSubnets(new ArrayList<>()).build();
+        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID)
+            .setTunnelType(TunnelTypeVxlan.class).setSubnets(new ArrayList<>()).build();
         buildNode();
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(interf))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(port))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(network))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(tz))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode()))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(node))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(interf)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(port)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(network)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(tz)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode())))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(node)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
         InterfaceBuilder intBuilder = new InterfaceBuilder();
         intBuilder.setName(PHYS_PORT_NAME);
-        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:"+DPN_ID})));//NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
+        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:" + DPN_ID})));
+        //NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
         expectedVteps.add(buildVtep(BigInteger.valueOf(DPN_ID), new IpAddress(OVS_IP.toCharArray()), VTEP_PORT));
-        interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class), intBuilder.build());
+        interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class),
+            intBuilder.build());
     }
-    
+
     @Test
     public void addInterfaceState_MultipleVtepsInTZ() throws Exception {
-        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> interfaces = new ArrayList<>();
-        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder().setName(PORT_NAME)
-                .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build()).build());
+        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
+            .Interface> interfaces = new ArrayList<>();
+        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508
+            .interfaces.InterfaceBuilder().setName(PORT_NAME)
+            .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build())
+            .build());
         interf = new InterfacesBuilder().setInterface(interfaces).build();
         port = buildPort(PORT_IP);
         network = buildNetwork(NetworkTypeVxlan.class);
-        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID).setTunnelType(TunnelTypeVxlan.class).setSubnets(new ArrayList<>()).build();
+        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID)
+            .setTunnelType(TunnelTypeVxlan.class).setSubnets(new ArrayList<>()).build();
         buildNode();
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(interf))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(port))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(network))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(tz))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode()))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(node))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(interf)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(port)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(network)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(tz)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(getBridgeRefForNode())))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(node)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
         InterfaceBuilder intBuilder = new InterfaceBuilder();
         intBuilder.setName(PHYS_PORT_NAME);
-        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:"+DPN_ID})));//NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
+        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:" + DPN_ID})));
+        //NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
         expectedVteps.add(buildVtep(BigInteger.valueOf(DPN_ID), new IpAddress(OVS_IP.toCharArray()), VTEP_PORT));
-        interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class), intBuilder.build());
+        interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class),
+            intBuilder.build());
     }
 
     @Test
     public void addInterfaceState_VLAN_Network() throws Exception {
-        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> interfaces = new ArrayList<>();
-        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder().setName(PORT_NAME)
-                .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build()).build());
+        List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
+            .Interface> interfaces = new ArrayList<>();
+        interfaces.add(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508
+            .interfaces.InterfaceBuilder().setName(PORT_NAME)
+            .addAugmentation(ParentRefs.class, new ParentRefsBuilder().setParentInterface(PHYS_PORT_NAME).build())
+            .build());
         interf = new InterfacesBuilder().setInterface(interfaces).build();
         port = buildPort(PORT_IP);
         network = buildNetwork(NetworkTypeVlan.class);
-        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID).setTunnelType(TunnelTypeVxlan.class).setSubnets(buildSubnets()).build();
+        TransportZone tz = new TransportZoneBuilder().setZoneName(NETWORK_ID)
+            .setTunnelType(TunnelTypeVxlan.class).setSubnets(buildSubnets()).build();
         buildNode();
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(interf))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(port))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.of(network)));
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(interf)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(port)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.of(network)));
         InterfaceBuilder intBuilder = new InterfaceBuilder();
         intBuilder.setName(PHYS_PORT_NAME);
-        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:"+DPN_ID})));//NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
+        intBuilder.setLowerLayerIf(new ArrayList<>(Arrays.asList(new String[] {"int:" + DPN_ID})));
+        //NetworkId(new Uuid("12345678-1234-1234-1234-123456789012"));
         interfaceStateToTransportZoneChangeListener.add(InstanceIdentifier.create(Interface.class), intBuilder.build());
     }
-    
+
     @Test
     public void addRouter() throws Exception {
-        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).
-        thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
+        when(mockReadTx.<DataObject>read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class)))
+            .thenReturn(Futures.immediateCheckedFuture(Optional.absent()));
         RouterDpnListBuilder intBuilder = new RouterDpnListBuilder();
         RouterDpnList routerDpnList = buildRouterDpnList();
         expectedVteps.add(buildVtep(BigInteger.valueOf(DPN_ID), new IpAddress(OVS_IP.toCharArray()), VTEP_PORT));
         expectedVteps.add(buildVtep(DPN_ID_2, OVS_IP_2, VTEP_PORT));
         neutronRouterDpnsToTransportZoneListener.add(InstanceIdentifier.create(RouterDpnList.class), routerDpnList);
     }
-    
+
     private RouterDpnList buildRouterDpnList() {
         RouterDpnListBuilder routerDpnBuilder = new RouterDpnListBuilder();
         routerDpnBuilder.setRouterId(ROUTER_ID);
@@ -294,20 +296,17 @@ public class ToTransportZoneTest {
     }
 
     private List<Subnets> buildSubnets() {
-        List<Subnets> subnets = new ArrayList<>();
         SubnetsBuilder subnetsBuilder = new SubnetsBuilder();
         List<Vteps> vteps = new ArrayList<Vteps>();
-        
+
         vteps.add(buildVtep(DPN_ID_2, OVS_IP_2, VTEP_PORT));
         subnetsBuilder.setVteps(vteps);
         subnetsBuilder.setPrefix(new IpPrefix(SUBNET.toCharArray()));
-        
+        List<Subnets> subnets = new ArrayList<>();
         subnets.add(subnetsBuilder.build());
         return subnets;
     }
 
-
-
     private Vteps buildVtep(BigInteger dpnId, IpAddress portIp, String portName) {
         VtepsBuilder vtepBuilder = new VtepsBuilder();
         vtepBuilder.setDpnId(dpnId);
@@ -317,29 +316,30 @@ public class ToTransportZoneTest {
     }
 
 
-
     private BridgeRefEntry getBridgeRefForNode() {
         BridgeRefEntryBuilder breb = new BridgeRefEntryBuilder();
-        InstanceIdentifier<OvsdbBridgeAugmentation> path = InstanceIdentifier.create(Node.class).augmentation(OvsdbBridgeAugmentation.class);
+        InstanceIdentifier<OvsdbBridgeAugmentation> path =
+            InstanceIdentifier.create(Node.class).augmentation(OvsdbBridgeAugmentation.class);
         breb.setBridgeReference(new OvsdbBridgeRef(path));
         return breb.build();
     }
 
     private void buildNode() {
         List<OpenvswitchOtherConfigs> list = new ArrayList<>();
-        list.add(new OpenvswitchOtherConfigsBuilder().setOtherConfigKey("local_ip").setOtherConfigValue(OVS_IP).build());
+        list.add(new OpenvswitchOtherConfigsBuilder().setOtherConfigKey("local_ip")
+            .setOtherConfigValue(OVS_IP).build());
         OvsdbNodeAugmentation ovsdbNode = new OvsdbNodeAugmentationBuilder().setOpenvswitchOtherConfigs(list).build();
-        when(node.getAugmentation(OvsdbNodeAugmentation.class)).
-        thenReturn(ovsdbNode);
+        when(node.getAugmentation(OvsdbNodeAugmentation.class)).thenReturn(ovsdbNode);
     }
 
     private Port buildPort(String portIp) {
         PortBuilder portBuilder = new PortBuilder();
-        portBuilder.setFixedIps(new ArrayList<>(Arrays.asList(new FixedIps[] {new FixedIpsBuilder().setIpAddress(new IpAddress(portIp.toCharArray())).build()})));
+        portBuilder.setFixedIps(new ArrayList<>(Arrays.asList(new FixedIps[]
+            {new FixedIpsBuilder().setIpAddress(new IpAddress(portIp.toCharArray())).build()})));
         portBuilder.setNetworkId(new Uuid(NETWORK_ID));
         return portBuilder.build();
     }
-    
+
     protected void testTZ(InvocationOnMock invocation) {
         TransportZones tzs = (TransportZones) invocation.getArguments()[2];
         assertNotNull(tzs);
@@ -357,19 +357,16 @@ public class ToTransportZoneTest {
     }
 
 
-
     private void assertZoneName(String zoneName) {
         assertEquals(NETWORK_ID, zoneName);
     }
 
 
-
     private void assertTunnelType(Class<? extends TunnelTypeBase> tunnelType) {
         assertEquals(TunnelTypeVxlan.class, tunnelType);
     }
 
 
-
     private void assertSubnets(List<Subnets> subnets) {
         assertNotNull(subnets);
         assertEquals(1, subnets.size());
@@ -377,32 +374,27 @@ public class ToTransportZoneTest {
     }
 
 
-
     private void assertSubnet(Subnets subnets) {
         assertEquals(new IpPrefix(SUBNET.toCharArray()), subnets.getPrefix());
         assertNotNull(subnets.getVteps());
-        
         assertVtep(expectedVteps, subnets.getVteps());
-        
     }
 
-
-
     private void assertVtep(List<Vteps> expectedVteps, List<Vteps> vteps) {
         assertNotNull(vteps);
         assertEquals(expectedVteps.size(), vteps.size());
-        outer_loop: for(Vteps expectedVtep : expectedVteps){
-            for(Vteps vtep : vteps){
+        outer_loop:
+        for (Vteps expectedVtep : expectedVteps) {
+            for (Vteps vtep : vteps) {
                 boolean flag = true;
                 flag &= expectedVtep.getDpnId().equals(vtep.getDpnId());
                 flag &= expectedVtep.getIpAddress().equals(vtep.getIpAddress());
                 flag &= expectedVtep.getPortname().equals(vtep.getPortname());
-                if(flag){
+                if (flag) {
                     continue outer_loop;
                 }
             }
             fail();
         }
     }
-
 }
index d56987fba6d094b162f377c59303b9168c403cd0..26708c65f665b01e58d5779d64ee178810a8a103 100644 (file)
@@ -8,6 +8,11 @@
 
 package org.opendaylight.netvirt.neutronvpn.shell;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
@@ -25,17 +30,10 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
 @Command(scope = "vpnservice", name = "configure-l3vpn", description = "Create/Delete Neutron L3VPN")
 public class ConfigureL3VpnCommand extends OsgiCommandSupport {
 
-    final Logger Logger = LoggerFactory.getLogger(ConfigureL3VpnCommand.class);
-
+    private static final Logger LOG = LoggerFactory.getLogger(ConfigureL3VpnCommand.class);
     private INeutronVpnManager neutronVpnManager;
     private RpcProviderRegistry rpcProviderRegistry;
     private NeutronvpnService neutronvpnService;
@@ -109,6 +107,8 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
         return null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void createL3VpnCLI() {
 
         if (vid == null) {
@@ -148,22 +148,21 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
             }
 
             List<L3vpn> l3vpns = new ArrayList<>();
-            L3vpn l3vpn = new L3vpnBuilder().setId(vuuid).setName(name).setRouteDistinguisher(rdList).setImportRT
-                    (irtList)
-                    .setExportRT(ertList).setTenantId(tuuid).build();
+            L3vpn l3vpn = new L3vpnBuilder().setId(vuuid).setName(name).setRouteDistinguisher(rdList)
+                .setImportRT(irtList).setExportRT(ertList).setTenantId(tuuid).build();
             l3vpns.add(l3vpn);
             Future<RpcResult<CreateL3VPNOutput>> result =
                     neutronvpnService.createL3VPN(new CreateL3VPNInputBuilder().setL3vpn(l3vpns).build());
             RpcResult<CreateL3VPNOutput> rpcResult = result.get();
             if (rpcResult.isSuccessful()) {
                 session.getConsole().println("L3VPN created successfully");
-                Logger.trace("createl3vpn: {}", result);
+                LOG.trace("createl3vpn: {}", result);
             } else {
                 session.getConsole().println("error populating createL3VPN : " + result.get().getErrors());
                 session.getConsole().println(getHelp("create"));
             }
         } catch (InterruptedException | ExecutionException e) {
-            Logger.error("error populating createL3VPN", e);
+            LOG.error("error populating createL3VPN", e);
             session.getConsole().println("error populating createL3VPN : " + e.getMessage());
             session.getConsole().println(getHelp("create"));
         }
@@ -182,11 +181,13 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
             }
 
         } catch (Exception e) {
-            Logger.error("error in adding subnet to VPN", e);
+            LOG.error("error in adding subnet to VPN", e);
             session.getConsole().println("error in adding subnet to VPN : " + e.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     public void deleteL3VpnCLI() {
 
         if (vid == null) {
@@ -203,7 +204,7 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
                 }
             }
         } catch (Exception e) {
-            Logger.error("error in deleting subnet from VPN", e);
+            LOG.error("error in deleting subnet from VPN", e);
             session.getConsole().println("error in deleting subnet from VPN : " + e.getMessage());
         }
 
@@ -216,13 +217,13 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
             RpcResult<DeleteL3VPNOutput> rpcResult = result.get();
             if (rpcResult.isSuccessful()) {
                 session.getConsole().println("L3VPN deleted successfully");
-                Logger.trace("deletel3vpn: {}", result);
+                LOG.trace("deletel3vpn: {}", result);
             } else {
                 session.getConsole().println("error populating deleteL3VPN : " + result.get().getErrors());
                 session.getConsole().println(getHelp("delete"));
             }
         } catch (InterruptedException | ExecutionException e) {
-            Logger.error("error populating deleteL3VPN", e);
+            LOG.error("error populating deleteL3VPN", e);
             session.getConsole().println("error populating deleteL3VPN : " + e.getMessage());
             session.getConsole().println(getHelp("delete"));
         }
@@ -244,6 +245,9 @@ public class ConfigureL3VpnCommand extends OsgiCommandSupport {
                 help.append("-rd/--rd <rd> -irt/--import-rts <irt1,irt2,..> -ert/--export-rts <ert1,ert2,..>\n");
                 help.append("[-sid/--subnet-uuid <subnet1,subnet2,..>]\n");
                 help.append("exec configure-vpn -op/--operation delete-l3-vpn -vid/--vpnid <id> \n");
+                break;
+            default:
+                break;
         }
         return help.toString();
     }
index 6b0fdc0846c45acb84e3bde7efb9ba40447a1910..bac73639326990534975aa48c15da40ee9ea1f98 100644 (file)
@@ -8,6 +8,11 @@
 
 package org.opendaylight.netvirt.neutronvpn.shell;
 
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.CheckedFuture;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
@@ -24,22 +29,17 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-
 @Command(scope = "vpnservice", name = "dhcp-configure", description = "configuring parameters for DHCP Service")
 public class DhcpConfigureCommand extends OsgiCommandSupport {
 
-    final Logger Logger = LoggerFactory.getLogger(DhcpConfigureCommand.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DhcpConfigureCommand.class);
 
-    @Option(name = "-ld", aliases = {"--leaseDuration"}, description = "Lease Duration", required = false, multiValued = false)
+    @Option(name = "-ld", aliases = {"--leaseDuration"}, description = "Lease Duration", required = false,
+        multiValued = false)
     Integer leaseDuration;
 
-    @Option(name = "-dd", aliases = {"--defaultDomain"}, description = "Default Domain", required = false, multiValued = false)
+    @Option(name = "-dd", aliases = {"--defaultDomain"}, description = "Default Domain", required = false,
+        multiValued = false)
     String defaultDomain;
 
     private DataBroker dataBroker;
@@ -51,6 +51,8 @@ public class DhcpConfigureCommand extends OsgiCommandSupport {
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Object doExecute() throws Exception {
         try {
             if ((defaultDomain == null) && (leaseDuration == null)) {
@@ -59,12 +61,11 @@ public class DhcpConfigureCommand extends OsgiCommandSupport {
             }
             Integer currLeaseDuration = defLeaseDuration;
             String currDefDomain = defDomain;
-            DhcpConfigBuilder dcBuilder = new DhcpConfigBuilder();
             ConfigsBuilder dccBuilder = new ConfigsBuilder();
             InstanceIdentifier<DhcpConfig> iid = InstanceIdentifier.create(DhcpConfig.class);
             DhcpConfig currentConfig = read(iid);
-            if (currentConfig != null && currentConfig.getConfigs() != null &&
-                    !currentConfig.getConfigs().isEmpty()) {
+            if (currentConfig != null && currentConfig.getConfigs() != null
+                && !currentConfig.getConfigs().isEmpty()) {
                 Configs dhcpConfig = currentConfig.getConfigs().get(0);
                 if (dhcpConfig.getLeaseDuration() != null) {
                     currLeaseDuration = dhcpConfig.getLeaseDuration();
@@ -78,11 +79,12 @@ public class DhcpConfigureCommand extends OsgiCommandSupport {
             dccBuilder.setDefaultDomain((defaultDomain == null) ? currDefDomain : defaultDomain);
 
             List<Configs> configList = Arrays.asList(dccBuilder.build());
+            DhcpConfigBuilder dcBuilder = new DhcpConfigBuilder();
             dcBuilder.setConfigs(configList);
             write(iid, dcBuilder.build());
         } catch (Exception e) {
             session.getConsole().println("Failed to configure. Try again");
-            Logger.error ("Failed to configure DHCP parameters",e);
+            LOG.error("Failed to configure DHCP parameters", e);
         }
         return null;
     }
@@ -94,11 +96,13 @@ public class DhcpConfigureCommand extends OsgiCommandSupport {
         try {
             futures.get();
         } catch (InterruptedException | ExecutionException e) {
-            Logger.error("Error writing to datastore (path, data) : ({}, {})", iid, dhcpConfig);
+            LOG.error("Error writing to datastore (path, data) : ({}, {})", iid, dhcpConfig);
             throw new RuntimeException(e.getMessage());
         }
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private DhcpConfig read(InstanceIdentifier<DhcpConfig> iid) {
 
         ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction();
@@ -106,7 +110,7 @@ public class DhcpConfigureCommand extends OsgiCommandSupport {
         try {
             result = tx.read(LogicalDatastoreType.CONFIGURATION, iid).get();
         } catch (Exception e) {
-            Logger.debug("DhcpConfig not present");
+            LOG.debug("DhcpConfig not present");
             return null;
         }
         if (result.isPresent()) {
index c631563d72ac7635ee610a55c18f407d5d4392e8..653d7a5f9bb692ed5a2b88b2a7e15f1a0529cf91 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.netvirt.neutronvpn.shell;
 
+import com.google.common.base.Optional;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
@@ -18,14 +19,10 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-
 @Command(scope = "vpnservice", name = "dhcp-show", description = "showing parameters for DHCP Service")
 public class DhcpShowCommand extends OsgiCommandSupport {
 
-    final Logger Logger = LoggerFactory.getLogger(DhcpShowCommand.class);
-
-
+    private static final Logger LOG = LoggerFactory.getLogger(DhcpShowCommand.class);
     private DataBroker dataBroker;
     Integer leaseDuration = null;
     String defDomain = null;
@@ -35,6 +32,8 @@ public class DhcpShowCommand extends OsgiCommandSupport {
     }
 
     @Override
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     protected Object doExecute() throws Exception {
         try {
             InstanceIdentifier<DhcpConfig> iid = InstanceIdentifier.create(DhcpConfig.class);
@@ -48,15 +47,17 @@ public class DhcpShowCommand extends OsgiCommandSupport {
                 leaseDuration = dhcpConfig.getConfigs().get(0).getLeaseDuration();
                 defDomain = dhcpConfig.getConfigs().get(0).getDefaultDomain();
             }
-            session.getConsole().println("Lease Duration: " + ((leaseDuration != null) ? leaseDuration:86400));
-            session.getConsole().println("Default Domain: " + ((defDomain != null) ? defDomain:"openstacklocal"));
+            session.getConsole().println("Lease Duration: " + ((leaseDuration != null) ? leaseDuration : 86400));
+            session.getConsole().println("Default Domain: " + ((defDomain != null) ? defDomain : "openstacklocal"));
         } catch (Exception e) {
             session.getConsole().println("Failed to fetch configuration parameters. Try again");
-            Logger.error("Failed to fetch DHCP parameters",e);
+            LOG.error("Failed to fetch DHCP parameters",e);
         }
         return null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private DhcpConfig read(InstanceIdentifier<DhcpConfig> iid) {
 
         ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction();
index 36a93a2904347b5204b7ac0d2a661fe8b1af979d..e385588f828f0a3295cb17275913168a5f0626fb 100644 (file)
@@ -8,6 +8,10 @@
 package org.opendaylight.netvirt.neutronvpn.shell;
 
 import com.google.common.base.Optional;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
@@ -15,33 +19,29 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.Subnetmaps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.Subnetmap;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.SubnetmapKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.SubnetOpData;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data.SubnetOpDataEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data.SubnetOpDataEntryKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.Subnetmaps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.Subnetmap;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.SubnetmapKey;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Command(scope = "vpnservice", name = "subnet-show", description = "Comparison of data present in subnetMap and subnetOpDataEntry")
+@Command(scope = "vpnservice", name = "subnet-show",
+    description = "Comparison of data present in subnetMap and subnetOpDataEntry")
 public class ShowSubnet extends OsgiCommandSupport {
 
-    @Option(name = "--subnetmap", aliases = {"--subnetmap"}, description = "Display subnetMap details for given subnetId",
-            required = false, multiValued = false)
+    @Option(name = "--subnetmap", aliases = {"--subnetmap"},
+        description = "Display subnetMap details for given subnetId", required = false, multiValued = false)
     String subnetmap;
-    @Option(name = "--subnetopdata", aliases = {"--subnetopdata"}, description = "Display subnetOpData details for given subnetId",
-            required = false, multiValued = false)
+    @Option(name = "--subnetopdata", aliases = {"--subnetopdata"},
+        description = "Display subnetOpData details for given subnetId", required = false, multiValued = false)
     String subnetopdata;
 
-    final Logger LOG = LoggerFactory.getLogger(ShowSubnet.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ShowSubnet.class);
     private DataBroker dataBroker;
     List<Subnetmap> subnetmapList = new ArrayList<>();
     Map<Uuid, SubnetOpDataEntry> subnetOpDataEntryMap = new HashMap<>();
@@ -51,13 +51,14 @@ public class ShowSubnet extends OsgiCommandSupport {
     }
 
     @Override
-    protected Object doExecute() throws Exception{
-
-        try{
+    // TODO Clean up the console output
+    @SuppressWarnings({"checkstyle:IllegalCatch", "checkstyle:RegexpSinglelineJava"})
+    protected Object doExecute() throws Exception {
+        try {
             if ((subnetmap == null) && (subnetopdata == null)) {
                 getSubnet();
                 System.out.println("Following subnetId is present in both subnetMap and subnetOpDataEntry\n");
-                for (Subnetmap subnetmap : subnetmapList){
+                for (Subnetmap subnetmap : subnetmapList) {
                     SubnetOpDataEntry data = subnetOpDataEntryMap.get(subnetmap.getId());
                     if (data != null) {
                         System.out.println(subnetmap.getId().toString() + "\n");
@@ -71,34 +72,35 @@ public class ShowSubnet extends OsgiCommandSupport {
                     }
                 }
                 getshowVpnCLIHelp();
-            }else if (subnetmap == null && subnetopdata != null) {
-                InstanceIdentifier<SubnetOpDataEntry> subOpIdentifier = InstanceIdentifier.builder(SubnetOpData.class).
-                        child(SubnetOpDataEntry.class, new SubnetOpDataEntryKey(new Uuid(subnetopdata))).build();
+            } else if (subnetmap == null && subnetopdata != null) {
+                InstanceIdentifier<SubnetOpDataEntry> subOpIdentifier = InstanceIdentifier.builder(SubnetOpData.class)
+                    .child(SubnetOpDataEntry.class, new SubnetOpDataEntryKey(new Uuid(subnetopdata))).build();
                 Optional<SubnetOpDataEntry> optionalSubs = read(LogicalDatastoreType.OPERATIONAL, subOpIdentifier);
                 SubnetOpDataEntry data = optionalSubs.get();
                 System.out.println("Fetching subnetmap for given subnetId\n");
                 System.out.println("------------------------------------------------------------------------------");
-                System.out.println("Key: " + data.getKey() + "\n" + "VrfId: " + data.getVrfId() + "\n" + "ElanTag: " +
-                        "" + data.getElanTag() +"\n" + "NhDpnId: " + data.getNhDpnId() + "\n" + "RouteAdvState: " +
-                        data.getRouteAdvState() + "\n" + "SubnetCidr: " + data.getSubnetCidr() + "\n" +
-                        "SubnetToDpnList: " + data.getSubnetToDpn() + "\n" + "VpnName: " + data.getVpnName() + "\n");
+                System.out.println("Key: " + data.getKey() + "\n" + "VrfId: " + data.getVrfId() + "\n" + "ElanTag: "
+                    + "" + data.getElanTag() + "\n" + "NhDpnId: " + data.getNhDpnId() + "\n" + "RouteAdvState: "
+                    + data.getRouteAdvState() + "\n" + "SubnetCidr: " + data.getSubnetCidr() + "\n"
+                    + "SubnetToDpnList: " + data.getSubnetToDpn() + "\n" + "VpnName: " + data.getVpnName() + "\n");
                 System.out.println("------------------------------------------------------------------------------");
-            }else if (subnetmap != null && subnetopdata == null) {
+            } else if (subnetmap != null && subnetopdata == null) {
                 InstanceIdentifier<Subnetmap> id = InstanceIdentifier.builder(Subnetmaps.class)
                         .child(Subnetmap.class, new SubnetmapKey(new Uuid(subnetmap))).build();
                 Optional<Subnetmap> sn = read(LogicalDatastoreType.CONFIGURATION, id);
                 Subnetmap data = sn.get();
                 System.out.println("Fetching subnetopdataentry for given subnetId\n");
                 System.out.println("------------------------------------------------------------------------------");
-                System.out.println("Key: " + data.getKey() + "\n" + "VpnId: " + data.getVpnId() + "\n" +
-                        "DirectPortList: " + data.getDirectPortList() + "\n" + "NetworkId: " + data.getNetworkId()
-                        + "\n" + "PortList: " + data.getPortList() + "\n" + "RouterInterfaceFixedIps: " + data
-                        .getRouterInterfaceFixedIps() + "\n" + "RouterInterfaceName: " + data.getRouterInterfaceName
-                        () + "\n" + "RouterIntfMacAddress: " + data.getRouterIntfMacAddress() + "\n" + "SubnetIp: "
-                        + data.getSubnetIp() + "\n" + "TenantId: " + data.getTenantId() + "\n");
+                System.out.println("Key: " + data.getKey() + "\n" + "VpnId: " + data.getVpnId() + "\n"
+                    + "DirectPortList: " + data.getDirectPortList() + "\n" + "NetworkId: " + data.getNetworkId()
+                    + "\n" + "PortList: " + data.getPortList() + "\n" + "RouterInterfaceFixedIps: "
+                    + data.getRouterInterfaceFixedIps() + "\n" + "RouterInterfaceName: "
+                    + data.getRouterInterfaceName() + "\n" + "RouterIntfMacAddress: " + data.getRouterIntfMacAddress()
+                    + "\n" + "SubnetIp: "
+                    + data.getSubnetIp() + "\n" + "TenantId: " + data.getTenantId() + "\n");
                 System.out.println("------------------------------------------------------------------------------");
             }
-        }catch (Exception e) {
+        } catch (Exception e) {
             System.out.println("Error fetching data for given subnetId ");
             LOG.error("Error Fetching Data",e);
         }
@@ -106,6 +108,8 @@ public class ShowSubnet extends OsgiCommandSupport {
         return null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private <T extends DataObject> Optional<T> read(LogicalDatastoreType datastoreType,
                                                     InstanceIdentifier<T> path) {
 
@@ -121,22 +125,23 @@ public class ShowSubnet extends OsgiCommandSupport {
         return result;
     }
 
-    private void getSubnet(){
-
+    // TODO Clean up the console output
+    @SuppressWarnings("checkstyle:RegexpSinglelineJava")
+    private void getSubnet() {
         List<SubnetOpDataEntry> subnetOpDataEntryList = new ArrayList<>();
         InstanceIdentifier<Subnetmaps> subnetmapsid = InstanceIdentifier.builder(Subnetmaps.class).build();
         InstanceIdentifier<SubnetOpData> subOpIdentifier = InstanceIdentifier.builder(SubnetOpData.class).build();
         Optional<Subnetmaps> optionalSubnetmaps = read(LogicalDatastoreType.CONFIGURATION, subnetmapsid);
         if (!optionalSubnetmaps.isPresent()) {
             System.out.println("No Subnetmaps configured.");
-        }else{
+        } else {
             subnetmapList = optionalSubnetmaps.get().getSubnetmap();
         }
 
         Optional<SubnetOpData> optionalSubnetOpData = read(LogicalDatastoreType.OPERATIONAL, subOpIdentifier);
         if (!optionalSubnetOpData.isPresent()) {
             System.out.println("No SubnetOpData configured.");
-        }else{
+        } else {
             subnetOpDataEntryList = optionalSubnetOpData.get().getSubnetOpDataEntry();
         }
 
@@ -145,9 +150,12 @@ public class ShowSubnet extends OsgiCommandSupport {
         }
     }
 
+    // TODO Clean up the console output
+    @SuppressWarnings("checkstyle:RegexpSinglelineJava")
     private void getshowVpnCLIHelp() {
-        System.out.println("\nUsage 1: " + "To display subnetMaps for a given subnetId subnet-show --subnetmap [<subnetId>]\n");
-        System.out.println("Usage 2: " + "To display subnetOpDataEntry for a given subnetId subnet-show --subnetopdata [<subnetId>]");
+        System.out.println("\n Usage 1: "
+            + "To display subnetMaps for a given subnetId subnet-show --subnetmap [<subnetId>]");
+        System.out.println("\nUsage 2: "
+            + "To display subnetOpDataEntry for a given subnetId subnet-show --subnetopdata [<subnetId>]");
     }
-
 }
index 32423e1da0d5a1c5c3b557b7bb9bebfd5beade79..f9a421b643119e3a1630b1c49c09b58339621e55 100644 (file)
@@ -8,6 +8,8 @@
 package org.opendaylight.netvirt.neutronvpn.shell;
 
 import com.google.common.base.Optional;
+import java.util.ArrayList;
+import java.util.List;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
@@ -25,18 +27,19 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-
-@Command(scope = "vpnservice", name = "vpn-ipaddress-to-port-show", description = "Displays the IPAddresses and Ports on which they are configured (or) discovered for VPN Instance(s)")
+@Command(scope = "vpnservice", name = "vpn-ipaddress-to-port-show",
+    description = "Displays the IPAddresses and Ports on which they are configured (or) discovered for "
+        + "VPN Instance(s)")
 public class ShowVpnIpToPort extends OsgiCommandSupport {
 
-    @Argument(index = 0, name = "--vpn-name", description = "Name of the Vpn Instance", required = false, multiValued = false)
+    @Argument(index = 0, name = "--vpn-name", description = "Name of the Vpn Instance", required = false,
+        multiValued = false)
     private String vpnName;
-    @Argument(index = 1, name = "--ip-address", description = "Ip address to search for in the Vpn Instance", required = false, multiValued = false)
+    @Argument(index = 1, name = "--ip-address", description = "Ip address to search for in the Vpn Instance",
+        required = false, multiValued = false)
     private String portFixedIp;
 
-    final Logger LOG = LoggerFactory.getLogger(ShowVpnIpToPort.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ShowVpnIpToPort.class);
     private DataBroker dataBroker;
     List<VpnPortipToPort> vpnPortipToPortList = new ArrayList<>();
     List<LearntVpnVipToPort> vpnVipToPortList = new ArrayList<>();
@@ -44,24 +47,27 @@ public class ShowVpnIpToPort extends OsgiCommandSupport {
     public void setDataBroker(DataBroker broker) {
         this.dataBroker = broker;
     }
-    @Override
-    protected Object doExecute() throws Exception{
 
-        try{
+    @Override
+    // TODO Clean up the exception handling and the console output
+    @SuppressWarnings({"checkstyle:IllegalCatch", "checkstyle:RegexpSinglelineJava"})
+    protected Object doExecute() throws Exception {
+        try {
             if (vpnName == null && portFixedIp == null) {
                 getNeutronVpnPort();
                 getLearntVpnVipPort();
                 System.out.println(vpnPortipToPortList.size() + " Entries are present: ");
                 System.out.println("-----------------------------------------------------------------------");
-                System.out.println(String.format("             %s   %24s   %20s   %32s", "VpnName", "IPAddress", "MacAddress", "Port"));
+                System.out.println(String.format("             %s   %24s   %20s   %32s", "VpnName", "IPAddress",
+                    "MacAddress", "Port"));
                 System.out.println("-----------------------------------------------------------------------");
-                for (VpnPortipToPort vpnPortipToPort : vpnPortipToPortList){
+                for (VpnPortipToPort vpnPortipToPort : vpnPortipToPortList) {
                     System.out.println(String.format("  %-32s  %-16s  %-16s  %-32s", vpnPortipToPort.getVpnName(),
                             vpnPortipToPort.getPortFixedip(),
                             vpnPortipToPort.getMacAddress(),
                             vpnPortipToPort.getPortName()));
                 }
-                for (LearntVpnVipToPort learntVpnVipToPort : vpnVipToPortList){
+                for (LearntVpnVipToPort learntVpnVipToPort : vpnVipToPortList) {
                     System.out.println(String.format("* %-32s  %-16s  %-16s  %-32s", learntVpnVipToPort.getVpnName(),
                             learntVpnVipToPort.getPortFixedip(),
                             learntVpnVipToPort.getMacAddress(),
@@ -69,42 +75,53 @@ public class ShowVpnIpToPort extends OsgiCommandSupport {
                 }
                 System.out.println("\n * prefixed entries are Learned.");
                 System.out.println("\n" + getshowVpnCLIHelp());
-            }else if (portFixedIp == null || vpnName == null) {
-                System.out.println("Insufficient arguments" + "\nCorrect Usage : neutronvpn-port-show [<vpnName> <portFixedIp>]");
-            }else{
-                InstanceIdentifier<VpnPortipToPort> id = InstanceIdentifier.builder(NeutronVpnPortipPortData.class).child
-                        (VpnPortipToPort.class, new VpnPortipToPortKey(portFixedIp, vpnName)).build();
+            } else if (portFixedIp == null || vpnName == null) {
+                System.out.println("Insufficient arguments"
+                    + "\nCorrect Usage : neutronvpn-port-show [<vpnName> <portFixedIp>]");
+            } else {
+                InstanceIdentifier<VpnPortipToPort> id =
+                    InstanceIdentifier.builder(NeutronVpnPortipPortData.class)
+                        .child(VpnPortipToPort.class, new VpnPortipToPortKey(portFixedIp, vpnName)).build();
                 Optional<VpnPortipToPort> vpnPortipToPortData = read(LogicalDatastoreType.CONFIGURATION, id);
                 if (vpnPortipToPortData.isPresent()) {
                     VpnPortipToPort data = vpnPortipToPortData.get();
-                    System.out.println("\n-------------------------------------------------------------------------------------------");
-                    System.out.println("VpnName:   " + data.getVpnName() + "\nIPAddress: " + data.getPortFixedip() + "\nMacAddress: " +
-                            data.getMacAddress() + "\nPort: " + data.getPortName());
-                    System.out.println("-------------------------------------------------------------------------------------------");
+                    System.out.println("\n----------"
+                        + "---------------------------------------------------------------------------------");
+                    System.out.println("VpnName:   " + data.getVpnName() + "\nIPAddress: " + data.getPortFixedip()
+                        + "\nMacAddress: " + data.getMacAddress() + "\nPort: " + data.getPortName());
+                    System.out.println("\n----------"
+                        + "---------------------------------------------------------------------------------");
                 } else {
-                    InstanceIdentifier<LearntVpnVipToPort> learntId = InstanceIdentifier.builder(LearntVpnVipToPortData.class).child
-                            (LearntVpnVipToPort.class, new LearntVpnVipToPortKey(portFixedIp, vpnName)).build();
-                    Optional<LearntVpnVipToPort> learntVpnVipToPortData = read(LogicalDatastoreType.OPERATIONAL, learntId);
+                    InstanceIdentifier<LearntVpnVipToPort> learntId =
+                        InstanceIdentifier.builder(LearntVpnVipToPortData.class)
+                            .child(LearntVpnVipToPort.class, new LearntVpnVipToPortKey(portFixedIp, vpnName)).build();
+                    Optional<LearntVpnVipToPort> learntVpnVipToPortData =
+                        read(LogicalDatastoreType.OPERATIONAL, learntId);
                     if (!learntVpnVipToPortData.isPresent()) {
                         System.out.println("Data not available");
                         return null;
                     }
                     LearntVpnVipToPort data = learntVpnVipToPortData.get();
-                    System.out.println("\n-------------------------------------------------------------------------------------------");
-                    System.out.println("VpnName: * " + data.getVpnName() + "\nIPAddress: " + data.getPortFixedip() + "\nMacAddress: " +
-                            data.getMacAddress() + "\nPort: " + data.getPortName());
-                    System.out.println("-------------------------------------------------------------------------------------------");
+                    System.out.println("\n----------"
+                        + "---------------------------------------------------------------------------------");
+                    System.out.println("VpnName: * " + data.getVpnName() + "\nIPAddress: " + data.getPortFixedip()
+                        + "\nMacAddress: " + data.getMacAddress() + "\nPort: " + data.getPortName());
+                    System.out.println("\n----------"
+                        + "---------------------------------------------------------------------------------");
                 }
                 System.out.println("\n" + getshowVpnCLIHelp());
             }
         } catch (Exception e) {
-            System.out.println("Error fetching vpnToPortData for [vpnName=" + vpnName + ", portFixedip=" + portFixedIp + "]");
-            LOG.error("Error Fetching Data ",e);
+            System.out.println("Error fetching vpnToPortData for [vpnName=" + vpnName + ", portFixedip="
+                + portFixedIp + "]");
+            LOG.error("Error Fetching Data ", e);
         }
 
         return null;
     }
 
+    // TODO Clean up the exception handling
+    @SuppressWarnings("checkstyle:IllegalCatch")
     private <T extends DataObject> Optional<T> read(LogicalDatastoreType datastoreType,
                                                     InstanceIdentifier<T> path) {
         ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction();
@@ -117,7 +134,9 @@ public class ShowVpnIpToPort extends OsgiCommandSupport {
         return result;
     }
 
-    private void getNeutronVpnPort(){
+    // TODO Clean up the console output
+    @SuppressWarnings("checkstyle:RegexpSinglelineJava")
+    private void getNeutronVpnPort() {
         InstanceIdentifier<NeutronVpnPortipPortData> neutronVpnPortipPortDataIdentifier = InstanceIdentifier
                 .builder(NeutronVpnPortipPortData.class).build();
         Optional<NeutronVpnPortipPortData> optionalNeutronVpnPort = read(LogicalDatastoreType.CONFIGURATION,
@@ -129,8 +148,9 @@ public class ShowVpnIpToPort extends OsgiCommandSupport {
         }
     }
 
-    private void getLearntVpnVipPort(){
-
+    // TODO Clean up the console output
+    @SuppressWarnings("checkstyle:RegexpSinglelineJava")
+    private void getLearntVpnVipPort() {
         InstanceIdentifier<LearntVpnVipToPortData> learntVpnVipPortDataIdentifier = InstanceIdentifier
                 .builder(LearntVpnVipToPortData.class).build();
         Optional<LearntVpnVipToPortData> optionalLearntVpnPort = read(LogicalDatastoreType.OPERATIONAL,
@@ -144,7 +164,8 @@ public class ShowVpnIpToPort extends OsgiCommandSupport {
 
     private String getshowVpnCLIHelp() {
         StringBuilder help = new StringBuilder("Usage:");
-        help.append("To display ports and their associated vpn instances neutronvpn-port-show [<vpnName> <portFixedIp>].\n");
+        help.append("To display ports and their associated vpn instances "
+            + "neutronvpn-port-show [<vpnName> <portFixedIp>].\n");
         return help.toString();
     }
 }