X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fflowprogrammer%2FFlow.java;h=f70e254ff548e6b6b7b0e7e8b3ed283e45ea46b0;hb=eb9e1983a0fce7e4a381eff33e40cae957cddf53;hp=ed6d0e503394c820fd48da0236e55ac0f1850434;hpb=d192c699590d441eb96a697b9e8ab7a028f18860;p=controller.git diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/Flow.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/Flow.java index ed6d0e5033..f70e254ff5 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/Flow.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/Flow.java @@ -20,8 +20,6 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.apache.commons.lang3.builder.HashCodeBuilder; import org.opendaylight.controller.sal.action.Action; import org.opendaylight.controller.sal.action.ActionType; import org.opendaylight.controller.sal.action.SetDlType; @@ -41,8 +39,8 @@ import org.slf4j.LoggerFactory; public class Flow implements Cloneable, Serializable { protected static final Logger logger = LoggerFactory .getLogger(Flow.class); - private static final long serialVersionUID = 1L; - @XmlElement + private static final long serialVersionUID = 1L; + @XmlElement private Match match; @XmlElement private List actions; @@ -181,12 +179,45 @@ public class Flow implements Cloneable, Serializable { @Override public int hashCode() { - return HashCodeBuilder.reflectionHashCode(this); + final int prime = 31; + int result = 1; + result = prime * result + ((actions == null) ? 0 : actions.hashCode()); + result = prime * result + hardTimeout; + result = prime * result + (int) (id ^ (id >>> 32)); + result = prime * result + idleTimeout; + result = prime * result + ((match == null) ? 0 : match.hashCode()); + result = prime * result + priority; + return result; } @Override public boolean equals(Object obj) { - return EqualsBuilder.reflectionEquals(this, obj); + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Flow other = (Flow) obj; + if (actions == null) { + if (other.actions != null) + return false; + } else if (!actions.equals(other.actions)) + return false; + if (hardTimeout != other.hardTimeout) + return false; + if (id != other.id) + return false; + if (idleTimeout != other.idleTimeout) + return false; + if (match == null) { + if (other.match != null) + return false; + } else if (!match.equals(other.match)) + return false; + if (priority != other.priority) + return false; + return true; } @Override