[
http://issues.apache.org/jira/browse/GRFT-101?page=comments#action_12436668 ]
Dan Connelly commented on GRFT-101:
-----------------------------------
A proper patch just for this issue would take more] time than I have because I
have other changes in this code, particularly an implementation of REFERENCE
fields. I can within a few days submit a patch for the combined issues if
that is needed.
Actually for this JIRA, the code change is easy. No need to wait for a grand
patch. No new JUnits needed for this change.
Add the following methods to ObjectConverterImpl:
protected Object newInstance(String className) {
return ReflectionUtils.newInstance(className);
}
protected void setNestedProperty(Object object, String fieldName,
Object value) {
ReflectionUtils.setNestedProperty(object, fieldName, value);
}
Then modify ALL invocations of ReflectionUtils.newInstance and
ReflectionUtils.setNestedProperty in the code.
Make those invocations this.newInstance and this.setNestedProperty,
respectively.
> Allow developer to supply "newInstace" method in subclass of
> ObjectConverterImpl
> --------------------------------------------------------------------------------
>
> Key: GRFT-101
> URL: http://issues.apache.org/jira/browse/GRFT-101
> Project: Graffito
> Issue Type: Improvement
> Affects Versions: 1.0-a1-dev
> Environment: JCR Mapping
> Reporter: Dan Connelly
>
> I used a simple change in ObjectConverterImpl. This allows me to use a
> Factory class (in place of JavaBean constructors) in my object model.
> I added the following method to ObjectConverterImpl.:
> protected Object newInstance(String className) {
> return ReflectionUtils.newInstance(className);
> }
> Elsewhere in ObjectConverterImpl, it will now invoke
> this.newInstance(classDescriptor.getClassName());
> every where that is previously invoked
> ReflectionUtils.newInstance(classDescriptor.getClassName());
> Now I can over-ride the newInstance method in MyObjectConverterImpl (which
> subclasses ObjectConverterImpl). This allows me to construct objects for my
> model using its Factory class.
--
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