apply checkstyle check during build for neutron-ovsdb
[groupbasedpolicy.git] / neutron-ovsdb / src / main / java / org / opendaylight / groupbasedpolicy / neutron / ovsdb / VxlanGpeTunnelType.java
index e3e5d96dbc3f2e93ad3fade4d35868fa0a79da51..568faa86bc46240067c4454886e87924cc36ac78 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2015 Cisco Systems, Inc. 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,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.overlay.rev150105.TunnelTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.overlay.rev150105.TunnelTypeVxlanGpe;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeVxlan;
@@ -21,6 +21,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.Options;
 
 public class VxlanGpeTunnelType extends AbstractTunnelType {
+
+    private static final String VXLAN_GPE_TUNNEL_PREFIX = "vxlangpe-";
+    private static final Integer VXLAN_GPE_PORT_NUMBER = 6633;
+
     private static final String NSH_NSI_KEY = "nsi";
     private static final String NSH_NSI_VALUE = "flow";
     private static final String NSH_NSP_KEY = "nsp";
@@ -33,21 +37,21 @@ public class VxlanGpeTunnelType extends AbstractTunnelType {
     private static final String NSH_NSHC3_VALUE = "flow";
     private static final String NSH_NSHC4_KEY = "nshc4";
     private static final String NSH_NSHC4_VALUE = "flow";
+    private static final String DESTPORT_KEY = "dst_port";
+    private static final String DESTPORT_VALUE = VXLAN_GPE_PORT_NUMBER.toString();
 
-    private static final String VXLAN_GPE_TUNNEL_PREFIX = "vxlangpe-";
-
-    private static final Integer VXLAN_GPE_PORT_NUMBER = 6633;
-       private final PortNumber udpTunnelPort;
+    private final PortNumber udpTunnelPort;
     private final List<Options> optionsList;
-    private static final Class<? extends TunnelTypeBase> tunnelType = TunnelTypeVxlanGpe.class;
+    private static final Class<? extends TunnelTypeBase> TUNNEL_TYPE_VXLAN_GPE = TunnelTypeVxlanGpe.class;
 
-       public VxlanGpeTunnelType() {
-               optionsList = createOptionsList(optsMap);
-               udpTunnelPort = new PortNumber(VXLAN_GPE_PORT_NUMBER);
-       }
+    public VxlanGpeTunnelType() {
+        optionsList = createOptionsList(OPTS_MAP);
+        udpTunnelPort = new PortNumber(VXLAN_GPE_PORT_NUMBER);
+    }
 
-       private static final Map<String, String> optsMap;
-       static {
+    private static final Map<String, String> OPTS_MAP;
+
+    static {
         Map<String, String> opts = new HashMap<String, String>();
         opts.put(VNID_KEY, VNID_VALUE);
         opts.put(REMOTE_IP_KEY, REMOTE_IP_VALUE);
@@ -57,43 +61,45 @@ public class VxlanGpeTunnelType extends AbstractTunnelType {
         opts.put(NSH_NSHC2_KEY, NSH_NSHC2_VALUE);
         opts.put(NSH_NSHC3_KEY, NSH_NSHC3_VALUE);
         opts.put(NSH_NSHC4_KEY, NSH_NSHC4_VALUE);
-        optsMap = Collections.unmodifiableMap(opts);
+        opts.put(DESTPORT_KEY, DESTPORT_VALUE);
+        OPTS_MAP = Collections.unmodifiableMap(opts);
     }
 
-       @Override
+    @Override
     public List<Options> getOptions() {
         return optionsList;
     }
 
-       @Override
+    @Override
     public Class<? extends TunnelTypeBase> getTunnelType() {
-        return tunnelType;
+        return TUNNEL_TYPE_VXLAN_GPE;
     }
 
-       @Override
+    @Override
     public PortNumber getPortNumber() {
         return udpTunnelPort;
     }
 
-       @Override
+    @Override
     public String getTunnelPrefix() {
         return VXLAN_GPE_TUNNEL_PREFIX;
-       }
+    }
 
-       /**
+    /**
      * Check if a TerminationPoint is a tunnel port that meets
      * requirements for the Service Function Chaining with NSH
      * encapsulation. The tunnel port must support setting the
      * VNID, destination Tunnel IP address, NSI, NSP, and all
      * four NSHC fields from flow-mods, and use VXLAN encapsulation.
      *
-     * @param tpAugmentation
+     * @param tpAugmentation the {@link OvsdbTerminationPointAugmentation}
      * @return true if it can be an SFC NSH tunnel port, false if not
      */
-       @Override
+    @Override
     public boolean isValidTunnelPort(OvsdbTerminationPointAugmentation tpAugmentation) {
-        if (hasTunnelOptions(tpAugmentation, optsMap)
-                && InterfaceTypeVxlan.class.equals(tpAugmentation.getInterfaceType())) {
+        if (hasTunnelOptions(tpAugmentation, OPTS_MAP)
+                && InterfaceTypeVxlan.class.equals(tpAugmentation.getInterfaceType())
+                && getDestPort(tpAugmentation).equals(VXLAN_GPE_PORT_NUMBER.toString())) {
             return true;
         }
         return false;