[seam-issues] [JBoss JIRA] Commented: (SEAMJCR-21) Properties from parent class should be mapped as well

Simon Gunzenreiner (JIRA) jira-events at lists.jboss.org
Fri Aug 5 10:39:40 EDT 2011

    [ https://issues.jboss.org/browse/SEAMJCR-21?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619138#comment-12619138 ] 

Simon Gunzenreiner commented on SEAMJCR-21:

The following snipped works for me:

in OCMMappingStore.map()
      List<Field> fields = new ArrayList<Field>(); 
      addFields(clazz, fields);


   void addFields(Class<?> clazz, List<Field> fieldList) {
	  // Assumption: we also want to persist fields of object which are not themselves persistable
      Field[] fields = clazz.getDeclaredFields();
      Class<?> supr = clazz.getSuperclass();
      if (supr != Object.class) {
    	  // we never want to persist java.lang.Objects
    	  addFields(supr, fieldList);

> Properties from parent class should be mapped as well
> -----------------------------------------------------
>                 Key: SEAMJCR-21
>                 URL: https://issues.jboss.org/browse/SEAMJCR-21
>             Project: Seam JCR
>          Issue Type: Feature Request
>          Components: OCM
>            Reporter: Simon Gunzenreiner
>            Priority: Minor
> OCMMappingStore.map() currently does not map inherited fields, due to considering only fields defined on the given class. I suggest to use  clazz.getFields() instead of clazz.getDeclaredFields().
> Also, this behaviour is not in-line with the usage of clazz.getMethods(), which takes into account the accessor methods of parent classes (correct behaviour).

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list