Finalize Match/Action Objects - ONOS-1728

* Added equals() and hashCode() methods to objects with IDs
* Added/Updates Javadocs
* Implemented rudimentary execute and query methods for
  Operations in the MatchActionModule.  Operations are preserved
  but not actually executed currently.
* Implemented factories for MatchActionOperationsId and
  MatchActionOperations
* Added unit tests to check creation and execution of MatchAction
* Added unit tests for new Immutable classes

Change-Id: Id865d04fd1048d00e533736c95c3052148041d95
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java
index 557932e..9ed031c 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java
@@ -1,6 +1,9 @@
 package net.onrc.onos.core.matchaction;
 
+import java.util.Collections;
 import java.util.EventListener;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import net.onrc.onos.api.flowmanager.ConflictDetectionPolicy;
 
@@ -11,6 +14,19 @@
  */
 public class MatchActionModule implements MatchActionService {
 
+    private final HashSet<MatchAction> currentOperations = new HashSet<>();
+
+    private boolean processMatchActionEntries(
+            final List<MatchActionOperationEntry> entries) {
+        int successfulOperations = 0;
+        for (final MatchActionOperationEntry entry : entries) {
+            if (currentOperations.add(entry.getTarget())) {
+                successfulOperations++;
+            }
+        }
+        return entries.size() == successfulOperations;
+    }
+
     @Override
     public boolean addMatchAction(MatchAction matchAction) {
         return false;
@@ -18,14 +34,12 @@
 
     @Override
     public Set<MatchAction> getMatchActions() {
-        // TODO Auto-generated method stub
-        return null;
+        return Collections.unmodifiableSet(currentOperations);
     }
 
     @Override
     public boolean executeOperations(final MatchActionOperations operations) {
-        // TODO Auto-generated method stub
-        return false;
+        return processMatchActionEntries(operations.getOperations());
     }
 
     @Override