From c0892410e30f55f7ea175ab8893bf33f38f61804 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Thu, 12 May 2016 07:36:07 +0000
Subject: [PATCH] OPENDJ-2798 Implement equals() in SDK SortKey to take all sort parameters into account

---
 opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java
index 30555eb..c148ffb 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/SortKey.java
@@ -515,6 +515,30 @@
         return isReverseOrder;
     }
 
+    @Override
+    public int hashCode() {
+        return toString().hashCode();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SortKey)) {
+            return false;
+        }
+        SortKey s = (SortKey) o;
+        return isReverseOrder == s.isReverseOrder
+            && attributeDescription.equalsIgnoreCase(s.attributeDescription)
+            && equalsIgnoreCase(orderingMatchingRule, s.orderingMatchingRule);
+    }
+
+    private boolean equalsIgnoreCase(String s1, String s2)
+    {
+        return s1 == null ? s2 == null : s1.equalsIgnoreCase(s2);
+    }
+
     /**
      * Returns a string representation of this sort key using the format defined
      * in {@link #valueOf(String)}.

--
Gitblit v1.10.0