Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-643

Netscape SDK: Adding an entry with two description attributes does not combine values.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0-RC3
    • 1.0-RC4, 1.5.0
    • None
    • None
    • 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

    Description

      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.

      Attachments

        1. AddDupplicateAttributeTest.java
          2 kB
          Stefan Zoerner

        Issue Links

          Activity

            People

              akarasulu Alex Karasulu
              szoerner Stefan Zoerner
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: