directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob S. Barrett (JIRA)" <directory-...@incubator.apache.org>
Subject [jira] Created: (DIRLDAP-37) LdapName.getPrefix(int) does not return prefix.
Date Fri, 18 Mar 2005 18:59:21 GMT
LdapName.getPrefix(int) does not return prefix.
-----------------------------------------------

         Key: DIRLDAP-37
         URL: http://issues.apache.org/jira/browse/DIRLDAP-37
     Project: Directory LDAP
        Type: Bug
  Components: Common  
    Versions: 0.8.0, 0.9.0, 0.8.1    
 Environment: NA
    Reporter: Jacob S. Barrett
 Assigned to: Alex Karasulu 


The JavaDoc for javax.naming.Name.getPrefix(int) [1] states that it returns "a name consisting
of the components at indexes in the range [0,posn)."  The implementation in org.apache.ldap.common.name.LdapName
returns [size() - posn, size()).  This is a suffix starting from the right like the getSuffix(int)
which is a suffix from from the left.  The correct implementation should return the prefix
from the left to the specified position.  Attached is the appropiate patch for LdapName.java
and LdapNameTest.java.

References:
1) http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/Name.html#getPrefix(int)

Patch:
Index: shared/ldap/trunk/common/src/test/org/apache/ldap/common/name/LdapNameTest.java
===================================================================
--- shared/ldap/trunk/common/src/test/org/apache/ldap/common/name/LdapNameTest.java	(revision
158112)
+++ shared/ldap/trunk/common/src/test/org/apache/ldap/common/name/LdapNameTest.java	(working
copy)
@@ -545,10 +545,10 @@
         Name l_name = 
             m_parser.parse( "cn=HomeDir,cn=John,ou=Marketing,ou=East" ) ;
         assertEquals( "", l_name.getPrefix( 0 ).toString() ) ;
-        assertEquals( "ou=East", l_name.getPrefix( 1 ).toString() ) ;
-        assertEquals( "ou=Marketing,ou=East", 
+        assertEquals( "cn=HomeDir", l_name.getPrefix( 1 ).toString() ) ;
+        assertEquals( "cn=HomeDir,cn=John", 
             l_name.getPrefix( 2 ).toString() ) ;
-        assertEquals( "cn=John,ou=Marketing,ou=East", 
+        assertEquals( "cn=HomeDir,cn=John,ou=Marketing", 
             l_name.getPrefix( 3 ).toString() ) ;
         assertEquals( "cn=HomeDir,cn=John,ou=Marketing,ou=East", 
             l_name.getPrefix( 4 ).toString() ) ;
Index: shared/ldap/trunk/common/src/java/org/apache/ldap/common/name/LdapName.java
===================================================================
--- shared/ldap/trunk/common/src/java/org/apache/ldap/common/name/LdapName.java	(revision
158112)
+++ shared/ldap/trunk/common/src/java/org/apache/ldap/common/name/LdapName.java	(working copy)
@@ -327,7 +327,7 @@
     public Name getPrefix( int a_posn )
     {
         ArrayList list = new ArrayList();
-        list.addAll( m_list.subList( size() - a_posn, size() ) );
+        list.addAll( m_list.subList( 0, a_posn ) );
         return new LdapName( list ) ;
     }
 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message