Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
834b86f
HSEARCH-3671 Replace the SessionFactory with an EntityManagerFactory …
yrodiere Sep 9, 2019
b7e7e20
HSEARCH-3671 Introduce the SearchMapping interface to represent the O…
yrodiere Sep 9, 2019
0684370
HSEARCH-3671 Rename JavaBeanMapping to SearchMapping and move it to t…
yrodiere Sep 9, 2019
9312c48
HSEARCH-3671 Remove the deprecated SearchScope interfaces
yrodiere Sep 9, 2019
da6a124
HSEARCH-3671 Create utils to convert from Hibernate ORM API (EntityMa…
yrodiere Sep 9, 2019
d8163ac
HSEARCH-3671 Use the mappingContext to retrieve the SessionFactoryImp…
yrodiere Sep 9, 2019
1ba00d2
HSEARCH-3671 Avoid reliance on the scope() methods in SearchSession i…
yrodiere Sep 9, 2019
4d1c8de
HSEARCH-3671 Rename the SessionContextImplementor interface (and simi…
yrodiere Sep 9, 2019
dcb5793
HSEARCH-3671 Make SearchScope session-independent
yrodiere Sep 10, 2019
62f1554
HSEARCH-3671 Remove the need for passing an entity manager to SearchS…
yrodiere Sep 13, 2019
0961e89
HSEARCH-3671 Test the MassIndexer and SearchWriter when created witho…
yrodiere Sep 13, 2019
5469ea4
HSEARCH-3671 Restore the ability to create a SearchScope directly fro…
yrodiere Sep 16, 2019
b22b606
HSEARCH-3671 Replace scope.search(entityManager) with searchSession.s…
yrodiere Sep 17, 2019
0faa1e4
HSEARCH-3671 Fix erroneous documentation about the compatibility of s…
yrodiere Sep 17, 2019
702def1
HSEARCH-3671 Implement stub aggregations
yrodiere Sep 17, 2019
cdb630b
HSEARCH-3671 Test the creation of search components (predicate, sort,…
yrodiere Sep 17, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchSearchPredicateBuilderFactory;
import org.hibernate.search.backend.elasticsearch.search.sort.impl.ElasticsearchSearchSortBuilder;
import org.hibernate.search.backend.elasticsearch.search.sort.impl.ElasticsearchSearchSortBuilderFactory;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.aggregation.dsl.SearchAggregationFactory;
import org.hibernate.search.engine.search.aggregation.dsl.SearchAggregationFactoryExtension;
import org.hibernate.search.engine.search.aggregation.dsl.spi.SearchAggregationDslContext;
Expand Down Expand Up @@ -114,7 +114,7 @@ private ElasticsearchExtension() {
public Optional<ElasticsearchSearchQueryHitTypeStep<R, E>> extendOptional(
SearchQueryHitTypeStep<?, R, E, ?, ?> original,
IndexScope<?> indexScope,
SessionContextImplementor sessionContext,
BackendSessionContext sessionContext,
LoadingContextBuilder<R, E> loadingContextBuilder) {
if ( indexScope instanceof ElasticsearchIndexScope ) {
return Optional.of( new ElasticsearchSearchQueryHitTypeStepImpl<>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@
import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan;
import org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource;
import org.hibernate.search.engine.cfg.spi.ConfigurationProperty;
import org.hibernate.search.engine.mapper.session.context.spi.DetachedSessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext;
import org.hibernate.search.engine.reporting.spi.EventContexts;
import org.hibernate.search.engine.mapper.mapping.context.spi.MappingContextImplementor;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.util.common.impl.SuppressingCloser;
import org.hibernate.search.util.common.reporting.EventContext;
import org.hibernate.search.util.common.impl.Closer;
Expand Down Expand Up @@ -141,7 +141,7 @@ public ElasticsearchIndexModel getModel() {
}

@Override
public IndexWorkPlan<ElasticsearchDocumentObjectBuilder> createWorkPlan(SessionContextImplementor sessionContext,
public IndexWorkPlan<ElasticsearchDocumentObjectBuilder> createWorkPlan(BackendSessionContext sessionContext,
DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) {
// The commit strategy is ignored, because Elasticsearch always commits changes to its transaction log.
return backendContext.createWorkPlan(
Expand All @@ -154,22 +154,22 @@ public IndexWorkPlan<ElasticsearchDocumentObjectBuilder> createWorkPlan(SessionC

@Override
public IndexDocumentWorkExecutor<ElasticsearchDocumentObjectBuilder> createDocumentWorkExecutor(
SessionContextImplementor sessionContext, DocumentCommitStrategy commitStrategy) {
BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) {
// The commit strategy is ignored, because Elasticsearch always commits changes to its transaction log.
return backendContext.createDocumentWorkExecutor(
parallelOrchestrator, elasticsearchIndexName, sessionContext
);
}

@Override
public IndexWorkExecutor createWorkExecutor(DetachedSessionContextImplementor sessionContext) {
public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) {
return backendContext.createWorkExecutor(
parallelOrchestrator, elasticsearchIndexName, sessionContext
);
}

@Override
public IndexScopeBuilder createScopeBuilder(MappingContextImplementor mappingContext) {
public IndexScopeBuilder createScopeBuilder(BackendMappingContext mappingContext) {
return new ElasticsearchIndexScopeBuilder(
backendContext, mappingContext, this
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import org.hibernate.search.backend.elasticsearch.scope.model.impl.ElasticsearchScopeModel;
import org.hibernate.search.backend.elasticsearch.scope.impl.ElasticsearchIndexScope;
import org.hibernate.search.engine.backend.scope.spi.IndexScopeBuilder;
import org.hibernate.search.engine.mapper.mapping.context.spi.MappingContextImplementor;
import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext;
import org.hibernate.search.engine.backend.scope.spi.IndexScope;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

Expand All @@ -26,13 +26,13 @@ class ElasticsearchIndexScopeBuilder implements IndexScopeBuilder {
private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() );

private final IndexManagerBackendContext backendContext;
private final MappingContextImplementor mappingContext;
private final BackendMappingContext mappingContext;

// Use LinkedHashSet to ensure stable order when generating requests
private final Set<ElasticsearchIndexManagerImpl> indexManagers = new LinkedHashSet<>();

ElasticsearchIndexScopeBuilder(IndexManagerBackendContext backendContext,
MappingContextImplementor mappingContext, ElasticsearchIndexManagerImpl indexManager) {
BackendMappingContext mappingContext, ElasticsearchIndexManagerImpl indexManager) {
this.backendContext = backendContext;
this.mappingContext = mappingContext;
this.indexManagers.add( indexManager );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy;
import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor;
import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan;
import org.hibernate.search.engine.mapper.mapping.context.spi.MappingContextImplementor;
import org.hibernate.search.engine.mapper.session.context.spi.DetachedSessionContextImplementor;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext;
import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.loading.context.spi.LoadingContextBuilder;
import org.hibernate.search.util.common.reporting.EventContext;

Expand Down Expand Up @@ -83,7 +83,7 @@ public IndexWorkPlan<ElasticsearchDocumentObjectBuilder> createWorkPlan(
ElasticsearchWorkOrchestrator orchestrator,
URLEncodedString indexName,
DocumentRefreshStrategy refreshStrategy,
SessionContextImplementor sessionContext) {
BackendSessionContext sessionContext) {
multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext );

return new ElasticsearchIndexWorkPlan(
Expand All @@ -98,7 +98,7 @@ public IndexWorkPlan<ElasticsearchDocumentObjectBuilder> createWorkPlan(
public IndexDocumentWorkExecutor<ElasticsearchDocumentObjectBuilder> createDocumentWorkExecutor(
ElasticsearchWorkOrchestrator orchestrator,
URLEncodedString indexName,
SessionContextImplementor sessionContext) {
BackendSessionContext sessionContext) {
multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext );

return new ElasticsearchIndexDocumentWorkExecutor( link.getWorkBuilderFactory(), multiTenancyStrategy, orchestrator,
Expand All @@ -107,7 +107,7 @@ public IndexDocumentWorkExecutor<ElasticsearchDocumentObjectBuilder> createDocum

@Override
public IndexWorkExecutor createWorkExecutor(ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName,
DetachedSessionContextImplementor sessionContext) {
DetachedBackendSessionContext sessionContext) {
multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext );

return new ElasticsearchIndexWorkExecutor(
Expand All @@ -127,7 +127,7 @@ public SearchProjectionBackendContext getSearchProjectionBackendContext() {
}

@Override
public ElasticsearchSearchContext createSearchContext(MappingContextImplementor mappingContext,
public ElasticsearchSearchContext createSearchContext(BackendMappingContext mappingContext,
ElasticsearchScopeModel scopeModel) {
return new ElasticsearchSearchContext(
mappingContext,
Expand All @@ -140,7 +140,7 @@ public ElasticsearchSearchContext createSearchContext(MappingContextImplementor
@Override
public <H> ElasticsearchSearchQueryBuilder<H> createSearchQueryBuilder(
ElasticsearchSearchContext searchContext,
SessionContextImplementor sessionContext,
BackendSessionContext sessionContext,
LoadingContextBuilder<?, ?> loadingContextBuilder,
ElasticsearchSearchProjection<?, H> rootProjection) {
multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.hibernate.search.backend.elasticsearch.search.query.impl.ElasticsearchSearchQueryBuilderFactory;
import org.hibernate.search.backend.elasticsearch.search.query.impl.SearchBackendContext;
import org.hibernate.search.backend.elasticsearch.search.sort.impl.ElasticsearchSearchSortBuilderFactoryImpl;
import org.hibernate.search.engine.mapper.mapping.context.spi.MappingContextImplementor;
import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext;
import org.hibernate.search.engine.backend.scope.spi.IndexScope;
import org.hibernate.search.engine.search.aggregation.spi.SearchAggregationBuilderFactory;

Expand All @@ -30,7 +30,7 @@ public class ElasticsearchIndexScope
private final ElasticsearchSearchQueryBuilderFactory searchQueryFactory;

public ElasticsearchIndexScope(
MappingContextImplementor mappingContext,
BackendMappingContext mappingContext,
SearchBackendContext backendContext,
ElasticsearchScopeModel model) {
ElasticsearchSearchContext searchContext = backendContext.createSearchContext(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.hibernate.search.engine.backend.types.converter.runtime.spi.ToDocumentIdentifierValueConvertContext;
import org.hibernate.search.engine.backend.types.converter.runtime.spi.ToDocumentFieldValueConvertContextImpl;
import org.hibernate.search.engine.backend.types.converter.runtime.spi.ToDocumentIdentifierValueConvertContextImpl;
import org.hibernate.search.engine.mapper.mapping.context.spi.MappingContextImplementor;
import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext;

import com.google.gson.Gson;

Expand All @@ -33,7 +33,7 @@ public final class ElasticsearchSearchContext {
// Targeted indexes
private final ElasticsearchScopeModel scopeModel;

public ElasticsearchSearchContext(MappingContextImplementor mappingContext,
public ElasticsearchSearchContext(BackendMappingContext mappingContext,
Gson userFacingGson, ElasticsearchJsonSyntaxHelper jsonSyntaxHelper,
MultiTenancyStrategy multiTenancyStrategy,
ElasticsearchScopeModel scopeModel) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
*/
package org.hibernate.search.backend.elasticsearch.search.predicate.impl;

import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;

public class ElasticsearchSearchPredicateContext {

private final SessionContextImplementor sessionContext;
private final BackendSessionContext sessionContext;

public ElasticsearchSearchPredicateContext(SessionContextImplementor sessionContext) {
public ElasticsearchSearchPredicateContext(BackendSessionContext sessionContext) {
this.sessionContext = sessionContext;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import org.hibernate.search.backend.elasticsearch.search.impl.ElasticsearchSearchQueryElementCollector;
import org.hibernate.search.backend.elasticsearch.scope.impl.ElasticsearchIndexScope;
import org.hibernate.search.backend.elasticsearch.search.query.impl.ElasticsearchSearchQueryBuilder;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
import org.hibernate.search.engine.search.projection.SearchProjection;
import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep;
Expand All @@ -38,11 +38,11 @@ public class ElasticsearchSearchQueryHitTypeStepImpl<R, E>
implements ElasticsearchSearchQueryHitTypeStep<R, E> {

private final ElasticsearchIndexScope indexScope;
private final SessionContextImplementor sessionContext;
private final BackendSessionContext sessionContext;
private final LoadingContextBuilder<R, E> loadingContextBuilder;

public ElasticsearchSearchQueryHitTypeStepImpl(ElasticsearchIndexScope indexScope,
SessionContextImplementor sessionContext,
BackendSessionContext sessionContext,
LoadingContextBuilder<R, E> loadingContextBuilder) {
this.indexScope = indexScope;
this.sessionContext = sessionContext;
Expand Down Expand Up @@ -103,7 +103,7 @@ protected ElasticsearchIndexScope getIndexScope() {
}

@Override
protected SessionContextImplementor getSessionContext() {
protected BackendSessionContext getSessionContext() {
return sessionContext;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.hibernate.search.backend.elasticsearch.search.query.ElasticsearchSearchQuery;
import org.hibernate.search.backend.elasticsearch.work.builder.factory.impl.ElasticsearchWorkBuilderFactory;
import org.hibernate.search.backend.elasticsearch.work.impl.ElasticsearchSearchResultExtractor;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.aggregation.AggregationKey;
import org.hibernate.search.engine.search.loading.context.spi.LoadingContext;
import org.hibernate.search.engine.search.loading.context.spi.LoadingContextBuilder;
Expand All @@ -50,7 +50,7 @@ public class ElasticsearchSearchQueryBuilder<H>
private final MultiTenancyStrategy multiTenancyStrategy;

private final ElasticsearchSearchContext searchContext;
private final SessionContextImplementor sessionContext;
private final BackendSessionContext sessionContext;

private final ElasticsearchSearchPredicateContext rootPredicateContext;
private final LoadingContextBuilder<?, ?> loadingContextBuilder;
Expand All @@ -68,7 +68,7 @@ public ElasticsearchSearchQueryBuilder(
ElasticsearchWorkOrchestrator queryOrchestrator,
MultiTenancyStrategy multiTenancyStrategy,
ElasticsearchSearchContext searchContext,
SessionContextImplementor sessionContext,
BackendSessionContext sessionContext,
LoadingContextBuilder<?, ?> loadingContextBuilder,
ElasticsearchSearchProjection<?, H> rootProjection) {
this.workFactory = workFactory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import org.hibernate.search.backend.elasticsearch.search.projection.impl.ElasticsearchEntityReferenceProjection;
import org.hibernate.search.backend.elasticsearch.search.projection.impl.ElasticsearchSearchProjection;
import org.hibernate.search.backend.elasticsearch.search.projection.impl.ElasticsearchSearchProjectionBuilderFactory;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.projection.SearchProjection;
import org.hibernate.search.engine.search.loading.context.spi.LoadingContextBuilder;
import org.hibernate.search.engine.search.query.spi.SearchQueryBuilderFactory;
Expand All @@ -40,7 +40,7 @@ public ElasticsearchSearchQueryBuilderFactory(SearchBackendContext searchBackend

@Override
public <E> ElasticsearchSearchQueryBuilder<E> asEntity(
SessionContextImplementor sessionContext, LoadingContextBuilder<?, E> loadingContextBuilder) {
BackendSessionContext sessionContext, LoadingContextBuilder<?, E> loadingContextBuilder) {
return createSearchQueryBuilder(
sessionContext, loadingContextBuilder,
new ElasticsearchEntityProjection<>( searchContext.getHibernateSearchIndexNames(), searchBackendContext.getDocumentReferenceExtractorHelper() )
Expand All @@ -49,7 +49,7 @@ public <E> ElasticsearchSearchQueryBuilder<E> asEntity(

@Override
public <R> ElasticsearchSearchQueryBuilder<R> asReference(
SessionContextImplementor sessionContext, LoadingContextBuilder<R, ?> loadingContextBuilder) {
BackendSessionContext sessionContext, LoadingContextBuilder<R, ?> loadingContextBuilder) {
return createSearchQueryBuilder(
sessionContext, loadingContextBuilder,
new ElasticsearchEntityReferenceProjection<>( searchContext.getHibernateSearchIndexNames(), searchBackendContext.getDocumentReferenceExtractorHelper() )
Expand All @@ -58,7 +58,7 @@ public <R> ElasticsearchSearchQueryBuilder<R> asReference(

@Override
public <P> ElasticsearchSearchQueryBuilder<P> asProjection(
SessionContextImplementor sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
BackendSessionContext sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
SearchProjection<P> projection) {
return createSearchQueryBuilder(
sessionContext, loadingContextBuilder,
Expand All @@ -68,7 +68,7 @@ public <P> ElasticsearchSearchQueryBuilder<P> asProjection(

@Override
public ElasticsearchSearchQueryBuilder<List<?>> asProjections(
SessionContextImplementor sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
BackendSessionContext sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
SearchProjection<?>... projections) {
return createSearchQueryBuilder( sessionContext, loadingContextBuilder, createRootProjection( projections ) );
}
Expand All @@ -84,7 +84,7 @@ private ElasticsearchSearchProjection<?, List<?>> createRootProjection(SearchPro
}

private <H> ElasticsearchSearchQueryBuilder<H> createSearchQueryBuilder(
SessionContextImplementor sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
BackendSessionContext sessionContext, LoadingContextBuilder<?, ?> loadingContextBuilder,
ElasticsearchSearchProjection<?, H> rootProjection) {
return searchBackendContext.createSearchQueryBuilder(
searchContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.hibernate.search.backend.elasticsearch.search.projection.impl.SearchProjectionTransformContext;
import org.hibernate.search.engine.backend.types.converter.runtime.FromDocumentFieldValueConvertContext;
import org.hibernate.search.engine.backend.types.converter.runtime.spi.FromDocumentFieldValueConvertContextImpl;
import org.hibernate.search.engine.mapper.session.context.spi.SessionContextImplementor;
import org.hibernate.search.engine.backend.session.spi.BackendSessionContext;
import org.hibernate.search.engine.search.loading.spi.ProjectionHitMapper;

import com.google.gson.JsonObject;
Expand All @@ -29,7 +29,7 @@ class ElasticsearchSearchQueryExtractContext implements AggregationExtractContex
private final JsonObject responseBody;

ElasticsearchSearchQueryExtractContext(ElasticsearchSearchQueryRequestContext requestContext,
SessionContextImplementor sessionContext,
BackendSessionContext sessionContext,
ProjectionHitMapper<?, ?> projectionHitMapper,
JsonObject responseBody) {
this.requestContext = requestContext;
Expand Down
Loading