directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antoine Levy-Lambert <>
Subject Re: svn commit: r1050378 - /directory/apacheds/trunk/server-config/src/main/resources/config.ldif
Date Fri, 17 Dec 2010 15:31:18 GMT
Hello Pierre-Arnaud,

On 12/17/2010 10:00 AM, Pierre-Arnaud Marcelot wrote:
> Hi Antoine,
> I only added it for consistency with other entries in the configuration and for the following
reason, mention by Emmanuel in the previous thread "Adding annotations to Configuration beans":
> Begin forwarded message:
>> On 12/6/10 6:00 PM, Pierre-Arnaud Marcelot wrote:
>>> On 6 déc. 2010, at 17:32, Alex Karasulu wrote:
>>>> Also as Kiran pointed out in his response, what if the contained elements
are kept in a single attribute like this ads-compositeElement ?
>>> AFAIR, the 'ads-compositeElement' was introduced as kind of "quick hack" to ease
the work on the reader class. I really think we can get rid of it easily with the annotation
>> ads-compositeElement has been created at the origin as a way to tell the reader that
the element is a composite element. The reader was supposed to be completely generic, ie the
java Beans could have been generated automatically (except that because it requires the development
of a maven plugin, something I didn't want to do).
>> Now that you have defined some @, sure this is redondant, but if someone decide to
define a reader/writer in another language, then this element is probably necessary.
> That said, I 100% agree on the fact that this attribute is redundant and somehow unnecessary.
> I still think it should be removed for an easier (hand) writing of the configuration.
> Also, looks like the ConfigReader does not need it in its current implementation, as
all objects were perfectly instantiated before my fix on the file.
> Maybe it's time to take a community-wide decision about these types of attributes (attributes
extending 'ads-compositeElement').
There are two sorts of ads-compositeelements.

Some are containers containing entries. Others are multi-valued attributes.

I would see three possibilities

1) say that all container entries which are children of configuration 
elements imply automatically that they contain objects to be added to a 
list present in the containing element.
For example finding a subordinate entry ou=flowers the 
ConfigPartitionReader would expect automatically to find flower entries 
readable with a configuration bean of the ads-type of the subordinate 
entries under ou=flowers.

The "container" field in the ConfigurationElement annotation would not 
be required, we would just swallow automatically whatever containers are 
lying below each configuration entry, recursively
the nice thing about this option is that it makes the least possible 
metadata to manage

2) create a new multi valued attribute type ads-container, and use the 
ads-container to list the subordinate entries to be read by the config 
partition reader. For instance ads-container could have two values 
flowers and vegetables, meaning that the config partition reader has to 
search explicitly for ou=flowers and ou=vegetables below the current 
entry. The nice thing is that it disentangles completely the case of 
attribute based composite elements compared to entry based composite 

3) statu-quo. Disadvantage :  unneeded redundant information is just 

> Regards,
> Pierre-Arnaud
> On 17 déc. 2010, at 15:31, Antoine Levy-Lambert wrote:

View raw message