Hi all, Just a quick update on some recent commits [1], [2], [3]. (Oscar, take especial note, because of how you are wrap(...) all domain objects).
The implementation of WrapperFactory uses cglib 2.x/asm 3.x, which is incompatible with Java 7. Although cglib 3/asm 4 are compatible, in the past we've had dependency convergence issues with these very popular libraries. So, I've been working through our dependencies on cglib and looking to replace them with javassist (JBoss' library). Specifically: - in our JMock mocking we used to use the cglib-based ClassImposterier; I've now implemented a new JavassistImposteriser - in WrapperFactoryDefault, this similarly has been changed to use Javassist. The original implementation is still available, renamed to WrapperFactoryCglib. We still have dependencies on cglib in ObjectFactoryCglib, but this is not used by the JDO Objectstore (it is to support lazy loading of the other not-released objectstores). And there was also a cglib/asm dependency in the Wicket viewer, which I've also removed. ~~~ So, this is just a heads-up that as of the next release WrapperFactoryDefault is using javassist under the covers. I also fixed one bug: the idea I had was to disallow calls to foo.modifyBar), even if such a method existed; instead only foo.setBar(...) must be called. This wasn't being checked for correctly. It won't impact your code if you don't use the modifyXxx() supporting method. ~~~ OK, that's it. Have a good weekend! Cheers Dan [1] https://issues.apache.org/jira/browse/ISIS-569 [2] https://issues.apache.org/jira/browse/ISIS-770 [3] https://issues.apache.org/jira/browse/ISIS-772
