reinstating the key field in FilterObjectives

Change-Id: I25f7d105edd562785cb213f747e7d9e0650f2635
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
index 5164e45..29bb2f7 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
@@ -375,6 +375,10 @@
         return new OpticalSignalTypeCriterion(sigType, Type.OCH_SIGTYPE);
     }
 
+    public static Criterion dummy() {
+        return new DummyCriterion();
+    }
+
     /**
      * Implementation of input port criterion.
      */
@@ -1729,4 +1733,15 @@
             return false;
         }
     }
+
+    /**
+     * Dummy Criterion used with @see{FilteringObjective}.
+     */
+    private static class DummyCriterion implements Criterion {
+
+        @Override
+        public Type type() {
+            return Type.DUMMY;
+        }
+    }
 }
diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
index 25764d4..b42376d 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
@@ -124,7 +124,12 @@
         /** Optical channel signal ID (lambda). */
         OCH_SIGID,
         /** Optical channel signal type (fixed or flexible). */
-        OCH_SIGTYPE
+        OCH_SIGTYPE,
+
+        /**
+         * An empty criterion.
+         */
+        DUMMY
     }
 
     /**