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

Exception error message unhelpful when adding attributeType and objectClass with colliding names

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.4
    • Fix Version/s: 2.0.0-M1
    • Component/s: schema
    • Labels:
      None

      Description

      This is a follow-up to DIRSERVER-1301.

      When performing the following schema modification, due to a collision between attribute type and object class name there is a NamingException thrown:

                          1. version: 1
                            dn: cn=schema
                            changetype: modify
                            add: attributeTypes
                            attributeTypes: ( 1.3.6.1.4.1.18060.0.4.3.2.1
                            NAME 'ship'
                            DESC 'a reference to a ship'
                            EQUALITY distinguishedNameMatch
                            SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
                            SINGLE-VALUE
                            )

      • add: objectClasses
        objectClasses: ( 1.3.6.1.4.1.18060.0.4.3.3.1
        NAME 'ship'
        DESC 'An entry which represents a ship'
        SUP top
        STRUCTURAL
        MUST cn
        MAY ( description )
        )
        objectClasses: ( 1.3.6.1.4.1.18060.0.4.3.3.2
        NAME 'port'
        DESC 'An entry which represents a port'
        SUP top
        STRUCTURAL
        MUST cn
        MAY ( description $ ship )
        )

      However, the NamingException in such case doesn't give any hint about the real cause of the problem (name collision):

      javax.naming.directory.NoSuchAttributeException: attributeType w/ OID 1.3.6.1.4.1.18060.0.4.3.3.1 not registered!
      at org.apache.directory.server.schema.registries.DefaultAttributeTypeRegistry.lookup(DefaultAttributeTypeRegistry.java:198)
      at org.apache.directory.server.core.schema.ObjectClassImpl.getMayList(ObjectClassImpl.java:104)
      at org.apache.directory.server.utils.AttributesFactory.getAttributes(AttributesFactory.java:393)
      at org.apache.directory.server.utils.AttributesFactory.getAttributes(AttributesFactory.java:74)
      at org.apache.directory.server.core.schema.SchemaSubentryModifier.addSchemaObject(SchemaSubentryModifier.java:188)
      ...

      The exception should be made more informative.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              olo Aleksander Adamowski PZU
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: