All,
I'm continuing to tidy up the Isis codebase, and have made a number of
further modifications. Before I get into that, just a note of explanation:
- the idea of moving core.runtime -> runtimes.dflt (as performed in
0.1.1-incubating-SNAPSHOT) was so that runtimes could be considered as
pluggable. The existing runtime that we inherited from Naked Objects
framework will continue to be supported, of course, but I want the
ability to support lighterweight implementations in the future. In
fact, we do have an alternative "runtime" of sorts, namely
runtimes.embedded (for embedding just the metamodel in an arbitrary app).
~~~
With that reminder said, here's what I've done this time round
(oai=org.apache.isis)
- reintroduced oai.core.webapp
I've moved a few servlets/filters etc from oai.runtimes.dflt.webapp that
would be generic to any runtime implementation back up to core. Those
that remain in oai.runtimes.dflt.webapp are to do with bootstrapping the
default runtime.
- reintroduced oai.core.runtime
Similarly, I've moved a number of classes that would be relevant to any
runtime - most notably AuthenticationManagerStandard and
AuthorizationManagerStandard implementations of the security APIs, up
from oai.runtimes.dflt back into a oai.core.runtime module.
- I've moved oai.profilestores back to oai.runtimes.dflt.profilestores
I had hoped last time around that the profilestores concept (user
preferences/bookmarks etc) would be a component that multiple runtimes
could implement... and hopefully this will be so one day. However, the
existing profilestores have a couple of fairly tight dependencies to the
default runtime, which are difficult to break and are going to need more
analysis (stuff I'd rather put off for now).
- bumped to 0.1.2-incubating-SNAPSHOT
Because there's a change in the module structure, I've again bumped up
the version from 0.1.1-incubating-SNAPSHOT -> 0.1.2-incubating-SNAPSHOT.
~~~
The most likely thing that could break following from this update is the
changed location of servlets/filters from runtimes.dflt.webapp ->
core.webapp. You'll find that the trunk/replace.groovy script has the
substitutions that should be needed in any existing application code.
I've also updated the archetype and site. I'll be uploading this new
version to the snapshot repo this weekend.
That's it for now, I think... any probs, let me know.
Cheers
Dan