Merge "BUG-1521 Increase test coverage of netconf-netty-util"
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / action / ActionType.java
index d9dc0c7fee4714bcfd4470e8d664091e7983cacb..8b6d3c4a1cd7fc98d6820562e73068be331e7372 100644 (file)
@@ -1,36 +1,41 @@
-
 /*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2013-2014 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,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.controller.sal.action;
 
 /**
  * The enumeration of actions supported by the controller
  * Each entry has a unique id and the values range for the action element where applicable
- *
- *
- *
  */
 public enum ActionType {
-    DROP("drop", 0, 0), LOOPBACK("loopback", 0, 0), FLOOD("flood", 0, 0), // regular switching flood (obeys to stp port state)
+    DROP("drop", 0, 0),
+    LOOPBACK("loopback", 0, 0),
+    FLOOD("flood", 0, 0), // regular switching flood (obeys to stp port state)
     FLOOD_ALL("floodAll", 0, 0), // flood to all ports regardless of stp port state
-    CONTROLLER("controller", 0, 0), INTERFACE("interface", 0, 0), // Interface
+    CONTROLLER("controller", 0, 0),
+    INTERFACE("interface", 0, 0), // Interface
     SW_PATH("software path", 0, 0), // OF Local
-    HW_PATH("harware path", 0, 0), OUTPUT("output", 0, 0xffff), // physical port
-    ENQUEUE("enqueue", 0, 0xffff), SET_DL_SRC("setDlSrc", 0, 0), SET_DL_DST(
-            "setDlDst", 0, 0), SET_VLAN_ID("setVlan", 1, 0xfff), SET_VLAN_PCP(
-            "setVlanPcp", 0, 0x7), SET_VLAN_CFI("setVlanCif", 0, 0x1), POP_VLAN(
-            "stripVlan", 0, 0), // Pop
+    HW_PATH("harware path", 0, 0),
+    OUTPUT("output", 0, 0xffff), // physical port
+    ENQUEUE("enqueue", 0, 0xffff),
+    SET_DL_SRC("setDlSrc", 0, 0),
+    SET_DL_DST("setDlDst", 0, 0),
+    SET_VLAN_ID("setVlan", 1, 0xfff),
+    SET_VLAN_PCP("setVlanPcp", 0, 0x7),
+    SET_VLAN_CFI("setVlanCif", 0, 0x1),
+    POP_VLAN("stripVlan", 0, 0), // Pop
     PUSH_VLAN("pushVlan", 0, 0xffff), // Push (the max value only takes into account the TCI portion of the 802.1q header)
     SET_DL_TYPE("setDlType", 0, 0xffff), // Set ethertype/length field
-    SET_NW_SRC("setNwSrc", 0, 0), SET_NW_DST("setNwDst", 0, 0), SET_NW_TOS(
-            "setNwTos", 0, 0x3f), SET_TP_SRC("setTpSrc", 1, 0xffff), SET_TP_DST(
-            "setTpDst", 1, 0xffff), SET_NEXT_HOP("setNextHop", 0, 0);
+    SET_NW_SRC("setNwSrc", 0, 0),
+    SET_NW_DST("setNwDst", 0, 0),
+    SET_NW_TOS("setNwTos", 0, 0x3f),
+    SET_TP_SRC("setTpSrc", 0, 0xffff), // Set transport source port
+    SET_TP_DST("setTpDst", 0, 0xffff), // Set transport destination port
+    SET_NEXT_HOP("setNextHop", 0, 0);
 
     private String id;
     private int minValue;
@@ -51,8 +56,7 @@ public enum ActionType {
     }
 
     public String getRange() {
-        return "[0x" + Long.toHexString(minValue) + "-0x"
-                + Long.toHexString(maxValue) + "]";
+        return "[0x" + Long.toHexString(minValue) + "-0x" + Long.toHexString(maxValue) + "]";
     }
 
     public boolean takesParameter() {
@@ -70,4 +74,12 @@ public enum ActionType {
             return true;
         }
     }
-}
\ No newline at end of file
+
+    public int calculateConsistentHashCode() {
+        if (this.id != null) {
+            return this.id.hashCode();
+        } else {
+            return 0;
+        }
+    }
+}