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] Updated: (DIRLDAP-37) LdapName.getPrefix(int) does not return prefix.
Date Tue, 29 Mar 2005 21:09:16 GMT
     [ http://issues.apache.org/jira/browse/DIRLDAP-37?page=history ]

Jacob S. Barrett updated DIRLDAP-37:
------------------------------------

    Attachment: NameTest.java
                LdapName.patch

The patch fixes the backwards getSuffix() call and the attached file is JUnit that compare
LdapName against the one in JDK 1.5.  The JUnit must be compiled and executed with the rt.jar
from JDK 1.5.

> 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.9.1, 0.8.0, 0.9.0
>  Environment: NA
>     Reporter: Jacob S. Barrett
>     Assignee: Alex Karasulu
>      Fix For: 0.9.0
>  Attachments: LdapName.patch, NameTest.java
>
> 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