[hibernate-dev] OSGI manifests for hibernate-orm

Hardy Ferentschik hardy at hibernate.org
Thu Aug 16 11:35:38 EDT 2012


On 16 Jan 2012, at 12:42 AM, Steve Ebersole wrote:

> In fact splitting those purposes alone solves the problem with 
> org.hibernate.engine.spi.JpaCascadingAction I believe
> 
> As for org.hibernate.engine.spi.JpaCascadeStyle, TBH, I am not sure 
> exactly why we need this split between persist() handling for 
> hibernate-core versus persist() handling for hibernate-entitymanager. I 
> asked Hardy about this a few weeks ago when I was working on integrating 
> JPA 2.1 on master.  But I forget the reasoning.  Hardy?  I just remember 
> that the end result was we decided it was best to leave them separate.  
> Even leaving them split, I would think we could do something like having 
> the org.hibernate.jpa.internal.event.JpaIntegrator register the 
> override, rather than doing it in static loading blocks.

I don't remember either. I think we had a discussion on GitHub on some of your commits.
Not sure whether these comments are still somehow preserved. 



--Hardy

> On 08/15/2012 05:08 PM, mailing at bibbernet.org wrote:
>> Hello,
>> 
>> because I need clean OSGI bundles for Hibernate and especially Envers, 
>> I am working on some patches for the 4.1 branch of hibernate-orm to 
>> enable generation of OSGI compatible jar files.
>> 
>> During the work I have found the following problems, and need some 
>> help and/or feedback. The problems are:
>> 
>> - The package org.hibernate.engine.spi is exported by two jar files, 
>> hibernate-core and hibernate-entitymanager, which is not possible in 
>> OSGI. The Problem is the STYLES map in CascadeStyle in hibernate-core  
>> which prevent that the package in hibernate-entitymanager can be 
>> refactored from org.hibernate.engine.spi to 
>> org.hibernate.ejb.engine.spi, to solve the duplicate export.
>> I think to fix this problem, the following steps should be done:
>> - Add a setter method to CascadeStyle to allow subclasses to add 
>> CascadeStyles to the map STYLES
>> - Refactor the package org.hibernate.engine.spi in hibernate-envers to 
>> org.hibernate.ejb.engine.spi
>> - Use the setter method to add the new CascadeStyle in EJB3CascadeStyle
>> 
>> - The package org.hibernate.tool.ant is exported by to jars, 
>> hibernate-tools (version: 3.2.0.ga) and hibernate-envers, which is 
>> also a duplicate export problem. The problem is that HibernateToolTask 
>> in hibernate-tools has no getters/setters for configurationTask and 
>> thus hibernate-envers is directly reading/modyifing the property 
>> configurationTask. I think to fix this problem, the following steps 
>> should be done:
>> - hibernate-tools should add public getters/setters for 
>> configurationTask in class HibernateToolTask
>> - the package org.hibernate.tool.ant in hibernate-envers should be 
>> refactored to org.hibernate.envers.tool.ant
>> - the property configurationTask should be accessed sole thru the 
>> getters/setters .
>> 
>> It would be nice if someone could check and comment my planned and 
>> already done  changes.
>> 
>> I have already done the CascadeStyle fix, the configurationTask fix is 
>> outstanding because I need to know against which version of 
>> hibernate-tools I should create the fix.
>> 
>> In generally the following tasks are done until now:
>> - added configuration to gradle scripts to generate the osgi manifests 
>> for all jar files in hibernate-orm (needs maybe some cleanup) - right 
>> now the build files for hibernate-core, hibernate-entitymanager and 
>> hibernate-envers are modified.
>> - added blueprint.xml to hibernate-entitymanager to announce the 
>> availabillity of a javax.persistence.provider
>> 
>> Next steps:
>> - add osgi manifests to the other jars of hibernate-orm
>> - write integration tests with pax exam and karaf 2.2.x
>> - finish refactoring of hibernate-tools
>> - add patches for other needed dependencies 
>> (hibernate-commons-annotations and more)
>> - more testing, more integration tests
>> 
>> Help, reviews and comments are welcome, and if someone has already 
>> done the work or parts, please drop me a note.
>> 
>> Attached find a patch against the branch 4.1 of hibernate-orm.
>> 
>> regards
>> Martin Neimeier
>> 
>> 
>> 
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> 
> 
> -- 
> steve at hibernate.org
> http://hibernate.org
> 
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev




More information about the hibernate-dev mailing list