Skip to content

Commit

Permalink
HSEARCH-3269 Expose batch mapping and session ctx
Browse files Browse the repository at this point in the history
  • Loading branch information
fax4ever committed Oct 15, 2020
1 parent 39ad57d commit 8169a98
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
import org.hibernate.search.mapper.orm.automaticindexing.session.impl.ConfiguredAutomaticIndexingSynchronizationStrategy;
import org.hibernate.search.mapper.orm.session.impl.HibernateOrmSearchSession;
import org.hibernate.search.mapper.orm.session.impl.HibernateOrmSearchSessionMappingContext;
import org.hibernate.search.mapper.orm.spi.BatchMappingContext;
import org.hibernate.search.mapper.pojo.mapping.spi.AbstractPojoMappingImplementor;
import org.hibernate.search.mapper.pojo.mapping.spi.PojoMappingDelegate;
import org.hibernate.search.mapper.pojo.model.spi.PojoRawTypeIdentifier;
Expand All @@ -64,7 +65,7 @@

public class HibernateOrmMapping extends AbstractPojoMappingImplementor<HibernateOrmMapping>
implements SearchMapping, HibernateOrmMappingContext,
HibernateOrmListenerContextProvider,
HibernateOrmListenerContextProvider, BatchMappingContext,
HibernateOrmScopeMappingContext, HibernateOrmSearchSessionMappingContext {

private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
import org.hibernate.search.mapper.orm.event.impl.HibernateOrmListenerTypeContextProvider;
import org.hibernate.search.mapper.orm.model.impl.HibernateOrmRawTypeIdentifierResolver;
import org.hibernate.search.mapper.orm.session.impl.HibernateOrmSessionTypeContextProvider;
import org.hibernate.search.mapper.orm.spi.BatchTypeIdentifierProvider;
import org.hibernate.search.mapper.pojo.model.spi.PojoRawTypeIdentifier;
import org.hibernate.search.mapper.pojo.model.spi.PojoRawTypeModel;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

class HibernateOrmTypeContextContainer implements HibernateOrmListenerTypeContextProvider, HibernateOrmSessionTypeContextProvider {
class HibernateOrmTypeContextContainer implements HibernateOrmListenerTypeContextProvider,
HibernateOrmSessionTypeContextProvider, BatchTypeIdentifierProvider {

private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.mapper.orm.massindexing.impl.HibernateOrmMassIndexingSessionContext;
import org.hibernate.search.mapper.orm.search.loading.impl.HibernateOrmLoadingSessionContext;
import org.hibernate.search.mapper.orm.spi.BatchSessionContext;

public interface HibernateOrmScopeSessionContext
extends HibernateOrmLoadingSessionContext, HibernateOrmMassIndexingSessionContext {
extends HibernateOrmLoadingSessionContext, HibernateOrmMassIndexingSessionContext, BatchSessionContext {

BackendSessionContext backendSessionContext();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.mapper.orm.spi;

import javax.persistence.EntityManager;

public interface BatchMappingContext {

BatchTypeIdentifierProvider typeContextProvider();

BatchSessionContext sessionContext(EntityManager entityManager);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.mapper.orm.spi;

import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer;

public interface BatchSessionContext {

PojoIndexer createIndexer();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.mapper.orm.spi;

import org.hibernate.search.mapper.pojo.model.spi.PojoRawTypeIdentifier;

public interface BatchTypeIdentifierProvider {

PojoRawTypeIdentifier<?> typeIdentifierForEntityName(String hibernateOrmEntityName);

}

0 comments on commit 8169a98

Please sign in to comment.