[ http://issues.apache.org/jira/browse/GRFT-111?page=all ]
Christophe Lombart closed GRFT-111.
-----------------------------------
Resolution: Fixed
I added the unit tests. Felix, can you check if it is ok.
> Extend Bean/Collection/FieldDescriptor with support for node type management
> tools
> ----------------------------------------------------------------------------------
>
> Key: GRFT-111
> URL: http://issues.apache.org/jira/browse/GRFT-111
> Project: Graffito
> Issue Type: Improvement
> Reporter: Felix Meschberger
> Assigned To: Christophe Lombart
> Attachments: GRFT-111.zip, GRFT-111_NodeTypeManagement.diff,
> NodeTypeManagerImpl.java
>
>
> I started working with Graffito JCR-Mapping some weeks ago noticing that it
> actually implements what I planned to implement in my own tool - and more :-)
> So I started to like that thing. While working on it I thought, that it would
> be nice to define node types based on the mapping definitions and also
> noticed, that this is actually also supported by the mapping descriptors.
> Still, the support by the descriptors has some drawbacks: Field descriptors
> are thought to only map to properties, while collection and bean descriptors
> are thought to only map to child nodes. Consequently the field descriptors
> support attributes for property definition while bean and collection
> definitions support attributes for child node definition. While this
> assumption is mostly true, it fails in the case of multi-valued properties,
> which is implemented using a collection descriptor. I myself implemented
> another CollectionConverter, which supports residual jcrName values. Also in
> this case, the collection descriptor maps properties.
> Hence I proopse to extend the bean and collection descriptors with attributes
> for property definition. Namely I propose the addition of "jcrType" and
> "jcrMultiple" attributes which should contain the property type and
> multi-value flag respectively. The respective BeanDescriptor and
> CollectionDescriptor classes are to be extended for these attributes.
> To further simplify node type management tools, I further propose, to define
> two interfaces - PropertyDefDescriptor and ChildNodeDefDescriptor - which may
> be used by node type management tools to extract the relevant information to
> define properties and child nodes. The FieldDescriptor will only implement
> the PropertyDefDescriptor while the BeanDescriptor and CollectionDescriptor
> classes will implement both interfaces. The node type management tool will
> then have to apply heuristics to decide, whether a property or a child node
> should be defined.
> Attached you will find the patchs to the FieldDescriptor, BeanDescriptor and
> CollectionDescriptor classes as well as the proposed interfaces.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira