jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christophe Lombart (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (JCR-1889) Incorrect support for java interfaces in typed collection fields
Date Mon, 01 Dec 2008 20:53:44 GMT

     [ https://issues.apache.org/jira/browse/JCR-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Christophe Lombart reassigned JCR-1889:

    Assignee: Christophe Lombart

> Incorrect support for java interfaces in typed collection fields
> ----------------------------------------------------------------
>                 Key: JCR-1889
>                 URL: https://issues.apache.org/jira/browse/JCR-1889
>             Project: Jackrabbit
>          Issue Type: Bug
>    Affects Versions: 1.4, 1.5.0
>            Reporter: Christophe Lombart
>            Assignee: Christophe Lombart
> If a typed collection field is defined with an Interface as the type, the following exception
is thrown when the main object is inserted : 
> org.apache.jackrabbit.ocm.exception.JcrMappingException: Cannot load class interface
[name of the interface];
> Here is a example : 
> @Node
> public class EntityA {
>        @Field(path=true) String path;
>        @Collection List<MyInterface> entityB;
>        ....
> }
> When inserting a new instance of EntityA with a not null entityB, the exception is thrown.

> A workaround is to add the elementClassName on the annotation @Collection. ex. : 
> @Collection (elementClassName=MyInterface.class) List<MyInterface> entityB;
> elementClassName is used only for untyped collections but if you specify it for a typed
collection, the ObjectContentManager will not use reflexion to check the collection class
> This should be nice to avoid the usage of elementClassName for typed collections. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message