Hi,
It's been quiet on the list lately, but development is still in progress.
I've mostly been busy working on the hibernate layer in webical. It kept
giving problems like NonUniqueObjectExceptions, LazyInitializationExceptions
and really weird lockups without any explanation. I've tried to solve this
while still reusing the Spring DaoSupport and other facilities, but it
wouldn't behave properly so I've ditched it together with the
OpenSessionInviewFilter. The setup is now a lot simpler. A dao
implementation subclasses a general class (BaseHibernateImpl) with all kinds
of support methods (much like HibernateDaoSupport). The sessionmanagement is
based on an aspect and an annotation. Each method marked with the
@Transaction annotation is wrapped with the necessary code to setup and
flush the session. It seems to work really good and its simple to avoid all
the before mentioned problems by keeping the marked methods really simple
and small. The daos are still to be cleaned up a bit, but it seems a step in
the right direction.
Other recently added things:
- Jetty and webdav-servlet integration in the unit tests. Now we don't
need internet to run the unit tests. Jetty is started with a clean webdav
root before each test. This also means no more failures because test ran
halfway through and the ics is left in a messed up state.
- A fixed user id for development purposes. This way developers don't
need to log in after each restart
- Jetty launch for development with an integrated webdav-servlet with
one ics in the webdav root. See developers-readme.txt for Jetty vs
tomcat setup.
- A database bootstrap configuration in
src/main/webapp/applicationContext-bootstrap. Configuration is inserted in
the database on each startup.
- Encryption in the database for passwords.
Planned in the near future:
- An Aspect to catch LazyInitializationExceptions and reattach the
Object to the current Session
- Usage of hsqldb or Apache derby for development
- Refactoring of the Ajax dayview
Regards,
Ivo
--
Ivo van Dongen
Func. Internet Integration
W http://www.func.nl
T +31 20 4230000
F +31 20 4223500
|