|
Stefan Zoerner made changes - 17/Aug/05 09:16 PM
I modified the checks in class org.apache.ldap.common.schema.SchemaUtils which determine whether the MAY and MUST sets of attributes are empty (two lines, see patch-file attached).
Now all the GUI clients I have and even th JNDI program I attached some hours ago work properly. Therefore you may consider to apply it to your code.
Stefan Zoerner made changes - 18/Aug/05 04:04 AM
I applied your patch stefan thanks. However there are other issues which I am still tracking down with this issue. Name the fact that the top objectClass is listed as STRUCTURAL when it should be ABSTRACT. For some reason the schema generation plugin is not properly generating the objectClass for TOP. Perhaps this is systemic. Regardless I'll resolve this issue, rebuild the jars, and deploy them once I get to the bottom of these problems.
Committed changes to fix the objectClass type in revision 239213. Turns out all the ObjectClasses were defaulting to STRUCTURAL. This is now fixed and the proper objectClass type values i.e. STRUCTURAL, ABSTRACT, AUXILIARY should not appear correctly.
Alex Karasulu made changes - 23/Aug/05 03:29 AM
I have retested the user experience on the current ApacheDS with the schema browser from Softerra. I also used some JNDI test cases that fetch schema information via API calls. Tada -- everything works like I would expect. It even provides the correct class types, Alex mentioned. And so I am happy and close this issue.
Stefan Zoerner made changes - 31/Aug/05 05:22 AM
Alex Karasulu made changes - 10/Feb/06 12:34 PM
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
It uses JNDI schema fetching functionality. You may use it to confirm the problem with Apache DS I filed.
For another LDAP server output for "person" looks like this (the program fetches person and top):
person requires sn
person requires cn
top requires objectClass
On Apache DS it creates an Exception (on the client), output looks like this:
person requires sn
person requires cn
javax.naming.NameNotFoundException: top
at com.sun.jndi.toolkit.dir.HierMemDirCtx.doLookup(HierMemDirCtx.java:109)
at com.sun.jndi.toolkit.dir.HierMemDirCtx.getAttributes(HierMemDirCtx.java:464)
at com.sun.jndi.toolkit.dir.HierMemDirCtx.getAttributes(HierMemDirCtx.java:459)
at schematest.RequiredAttributesForAnEntry.main(RequiredAttributesForAnEntry.java:25)