Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 17444 invoked from network); 5 Sep 2009 16:40:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 5 Sep 2009 16:40:46 -0000 Received: (qmail 13491 invoked by uid 500); 5 Sep 2009 16:40:46 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 13422 invoked by uid 500); 5 Sep 2009 16:40:46 -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 13413 invoked by uid 99); 5 Sep 2009 16:40:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Sep 2009 16:40:46 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Sep 2009 16:40:44 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 03C0323888EC; Sat, 5 Sep 2009 16:40:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r811674 - in /directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree: AvlTreeImpl.java AvlTreeMapImpl.java Date: Sat, 05 Sep 2009 16:40:23 -0000 To: commits@directory.apache.org From: kayyagari@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090905164024.03C0323888EC@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: kayyagari Date: Sat Sep 5 16:40:23 2009 New Revision: 811674 URL: http://svn.apache.org/viewvc?rev=811674&view=rev Log: o added a new variable to keep track of size o updated the inefficient getSize() method Modified: directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapImpl.java Modified: directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java?rev=811674&r1=811673&r2=811674&view=diff ============================================================================== --- directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java (original) +++ directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java Sat Sep 5 16:40:23 2009 @@ -45,6 +45,8 @@ /** node representing the end of the doubly linked list formed with the tree nodes */ private LinkedAvlNode last; + /** size of the tree */ + private int size; /** * Creates a new instance of AVLTree. @@ -80,6 +82,7 @@ root = new LinkedAvlNode( key ); first = root; last = root; + size++; return null; } @@ -127,6 +130,7 @@ treePath.add( 0, node ); balance(treePath); + size++; return null; } @@ -224,6 +228,7 @@ if( temp == root ) { root = null; + size--; return key; } @@ -297,6 +302,7 @@ treePath.add( 0, y ); // y can be null but getBalance returns 0 so np balance( treePath ); + size--; return key; } @@ -375,26 +381,6 @@ //NOTE: This method is internally used by AVLTreeMarshaller public int getSize() { - if ( root == null ) - { - return 0; - } - - if( root.isLeaf() ) - { - return 1; - } - - int size = 0; - - LinkedAvlNode x = first; - - while( x != null ) - { - size++; - x = x.next; - } - return size; } Modified: directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapImpl.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapImpl.java?rev=811674&r1=811673&r2=811674&view=diff ============================================================================== --- directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapImpl.java (original) +++ directory/apacheds/branches/apacheds-schema/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapImpl.java Sat Sep 5 16:40:23 2009 @@ -53,6 +53,8 @@ /** flag to allow storing duplicate keys */ private boolean allowDuplicates; + /** size of the map */ + private int size; /** * Creates a new instance of AVLTreeMap without support for duplicate keys. @@ -105,6 +107,7 @@ root = new LinkedAvlMapNode( key, value ); first = root; last = root; + size++; return null; } @@ -160,6 +163,7 @@ treePath.add( 0, node ); balance(treePath); + size++; return null; } @@ -291,6 +295,7 @@ balanceNodesAfterRemove( treePath, temp ); } + size--; return temp.value; } @@ -366,12 +371,14 @@ { root = null; } - + + size--; return value; } balanceNodesAfterRemove( treePath, temp ); - + + size--; return value; } @@ -538,25 +545,6 @@ //NOTE: This method is internally used by AVLTreeMarshaller public int getSize() { - if ( root == null ) - { - return 0; - } - - if( root.isLeaf() ) - { - return 1; - } - - int size = 0; - LinkedAvlMapNode x = first; - - while( x != null ) - { - size++; - x = x.next; - } - return size; }