[hibernate-dev] [OGM] Public packages of datastore modules

Emmanuel Bernard emmanuel at hibernate.org
Mon Feb 10 13:01:07 EST 2014


On Mon 2014-02-10 11:50, Gunnar Morling wrote:
> Hi,
> 
> One thing I'd like to address before doing the next OGM release is the
> structure of public packages in the datastore-specific modules.
> 
> Currently we have the following structure:
> 
> * org.hibernate.ogm.datastore.<infinispan|ehcache|mongodb|...>
> * org.hibernate.ogm.dialect.<infinispan|ehcache|mongodb|...>
> * org.hibernate.ogm.logging.<infinispan|ehcache|mongodb|...>
> ...
> 
> I think it makes sense to pull the datastore-specific package up one level,
> moving all the types of a backend under one shared super-package. So it
> would like this instead:
> 
> * org.hibernate.ogm.<infinispan|ehcache|mongodb|...>.datastore
> * org.hibernate.ogm.<infinispan|ehcache|mongodb|...>.dialect
> * org.hibernate.ogm.<infinispan|ehcache|mongodb|...>.logging
> ...

I am fine with it. I think I like it more actually as it makes writing a
new datastore easier and more isolated.
A bit harder on the user, but nothing earth shaking.

> The reason I'm bringing this up is that we're introducing new user-exposed
> types with that release: the store identifier types (MongoDB, CouchDB etc.)
> and their properties class (MongoDBProperties, CouchDBProperties etc.). So
> if we agree to do this change it would be good to do it now before having
> to move these public types later on.
> 
> Another question is how to differentiate between public and internal
> packages, but I think we can discuss this later on, as a change would only
> affect internal packages. Emmanuel and I couldn't agree on a best approach
> when discussing it shortly, so this might need some more time :)

I could agree with myself quite well :)


More information about the hibernate-dev mailing list