On 6 déc. 2010, at 15:15, Antoine Levy-Lambert wrote:

> On 12/6/2010 9:02 AM, Pierre-Arnaud Marcelot wrote:
>> Hi Dev,
>> 
>> I successfully integrated the newly introduced ApacheDS Configuration Reader 
>> (with all configuration beans) in the ApacheDS 2.0 Configuration Editor for 
>> Apache Directory Studio.
>> The UI is not completely finished yet, but I can already load a 
>> configuration from an LDIF file and I have access to the values of each 
>> bean. It's working really great...
>> 
>> Now, that the configuration can be read, it also need to be written, and I 
>> started working on a Configuration Writer.
>> 
>> In order to achieve this, I'd like to propose the addition of several 
>> Annotation elements that would be used in the Configuration Beans to help 
>> both the configuration writer and the reader.
>> Adding these Annotation elements would help maintaining the reader and 
>> writer loosely coupled with the beans and would facilitate additions of new 
>> configuration items (like those needed by Antoine, or others from third 
>> parties implementations).
>> 
>> There 3 annotations I'd like to introduce:
>> 
>> - @AttributeType( attributeTypeId )
>> This annotation is intended to be used on a field of a configuration bean 
>> and indicates which attribute type id this field is associated with.
>> I think it's a great addition as we're no longer in need to infer the id of 
>> the attribute type from the name of the field ( same thing for having to 
>> truncate the 'ads-' prefix sometimes).
>> It's clear and easy.
>> Furthermore, only fields with this annotation should be read and written by 
>> the configuration reader/writer (which allows the configuration beans to 
>> have extra fields that are not necessarily read or written).
>> 
>> - @RDN
>> This annotation is intended to be used on a field of a configuration bean in 
>> conjunction with the @AttibuteType annotation and indicates that this 
>> particular field is the one (and only for a given configuration bean) to be 
>> used in the RDN of the associated entry
>> 
>> - @Container( containerRdn )
>> This is intended to be used on a field of a configuration bean and more 
>> particularly on a field referring to a composite (List, Set, etc.) bean 
>> value. It indicates where the adding bean entries are to be placed (in which 
>> container entry) like the 'ou=servers' entry under the 
>> defaultDirectoryService entry.
> Once you have @Container annotations, maybe the ads-composite attributes can 
> be removed ? I think they only exist as a hint to the configuration reader 
> that there are subentries to be read.

Yeah, we could definitely get rid of it after some small tweaks in the reader's 
code I think

>> Any thoughts on this?
>> 
>> Thanks,
>> Pierre-Arnaud
> +1
> Antoine


Thanks,
Pierre-Arnaud

Reply via email to