The general idea is good. But not really getting the point/purpose of having both before and after hooks.
On 08/17/2012 01:12 AM, Strong Liu wrote: > I'm thinking add the interface below, with it, modules like envers can choose > either before or after the metamodel get processed to hook into its own > extending mappings > > > public interface MetadataContributingIntegrator extends Integrator { > /** > * Allow the integrator to alter the {@link MetadataImplementor} BEFORE > {@link MetadataSources} get processed. > * <p/> > * > * At this stage, metamode ( like {@link > org.hibernate.metamodel.spi.binding.EntityBinding} etc. ) is not available > yet. > * This is a good time to add the custom sources into > {@MetadataSources} and get it processed by Hibernate Metamodel. > * > * @param metadata The Metamodel which is going to be completed by > processing MetadataSources. > * @param source Meta data sources to be processed. > */ > public void beforeMetadataProcessing(MetadataImplementor metadata, > MetadataSources source); > > /** > * Allow the itnegrator to alter the {@link MetadataImplementor} AFTER > @{@link MetadataSources} get processed. > * <p/> > * > * At this stage, metamode ( like {@link > org.hibernate.metamodel.spi.binding.EntityBinding} etc. ) is bindded. > * So, it depends on the integrator to manually create metamodel and > add it to {@link MetadataImplementor} or modifiy the > * existing one. > * > * @param metadata > * @param source > */ > public void afterMetadataProcessing(MetadataImplementor metadata, > MetadataSources source); > } > > downside is, envers with old metamodel calls Configuration.buildMappings() > again during the integration phase, so, its created hbm xml can be processed > (again) before SF create, but with new metamodel, it is hard to do that I > think ( or too time consuming ) > > and to create envers own metamodel ( hbm ) it needs to know the hibernate > type of entity property, which can be easily get from Entitybinding but hard > / duplicated to resolve from source by envers itself, so it seems we should > choose "afterMetadataProcessing" > > but envers' hbm creation involves lots of code and pretty complicated ( to me > :) it's better to reuse those code and choose "beforemetadataProcessing" and > let new metamodel to take care of that. > > thoughts? > > > On Aug 2, 2012, at 12:17 AM, Hardy Ferentschik <ha...@hibernate.org> wrote: > >> On 31 Jan 2012, at 10:55 PM, Sanne Grinovero wrote: >> >>> Why is the "annotation indexing" discussion part of the metamodel? >> Why not? We are using Jandex in the new metamodel which is a annotation >> index/repository >> >>> I initially understood that a replacement of commons-annotations was >>> being developed, which would be nice for Search too as Search does not >>> and should not depend on Hibernate ORM. >> as Strong already said, there is no replacement module for >> commons-annotations. There is no >> need for it. >> >> And yes, Search should imo also switch to Jandex, however, it can initially >> just create its own index. >> Of course it might be nice to be able to use a Jandex index passed to it via >> the integrator spi. Different story though. >> >> --Hardy >> _______________________________________________ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev > ------------------------- > Best Regards, > > Strong Liu <stliu at hibernate.org> > http://about.me/stliu/bio > > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev -- st...@hibernate.org http://hibernate.org _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev