Since Cayenne integrates with the domain objects, I was wondering if it could be supported by providing an alternate AbstractDomainController that exposes the basic functionality.
I need to contact someone in the Cayenne community about how to set it up programmatically, without using the design console, etc. But thanks for the heads-up. Option (2) sounds the best - I definitely *don't* think (at the moment) that writing a new object store is the way to go. (But I *am* familiar with the ObjectStore API, as I've just finished my cludgy REST implementation for integrating with Community Builder on Joomla!). Need to blog about that, too, I suppose! On 1 Dec 2011 at 9:14, Dan Haywood wrote: > Hi Kevin, > I've not used Cayenne, no. I don't notice it much in the news either (but > that's not a criticism - it's not like Isis gets much coverage either). > > If you're interested in working on a Cayenne integration, then there are > two options. > > 1. you could write a new object store, like the SQL object store that you > took over. > > 2. you could instead write a new runtime. > > We haven't talked much about (2), but you'll know that I restructured the > modules last year in order to give us oai.runtimes.dflt as well as > oai.runtimes.embedded. The key interface here > is oai.core.metamodel.runtimecontext.RuntimeContext, which is the > "pipeline" through which the metamodel API reaches back to the runtime. > > You'll see that there are just two proper impls of this interface, > the > org.apache.isis.runtimes.dflt.runtime.persistence.internal.RuntimeContextFromSession > which delegates to the (singleton) IsisContext in the dflt runtime, and > there's also > the oai.runtimes.embedded.internal.RuntimeContextForEmbeddedMetaModel, > which is the capability I put together (though haven't properly advertised > or promoted) to allow the Isis metamodel to be embedded in *any* other > framework. > > At any rate, what you might want to do is consider writing an > oai.runtimes.cayenne.RuntimeContextForCayenne impl. It'd be interesting to > see how well this API works for a new requirement. > > Just a thought, > > Cheers > Dan
