Hi Ole,
not sure I understand exactly what you want to do, but first, you should
read
http://cwiki.apache.org/confluence/display/DIRxSRVx11/Schema+Subsystem+Redesign
and the children pages, they explain what is the current status of the
Schema system in ADS 1.5.
Now, you have to know that ObjectClasses and AttributTypes are just
considered as normal entries by the server, so you can simply use
BasicAttributes() to store your newly created ObjectClass, wih all the
meta attributes needed to describe your objectclasses (see the xiki
pages above, there is an example of conversion for core.schema)
Hope it helps.
Ole Ersoy a écrit :
Hey Guys,
I'm in the middle of designing the DAS and
decided that I can probably make it way more efficient
if I create an ObjectClass per Java Class that I want to write to
ADS.
So how do I programmatically create a ObjectClass and store it
in ApacheDS?
Do we have a description somewhere or is this a standard JNDI thing?
Here's a little further elaboration on what I want to do for those
interested.
Keep in mind this is just an example. The Class User could be any
java class used in a model.
I have a Java Class >> User
The Class User has String members [firstName, lastName, password]
So I want to create a Structural ObjectClass in ApacheDS so that
I can add it as an attribute to the DN where a User instance will be
stored (The java object instance).
If I were doing this in a relational database, I would create a table
definition instead of a ObjectClass.
So I'm looking for something like this:
ObjectClass objectClass = LDAPSchemaFactory.createObjectClass();
objectClass.setName("User");
ObjectClassAttribute objectClassAttribute =
LDAPSchemaFactory.createObjectClassAttribute();
objectClassAttribute.setName("firstName");
objectClassAttribute.setType(LDAP_STRING_ATTRIBUTE_TYPE);
Then I would do something like:
ctx.storeObjectClass(objectClass);
The objectClass can now be assigned as an attribute to an ADS entry,
and if we were to look at all the ObjectClasses in ADS through
JXPlorer or LDAP Studio,
we would see the User ObjectClass in the list.
Does that make sense?
Thanks,
- Ole