You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2006/09/11 19:03:29 UTC

svn commit: r442256 - /incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java

Author: jmsnell
Date: Mon Sep 11 10:03:28 2006
New Revision: 442256

URL: http://svn.apache.org/viewvc?view=rev&rev=442256
Log:
Properly implement equals and hashCode for RegexTargetResolver

Modified:
    incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java

Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java?view=diff&rev=442256&r1=442255&r2=442256
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/util/RegexTargetResolver.java Mon Sep 11 10:03:28 2006
@@ -132,6 +132,48 @@
        matcher = pattern.matcher(v);
        matcher.matches();
     }
+
+    @Override
+    public int hashCode() {
+      final int PRIME = 31;
+      int result = 1;
+      String m = matcher.group(0);
+      String p = matcher.pattern().pattern();
+      result = PRIME * result + ((m == null) ? 0 : m.hashCode());
+      result = PRIME * result + ((p == null) ? 0 : p.hashCode());
+      result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+      return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+      if (this == obj) return true;
+      if (obj == null) return false;
+      if (getClass() != obj.getClass()) return false;
+      final RegexTarget other = (RegexTarget) obj;
+      String m = matcher.group(0);
+      String p = matcher.pattern().pattern();
+      String m2 = other.matcher.group(0);
+      String p2 = other.matcher.pattern().pattern();
+      if (m == null) {
+        if (m2 != null)
+          return false;
+      } else if (!m.equals(m2))
+        return false;
+      if (p == null) {
+        if (p2 != null)
+          return false;
+      } else if (!p.equals(p2))
+        return false;
+      if (type == null) {
+        if (other.type != null)
+          return false;
+      } else if (!type.equals(other.type))
+        return false;
+      return true;
+    }
+    
+    
   }
   
 }