X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fmatch%2FMatch.java;h=b8f776fc176d49085487d556dcd4e11a353751cd;hb=9438cd96bbebb06f5b67c81f313eacd6e382f0d7;hp=b6381cc7d8fbe089cc96dbea518e82be27c06817;hpb=04187bee472c35e1f200bff6ef0daeb5163d36fa;p=controller.git diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/match/Match.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/match/Match.java index b6381cc7d8..b8f776fc17 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/match/Match.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/match/Match.java @@ -441,7 +441,17 @@ public class Match implements Cloneable, Serializable { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((fields == null) ? 0 : fields.hashCode()); + if (this.fields == null) { + result = prime * result; + } else { + int sum = 0; + for (MatchType field : this.fields.keySet()) { + MatchField f = this.fields.get(field); + sum = sum + ((field==null ? 0 : field.calculateConsistentHashCode()) ^ + (f==null ? 0 : f.hashCode())); + } + result = prime * result + sum; + } result = prime * result + matches; return result; }