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

Reply via email to