Update net.onrc.onos.core.matchaction.action package.

- Added ModifySrcMacActions class.
- Implemented hashCode() and equals() methods for all Action classes.

Change-Id: I568d5fe7a105bb1553642a9e8af782248835a183
diff --git a/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java b/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
index 47e0d44..491d986 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
@@ -1,7 +1,10 @@
 package net.onrc.onos.core.matchaction.action;
 
+import static com.google.common.base.Preconditions.checkNotNull;
 import net.floodlightcontroller.util.MACAddress;
 
+import com.google.common.base.Objects;
+
 /**
  * An action object to modify destination MAC address.
  * <p>
@@ -17,7 +20,7 @@
      * @param dstMac destination MAC address after the modification
      */
     public ModifyDstMacAction(MACAddress dstMac) {
-        this.dstMac = dstMac;
+        this.dstMac = checkNotNull(dstMac);
     }
 
     /**
@@ -29,4 +32,20 @@
         return dstMac;
     }
 
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(dstMac);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null || getClass() != obj.getClass()) {
+            return false;
+        }
+        ModifyDstMacAction that = (ModifyDstMacAction) obj;
+        return Objects.equal(this.dstMac, that.dstMac);
+    }
 }