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 system.
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
elements
3) statu-quo. Disadvantage : unneeded redundant information is just
confusing
-
Regards,
Pierre-Arnaud
On 17 déc. 2010, at 15:31, Antoine Levy-Lambert wrote:
Antoine