Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 42739 invoked from network); 17 Aug 2007 23:34:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Aug 2007 23:34:40 -0000 Received: (qmail 93874 invoked by uid 500); 17 Aug 2007 23:34:38 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 93844 invoked by uid 500); 17 Aug 2007 23:34:38 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 93833 invoked by uid 99); 17 Aug 2007 23:34:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Aug 2007 16:34:38 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Aug 2007 23:34:40 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C6E961A981A; Fri, 17 Aug 2007 16:34:19 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r567175 - /directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java Date: Fri, 17 Aug 2007 23:34:19 -0000 To: commits@directory.apache.org From: akarasulu@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070817233419.C6E961A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: akarasulu Date: Fri Aug 17 16:34:18 2007 New Revision: 567175 URL: http://svn.apache.org/viewvc?view=rev&rev=567175 Log: fix for DIRSERVER-928: ComparableComparator in shared yeild incorrect results when two objects compared are not Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java?view=diff&rev=567175&r1=567174&r2=567175 ============================================================================== --- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java (original) +++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/schema/ComparableComparator.java Fri Aug 17 16:34:18 2007 @@ -30,6 +30,7 @@ * @author Apache Directory Project * @version $Rev$ */ +@SuppressWarnings("unchecked") public class ComparableComparator implements Comparator, Serializable { static final long serialVersionUID = -5295278271807198471L; @@ -57,6 +58,11 @@ return -( ( Comparable ) o2 ).compareTo( o1 ); } - return o1.hashCode() - o2.hashCode(); + // before https://issues.apache.org/jira/browse/DIRSERVER-928 it was + // return o1.hashCode() - o2.hashCode(); + + // now we will blow a stack trace if none of the objects are Comparable + throw new IllegalArgumentException( "None of the arguments are Comparable objects:\n" + + "\targ1 = " + o1 + "\n\targ2 = " + o2 ); } }