[
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);
with:
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();
fieldList.addAll(Arrays.asList(fields));
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
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues