Return-Path: Delivered-To: apmail-jakarta-jcs-dev-archive@www.apache.org Received: (qmail 98388 invoked from network); 14 Mar 2005 11:28:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 14 Mar 2005 11:28:14 -0000 Received: (qmail 34503 invoked by uid 500); 14 Mar 2005 11:28:13 -0000 Delivered-To: apmail-jakarta-jcs-dev-archive@jakarta.apache.org Received: (qmail 34479 invoked by uid 500); 14 Mar 2005 11:28:13 -0000 Mailing-List: contact jcs-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "JCS Developers List" Delivered-To: mailing list jcs-dev@jakarta.apache.org Received: (qmail 34465 invoked by uid 500); 14 Mar 2005 11:28:13 -0000 Delivered-To: apmail-jakarta-jcs-commits@jakarta.apache.org Received: (qmail 34462 invoked by uid 500); 14 Mar 2005 11:28:13 -0000 Delivered-To: apmail-jakarta-turbine-jcs-cvs@apache.org Received: (qmail 34459 invoked by uid 99); 14 Mar 2005 11:28:13 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 14 Mar 2005 03:28:12 -0800 Received: (qmail 98369 invoked by uid 1540); 14 Mar 2005 11:28:11 -0000 Date: 14 Mar 2005 11:28:11 -0000 Message-ID: <20050314112811.98368.qmail@minotaur.apache.org> From: hchar@apache.org To: jakarta-turbine-jcs-cvs@apache.org Subject: cvs commit: jakarta-turbine-jcs/src/java/org/apache/jcs/utils/struct SortedPreferentialArray.java X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N hchar 2005/03/14 03:28:11 Modified: src/java/org/apache/jcs/utils/struct SortedPreferentialArray.java Log: 1) Fix incorrect debug messages in add() of not taking the equal case into account 2) Fix add() so that, if the array is full, the behavior of adding an object equal to the smallest when preferLarge is true is now consistent with the behavior of of adding an object equal to the largest when preferLarge is false Revision Changes Path 1.6 +27 -32 jakarta-turbine-jcs/src/java/org/apache/jcs/utils/struct/SortedPreferentialArray.java Index: SortedPreferentialArray.java =================================================================== RCS file: /home/cvs/jakarta-turbine-jcs/src/java/org/apache/jcs/utils/struct/SortedPreferentialArray.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SortedPreferentialArray.java 14 Mar 2005 11:01:50 -0000 1.5 +++ SortedPreferentialArray.java 14 Mar 2005 11:28:11 -0000 1.6 @@ -59,7 +59,6 @@ * if obj is bigger, or the largest if preferLarge=false and obj is smaller * than the largest. * - * * @param obj Object */ public void add(Comparable obj) @@ -72,44 +71,40 @@ if (curSize < maxSize) { insert(obj); + return; } - else + if (preferLarge) { - if (preferLarge) + // insert if obj is larger than the smallest + Comparable sma = getSmallest(); + if (obj.compareTo(sma) > 0) { - // insert if obj is larger than the smallest - Comparable sma = getSmallest(); - if (obj.compareTo(sma) > 0) - { - insert(obj); - } - else - { - if (log.isDebugEnabled()) - { - log.debug("New object is smaller than smallest"); - } - return; - } + insert(obj); + return; } - else + // obj is less than or equal to the smallest. + if (log.isDebugEnabled()) { - Comparable lar = getLargest(); - // insert if obj is smaller than the largest - if (obj.compareTo(lar) > 0) - { - if (log.isDebugEnabled()) - { - log.debug("New object is largerer than largest"); - } - return; - } - else - { - insert(obj); - } + log.debug("New object is smaller than or equal to the smallest"); } + return; } + // Not preferLarge + Comparable lar = getLargest(); + // insert if obj is smaller than the largest + int diff = obj.compareTo(lar); + if (diff > 0 + || diff == 0) + { + if (log.isDebugEnabled()) + { + log.debug("New object is larger than or equal to the largest"); + } + return; + } + // obj is less than the largest. + insert(obj); + return; } /** --------------------------------------------------------------------- To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: jcs-dev-help@jakarta.apache.org