I don't have the time to look at it these days but I'll do it asap (maybe in few weeks :( )
Emmanuel Rahul Thakur a écrit :
Hi All, Scribbling some quick notes on some of the toying around I have been doing with OpenJPA, Generics etc on the continuum-jpa branch[1]: 1) Use JPA for persistence Motivation behind this has been to investigate how this compares to JPOX/JDO for managing the model - both in terms on performance and ease of use (Store APIs). Continuum model classes are annotated with JPA annotations on the branch. However, this needs a review as there are some elements (for example 'configuration' typed as Map) that I am not sure yet how to persist yet. The provider used is OpenJPA [2]. 2) Refactorings to Store interface Main motivation has been to keep the core Store interface lean and mean (read extensible). The Store interface[3] now has 4 methods: lookup() save() delete() query() The lookup(), save() and delete() act on single model Entity, while query() will filter and obtain matching Entities from the underlying database based on the Query specified. Query implementations control how a resulting JPQL gets constructed and which matching entities get pulled, and can be easily extended. To preserve compatibility with the existing Store interface, we can mimick the existing ContinuumStore interface operations by having a facade that can prepare requisite queries and delegate to a Store instance. 3) Misc. There are a few I am investigating: 1) Spring/Guice under the hood. 2) JUnit 4.4 (and Hamcrest library) , but these are still in early stages. I am keen to get a feedback on what others think. Cheers, Rahul [1] - http://svn.apache.org/repos/asf/maven/continuum/branches/continuum-jpa/ [2] - http://openjpa.apache.org/ [3] - http://svn.apache.org/repos/asf/maven/continuum/branches/continuum-jpa/continuum-model-jpa/src/main/java/org/apache/maven/continuum/store/api/Store.java