You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-dev@incubator.apache.org by "Christophe Lombart (JIRA)" <ji...@apache.org> on 2006/06/21 14:24:31 UTC

[jira] Commented: (GRFT-54) Add more flexibility in the mapping

    [ http://issues.apache.org/jira/browse/GRFT-54?page=comments#action_12417120 ] 

Christophe Lombart commented on GRFT-54:
----------------------------------------


The following mapping can solve this kind of issue : 

<class-descriptor className="org.apache.portals.graffito.jcr.testmodel.Image"  jcrNodeType="ram:file" >
        <field-descriptor fieldName="path" path="true" />
        <field-descriptor fieldName="description" jcrName="ram:description" jcrType="String" />
        <subnode-descriptor jcrName="jcr:content" jcrType="jcr:resource">
                <field-descriptor fieldName="mimeType" jcrName="mimeType" jcrType="String" />
                 <!-- Add other attributes defined under the jcr:content node -->
        </subnode-descriptor>
</class-descriptor>

The element subnode-descriptor is used in the mapping descriptor to add a new jcr subnode.

There is also another kind of mapping which is already supported in the current code : 
A main object like the following class A contains an "bean" attribute (eg. propB) which is mapped into the jcr node used to store the class A.

Class A
{
    String propA; 
    B propB; 
  
}


Class B
{
    String propb1;
    String propb2;
}


the resulting jcr structure can be : 
/nodeA
     [prop] propA
     [prop] propb1
     [prop] propb2

This mapping can be done by using a specific beanconverter class.

> Add more flexibility in the mapping
> -----------------------------------
>
>          Key: GRFT-54
>          URL: http://issues.apache.org/jira/browse/GRFT-54
>      Project: Graffito
>         Type: Improvement

>   Components: JCR-Mapping
>     Versions: 1.0-a1-dev
>     Reporter: Christophe Lombart
>      Fix For: 1.0-a1-dev

>
> Sometime, it should be interesting to map to a different jcr node structure. 
> Here is an example, for a class "File", we can have : 
> public class File
> {
>     private String mimeType;
>     private String encoding;
>     private InputStream data;
>     private Calendar lastModified;
>     // Add getters/setters
> }
> and in terms of JCR structure, we can have : 
> nt:file
>     jcr:content
>         jcr:mimeType
>         jcr:encoding
>         jcr:data
>         jcr:lastModified
> So, the jcr:content node is an extra node to specify in the mapping file.

-- 
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