Adding emptyTreatment() and emptySelector()

Note: There was a change that adds a DROP action to
a traffic treatment if there are no other actions present.
To get a traffic treatment without the drop rule, use
emptyTreatment()

Change-Id: I1f23ed5e1fa7519eb94fcafa85facbad815d5e9c
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
index d67e63a..5675d2e 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
@@ -15,23 +15,23 @@
  */
 package org.onosproject.net.flow;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableSet;
+import org.onlab.packet.Ip6Address;
+import org.onlab.packet.IpPrefix;
+import org.onlab.packet.MacAddress;
+import org.onlab.packet.MplsLabel;
+import org.onlab.packet.VlanId;
+import org.onosproject.net.PortNumber;
+import org.onosproject.net.flow.criteria.Criteria;
+import org.onosproject.net.flow.criteria.Criterion;
+
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.flow.criteria.Criteria;
-import org.onosproject.net.flow.criteria.Criterion;
-import org.onlab.packet.IpPrefix;
-import org.onlab.packet.Ip6Address;
-import org.onlab.packet.MacAddress;
-import org.onlab.packet.MplsLabel;
-import org.onlab.packet.VlanId;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.collect.ImmutableSet;
-
 /**
  * Default traffic selector implementation.
  */
@@ -39,6 +39,9 @@
 
     private final Set<Criterion> criteria;
 
+    private static final TrafficSelector EMPTY
+            = new DefaultTrafficSelector(Collections.emptySet());
+
     /**
      * Creates a new traffic selector with the specified criteria.
      *
@@ -98,6 +101,15 @@
     }
 
     /**
+     * Returns an empty traffic selector.
+     *
+     * @return empty traffic selector
+     */
+    public static TrafficSelector emptySelector() {
+        return EMPTY;
+    }
+
+    /**
      * Returns a new traffic selector builder primed to produce entities
      * patterned after the supplied selector.
      *