Tests for FlowRuleStore plus bugfixes
Change-Id: Ib5b0bd9d41fbbcac1cf09684e70446326887caf7
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowEntry.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowEntry.java
index 3f86697..295517b 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowEntry.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowEntry.java
@@ -1,5 +1,7 @@
package org.onlab.onos.net.flow;
+import static com.google.common.base.MoreObjects.toStringHelper;
+
import org.onlab.onos.net.DeviceId;
public class DefaultFlowEntry extends DefaultFlowRule implements FlowEntry {
@@ -63,7 +65,9 @@
public int hashCode() {
final int prime = 31;
int result = prime * this.deviceId().hashCode();
- result = prime * result + Long.valueOf(this.created).hashCode();
+ result = prime * result + this.priority;
+ result = prime * result + this.selector().hashCode();
+ result = prime * result + this.treatment().hashCode();
return result;
}
@@ -77,7 +81,10 @@
public boolean equals(Object obj) {
if (obj instanceof DefaultFlowEntry) {
DefaultFlowEntry that = (DefaultFlowEntry) obj;
- if (!this.id.equals(that.id())) {
+ if (!this.deviceId().equals(that.deviceId())) {
+ return false;
+ }
+ if (!(this.priority == that.priority)) {
return false;
}
return super.equals(obj);
@@ -85,4 +92,15 @@
return false;
}
+ @Override
+ public String toString() {
+ return toStringHelper(this)
+ .add("id", id)
+ .add("deviceId", deviceId())
+ .add("priority", priority)
+ .add("selector", selector())
+ .add("treatment", treatment())
+ .toString();
+ }
+
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java
index 9a24091..d20e79e 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultFlowRule.java
@@ -17,6 +17,7 @@
@Override
public int priority() {
+ // is this supposed to be 0?
return 0;
}
@@ -63,8 +64,9 @@
if (!this.selector().equals(that.selector())) {
return false;
}
+ return true;
}
- return true;
+ return false;
}