I've done a deeper analysis, here is what I am thinking about

query.SearchTimeoutException  why is it not a subclass of SearchException?

query.SearchTimeoutException => query.engine.SearchTimeoutException (API) ? (I 
don't see why the persistence layer could not let this exception go as is).
query.engine.internals => query.engine.impl (core uses internals but many 
packages in HSearch use impl already)
query.engine.HSQuery => query.engine.spi.HSQuery (the engine is essentially a 
SPI)
query.TimeoutManager => query.engine.spi.TimeoutManager //interface?
query.engine.TimeoutExceptionFactory => query.engine.spi
query.ScrollableResultsImpl => query.hibernate.impl
query.QueryHits => query.engine.impl
query.ObjectLookupMethod => query.hibernate or query.orm
query.ObjectLoaderBuilder => query.hibernate.impl
query.IteratorImpl => query.hibernate.impl
query.FullTextQueryImpl => query.hibernate.impl
query.FullTextFilterImpl => query.engine.impl
query.DatabaseRetrievalMethod => query.hibernate or query.orm?
query.impl => query.hibernate.impl
Should there be a query.orm and query.hibernate?
engine.EntityInfo => query.engine.spi
engine. AbstractLoader => query.orm.impl / query.hibernate.impl
engine. DocumentExtractor  => query.engine.spi
engine. Loader  => query.orm.impl / query.hibernate.impl
engine. LoaderHelper => query.orm.impl / query.hibernate.impl
engine. MultiClassesQueryLoader => query.orm.impl / query.hibernate.impl
engine. ObjectLoaderHelper => query.orm.impl / query.hibernate.impl
engine. ProjectionLoader => query.orm.impl / query.hibernate.impl
engine.QueryLoader => query.orm.impl / query.hibernate.impl

I have also introduced a while back the notion of SearchFactoryIntegrator vs 
SearchFactoryImplementor. The former used by frameworks integrating with 
HSearch and the latter for internals using SearchFactory's contracts.
Following the same vein, we might need to:
 - rename StatisticsImplementor to StatisticsIntegrator (framework seems to 
need to call back this service)
 - move SearchFactoryImplementor#getStatisticsImplementor() to 
SearchFactoryIntegrator#getStatisticsIntegrator()
We might need to introduce a notion of DocumentBuilder SPI which is really the 
metadata API Hardy wants in or an extension of.

I think the Integrator business can wait for 4.0 but until it's done, some of 
the query engine contracts are leaky in some area. For example the Loaders do 
need some of the SessionFactoryImplementor contracts.

On 2 mars 2011, at 23:40, Sanne Grinovero wrote:

> ok, you don't have conflicts with Hardy either:
> https://github.com/hibernate/hibernate-search/pull/50/files
> 
> 2011/3/2 Emmanuel Bernard <emman...@hibernate.org>:
>> I am thinking about moving:
>> EntityInfo
>> AbstractLoader
>> DocumentExtractor
>> Loader
>> LoaderHelper
>> MultiClassesQueryLoader
>> ObjectLoaderHelper
>> ProjectionLoader
>> QueryLoader
>> 
>> 
>> On 2 mars 2011, at 23:19, Emmanuel Bernard wrote:
>> 
>>> It seems that the engine package content is entirely related to query and 
>>> should move somewhere under o.h.search.query.
>>> Any opinion or objection? Most are non API non SPI classes anyways.
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> 
>> 
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> 


_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to