Fixed ONOS-2051 by eliminating treatment and priority from flow id/cookie.

FIxed NPE in port stats collection.

Change-Id: I30954d31c39be959e84fa74f1c4e781d5767f303
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
index 9bc192b..5a68887 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
@@ -330,11 +330,12 @@
      * @see java.lang.Object#equals(java.lang.Object)
      */
     public int hashCode() {
-        return Objects.hash(deviceId, selector, priority, tableId, payLoad);
+        return Objects.hash(deviceId, selector, tableId, payLoad);
     }
 
-    public int hash() {
-        return Objects.hash(deviceId, selector, treatment, tableId, payLoad);
+    //FIXME do we need this method in addition to hashCode()?
+    private int hash() {
+        return Objects.hash(deviceId, selector, tableId, payLoad);
     }
 
     @Override
diff --git a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
index 586365a..9844f15 100644
--- a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
+++ b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -215,7 +215,7 @@
 
         for (OFPortStatsEntry entry : entries) {
             try {
-                if (entry.getPortNo().getPortNumber() < 0) {
+                if (entry.getPortNo() == null || entry.getPortNo().getPortNumber() < 0) {
                     continue;
                 }
                 DefaultPortStatistics.Builder builder = DefaultPortStatistics.builder();