[ http://issues.apache.org/jira/browse/DIRSERVER-643?page=all ]

Emmanuel Lecharny resolved DIRSERVER-643.
-----------------------------------------

    Resolution: Invalid
      Assignee: Emmanuel Lecharny

After further investigation, this is not a ApacheDS bug, but more likely a 
NetScape bug.

I have added a Junit testCase to checkj that if we add two values to an 
existing attributes, then those two values are correctly added and stored.

The code looks like :
...
        Attributes attrs = new BasicAttributes( true );
        Attribute attr = new BasicAttribute( "description", "a British 
singer-songwriter with an expressive four-octave voice" );
        attr.add( "one of the most influential female artists of the twentieth 
century" );
        attrs.put( attr );
...

Note that we just create one single BasicAttribute. I suspect that in Netscape 
Ldap API, the very same command try to put two BasicAttribute into the 
BasicAttributes, so that the first one is just discarded (to be investigated by 
NetScape guys ;)

For us, everything seems fine, to be double checked.

> Netscape SDK: Adding an entry with two description attributes does not 
> combine values.
> --------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-643
>                 URL: http://issues.apache.org/jira/browse/DIRSERVER-643
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.0-RC3
>         Environment: ApacheDS 1.0 RC 3
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
> Microsoft Windows XP version 5.1 Service Pack 1
>            Reporter: Stefan Zoerner
>         Assigned To: Emmanuel Lecharny
>            Priority: Minor
>         Attachments: AddDupplicateAttributeTest.java
>
>
> Here is a strange behavior, which I am only able to demonstrate with Netscape 
> LDAP SDK for Java (or compatible APIs like Sun or Mozilla). I create an 
> LDAPEntry with two separate LDAPAttribute objects for two description values 
> in the LDAPAttributeSet. 
> ...
> LDAPAttributeSet attrs = new LDAPAttributeSet();
> LDAPAttribute ocls = new LDAPAttribute("objectclass", new String[] { "top", 
> "person" });
> attrs.add(ocls);
> attrs.add(new LDAPAttribute("sn", "Bush"));
> attrs.add(new LDAPAttribute("cn", "Kate Bush"));
>         
> String descr[] = {
>    "a British singer-songwriter with an expressive four-octave voice",
>    "one of the most influential female artists of the twentieth century" };
>         
> attrs.add(new LDAPAttribute("description", descr[0]));
> attrs.add(new LDAPAttribute("description", descr[1]));
> ...
> After creation, the outcome is an entry within ApacheDS with only one of the 
> description values: 
> dn: cn=Kate Bush,dc=example,dc=com
> objectclass: top
> objectclass: person
> cn: Kate Bush
> sn: Bush
> description: one of the most influential female artists of the twentieth 
> century
> I attach the complete code as a JUnit test case. The code (and the test case) 
> works with other LDAP servers (Sun Java System Directory Server 5.2 for 
> instance) as expected (entry with two description values).
> I was not able to create a comparable problem with an add operation with 
> JNDI. I assume that the corresponding BasicAttributes class within JNDI and 
> its LDAP provider combines/consolidates the attributes on its own, which 
> results in one attribute with two values.

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to