Hi... On Sun, Dec 11, 2011 at 7:16 PM, Dan Haywood <[email protected]>wrote:
> On 11 December 2011 16:32, Kevin Meyer - KMZ <[email protected]> wrote: > > > > > Problem is, this interface kills the Isis introspector - it eventually > hits > > interface org.apache.cayenne.util.XMLSerializable, which has a List > > (Collection) parameter. > > > > I have two options: > > 1) Somehow disable the Isis introspector from walking down the > > Cayenne Persistor interface, or > > > > I'd imagine this ought to be possible by writing a FacetFactory similar > to RemoveJavaLangObjectMethodsFacetFactory > or RemoveJavaLangComparableMethodsFacetFactory. This would remove any of > the methods in the provided type (ie the cayenne interface). > > > > > > 2) Do some byte-code magic that is somehow able to wrap the users > > domain class picked up by Isis into something which implements > > Persisted, and can be given to Cayenne to instantiate. > > > > This would be more elegant, but also more work. > > The CgLibClassProxyFactory (and Javassist equivalent) work by (on-the-fly) > creating a subclass of the provided class. I imagine that this subclass > could implement the cayenne interface. > > > > > > > Option 2 requires me to somehow create a 1-to-1 mapping between > > user domain POJOs and runtime contructed classes that implement > > the Persisted interface, which Cayenne can instantiate, but that I can > > use to intercept Cayenne methods. > > > > Is this possible? To create new classes, based on existing classes, > > that can be instantiated? > > > Yup, it's what we do... > > > ~~~ > Just another thought; I know you have a distaste of the JPA annotations > etc, but even so my JPA object store - currently mothballed because it has > a dependency on the LGPL Hibernate library - might be easier to get fully > working, probably by porting to OpenJPA [1]. My view, for what it's worth, > is that JPA is more mainstream than Cayenne (and would help Isis grow its > userbase if we had it as a supported object store....). > > I think that Mark is involved in OpenJPA - Mark, can you comment on how > OpenJPA picks up its metadata: is it only annotations, or is it optionally > XML, or even can it just infer some stuff? > > Cheers > Dan > > AFAIK, you can use both, and if it follows the same way of JEE deployment descriptors XML can override annotations - Mark please correct me if I am wrong :). > > > [1] http://openjpa.apache.org/ > > > > > > > Regards, > > Kevin > > > > > > > -- Thanks - Mohammad Nour ---- "Life is like riding a bicycle. To keep your balance you must keep moving" - Albert Einstein
