Skip to content

Commit

Permalink
HSEARCH-4217 Remove a few unnecessary interfaces in backends
Browse files Browse the repository at this point in the history
  • Loading branch information
yrodiere committed Jun 14, 2021
1 parent 271c0db commit a0e6179
Show file tree
Hide file tree
Showing 10 changed files with 151 additions and 233 deletions.
Expand Up @@ -11,11 +11,11 @@
import org.hibernate.search.backend.elasticsearch.document.model.impl.ElasticsearchIndexModel;
import org.hibernate.search.backend.elasticsearch.search.aggregation.impl.ElasticsearchSearchAggregationBuilderFactory;
import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexScope;
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchSearchPredicateBuilderFactoryImpl;
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchSearchPredicateBuilderFactory;
import org.hibernate.search.backend.elasticsearch.search.projection.impl.ElasticsearchSearchProjectionBuilderFactory;
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.backend.elasticsearch.search.sort.impl.ElasticsearchSearchSortBuilderFactory;
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 @@ -25,17 +25,17 @@ public class ElasticsearchIndexScope
implements IndexScope {

private final ElasticsearchSearchIndexScope searchScope;
private final ElasticsearchSearchPredicateBuilderFactoryImpl searchPredicateFactory;
private final ElasticsearchSearchSortBuilderFactoryImpl searchSortFactory;
private final ElasticsearchSearchPredicateBuilderFactory searchPredicateFactory;
private final ElasticsearchSearchSortBuilderFactory searchSortFactory;
private final ElasticsearchSearchProjectionBuilderFactory searchProjectionFactory;
private final ElasticsearchSearchAggregationBuilderFactory searchAggregationFactory;
private final ElasticsearchSearchQueryBuilderFactory searchQueryFactory;

public ElasticsearchIndexScope(BackendMappingContext mappingContext, SearchBackendContext backendContext,
Set<ElasticsearchIndexModel> indexModels) {
this.searchScope = backendContext.createSearchContext( mappingContext, indexModels );
this.searchPredicateFactory = new ElasticsearchSearchPredicateBuilderFactoryImpl( searchScope );
this.searchSortFactory = new ElasticsearchSearchSortBuilderFactoryImpl( searchScope );
this.searchPredicateFactory = new ElasticsearchSearchPredicateBuilderFactory( searchScope );
this.searchSortFactory = new ElasticsearchSearchSortBuilderFactory( searchScope );
this.searchProjectionFactory = new ElasticsearchSearchProjectionBuilderFactory(
backendContext.getSearchProjectionBackendContext(), searchScope
);
Expand All @@ -57,12 +57,12 @@ public SearchIndexScope searchScope() {
}

@Override
public ElasticsearchSearchPredicateBuilderFactoryImpl searchPredicateBuilderFactory() {
public ElasticsearchSearchPredicateBuilderFactory searchPredicateBuilderFactory() {
return searchPredicateFactory;
}

@Override
public ElasticsearchSearchSortBuilderFactoryImpl searchSortBuilderFactory() {
public ElasticsearchSearchSortBuilderFactory searchSortBuilderFactory() {
return searchSortFactory;
}

Expand Down
Expand Up @@ -6,15 +6,48 @@
*/
package org.hibernate.search.backend.elasticsearch.search.predicate.impl;

import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexScope;
import org.hibernate.search.engine.search.predicate.spi.BooleanPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.MatchAllPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.MatchIdPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateBuilderFactory;
import org.hibernate.search.engine.search.predicate.spi.SimpleQueryStringPredicateBuilder;

import com.google.gson.JsonObject;

public interface ElasticsearchSearchPredicateBuilderFactory
extends SearchPredicateBuilderFactory {
public class ElasticsearchSearchPredicateBuilderFactory implements SearchPredicateBuilderFactory {

ElasticsearchSearchPredicate fromJson(JsonObject jsonObject);
private final ElasticsearchSearchIndexScope scope;

ElasticsearchSearchPredicate fromJson(String jsonString);
public ElasticsearchSearchPredicateBuilderFactory(ElasticsearchSearchIndexScope scope) {
this.scope = scope;
}

@Override
public MatchAllPredicateBuilder matchAll() {
return new ElasticsearchMatchAllPredicate.Builder( scope );
}

@Override
public MatchIdPredicateBuilder id() {
return new ElasticsearchMatchIdPredicate.Builder( scope );
}

@Override
public BooleanPredicateBuilder bool() {
return new ElasticsearchBooleanPredicate.Builder( scope );
}

@Override
public SimpleQueryStringPredicateBuilder simpleQueryString() {
return new ElasticsearchSimpleQueryStringPredicate.Builder( scope );
}

public ElasticsearchSearchPredicate fromJson(JsonObject jsonObject) {
return new ElasticsearchUserProvidedJsonPredicate( scope, jsonObject );
}

public ElasticsearchSearchPredicate fromJson(String jsonString) {
return fromJson( scope.userFacingGson().fromJson( jsonString, JsonObject.class ) );
}
}

This file was deleted.

Expand Up @@ -6,15 +6,42 @@
*/
package org.hibernate.search.backend.elasticsearch.search.sort.impl;

import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexScope;
import org.hibernate.search.engine.search.sort.SearchSort;
import org.hibernate.search.engine.search.sort.spi.CompositeSortBuilder;
import org.hibernate.search.engine.search.sort.spi.ScoreSortBuilder;
import org.hibernate.search.engine.search.sort.spi.SearchSortBuilderFactory;

import com.google.gson.JsonObject;

public interface ElasticsearchSearchSortBuilderFactory
extends SearchSortBuilderFactory {
public class ElasticsearchSearchSortBuilderFactory implements SearchSortBuilderFactory {

ElasticsearchSearchSort fromJson(JsonObject jsonObject);
private final ElasticsearchSearchIndexScope scope;

ElasticsearchSearchSort fromJson(String jsonString);
public ElasticsearchSearchSortBuilderFactory(ElasticsearchSearchIndexScope scope) {
this.scope = scope;
}

@Override
public ScoreSortBuilder score() {
return new ElasticsearchScoreSort.Builder( scope );
}

@Override
public SearchSort indexOrder() {
return new ElasticsearchIndexOrderSort( scope );
}

@Override
public CompositeSortBuilder composite() {
return new ElasticsearchCompositeSort.Builder( scope );
}

public ElasticsearchSearchSort fromJson(JsonObject jsonObject) {
return new ElasticsearchUserProvidedJsonSort( scope, jsonObject );
}

public ElasticsearchSearchSort fromJson(String jsonString) {
return fromJson( scope.userFacingGson().fromJson( jsonString, JsonObject.class ) );
}
}

This file was deleted.

Expand Up @@ -15,11 +15,11 @@
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexContext;
import org.hibernate.search.backend.lucene.search.aggregation.impl.LuceneSearchAggregationBuilderFactory;
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexScope;
import org.hibernate.search.backend.lucene.search.predicate.impl.LuceneSearchPredicateBuilderFactoryImpl;
import org.hibernate.search.backend.lucene.search.predicate.impl.LuceneSearchPredicateBuilderFactory;
import org.hibernate.search.backend.lucene.search.projection.impl.LuceneSearchProjectionBuilderFactory;
import org.hibernate.search.backend.lucene.search.query.impl.LuceneSearchQueryBuilderFactory;
import org.hibernate.search.backend.lucene.search.query.impl.SearchBackendContext;
import org.hibernate.search.backend.lucene.search.sort.impl.LuceneSearchSortBuilderFactoryImpl;
import org.hibernate.search.backend.lucene.search.sort.impl.LuceneSearchSortBuilderFactory;
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 @@ -31,8 +31,8 @@ public class LuceneIndexScopeImpl
implements IndexScope, LuceneIndexScope {

private final LuceneSearchIndexScope searchScope;
private final LuceneSearchPredicateBuilderFactoryImpl searchPredicateFactory;
private final LuceneSearchSortBuilderFactoryImpl searchSortFactory;
private final LuceneSearchPredicateBuilderFactory searchPredicateFactory;
private final LuceneSearchSortBuilderFactory searchSortFactory;
private final LuceneSearchQueryBuilderFactory searchQueryFactory;
private final LuceneSearchProjectionBuilderFactory searchProjectionFactory;
private final LuceneSearchAggregationBuilderFactory searchAggregationFactory;
Expand All @@ -41,8 +41,8 @@ public LuceneIndexScopeImpl(SearchBackendContext backendContext,
BackendMappingContext mappingContext,
Set<? extends LuceneScopeIndexManagerContext> indexManagerContexts) {
this.searchScope = backendContext.createSearchContext( mappingContext, indexManagerContexts );
this.searchPredicateFactory = new LuceneSearchPredicateBuilderFactoryImpl( searchScope );
this.searchSortFactory = new LuceneSearchSortBuilderFactoryImpl( searchScope );
this.searchPredicateFactory = new LuceneSearchPredicateBuilderFactory( searchScope );
this.searchSortFactory = new LuceneSearchSortBuilderFactory( searchScope );
this.searchProjectionFactory = new LuceneSearchProjectionBuilderFactory( searchScope );
this.searchAggregationFactory = new LuceneSearchAggregationBuilderFactory( searchScope );
this.searchQueryFactory = new LuceneSearchQueryBuilderFactory( backendContext, searchScope, this.searchProjectionFactory );
Expand All @@ -59,12 +59,12 @@ public LuceneSearchIndexScope searchScope() {
}

@Override
public LuceneSearchPredicateBuilderFactoryImpl searchPredicateBuilderFactory() {
public LuceneSearchPredicateBuilderFactory searchPredicateBuilderFactory() {
return searchPredicateFactory;
}

@Override
public LuceneSearchSortBuilderFactoryImpl searchSortBuilderFactory() {
public LuceneSearchSortBuilderFactory searchSortBuilderFactory() {
return searchSortFactory;
}

Expand Down
Expand Up @@ -6,13 +6,45 @@
*/
package org.hibernate.search.backend.lucene.search.predicate.impl;

import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexScope;
import org.hibernate.search.engine.search.predicate.spi.BooleanPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.MatchAllPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.MatchIdPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateBuilderFactory;
import org.hibernate.search.engine.search.predicate.spi.SimpleQueryStringPredicateBuilder;

import org.apache.lucene.search.Query;

public interface LuceneSearchPredicateBuilderFactory
extends SearchPredicateBuilderFactory {

LuceneSearchPredicate fromLuceneQuery(Query luceneQuery);
public class LuceneSearchPredicateBuilderFactory implements SearchPredicateBuilderFactory {

private final LuceneSearchIndexScope scope;

public LuceneSearchPredicateBuilderFactory(LuceneSearchIndexScope scope) {
this.scope = scope;
}

@Override
public MatchAllPredicateBuilder matchAll() {
return new LuceneMatchAllPredicate.Builder( scope );
}

@Override
public MatchIdPredicateBuilder id() {
return new LuceneMatchIdPredicate.Builder( scope );
}

@Override
public BooleanPredicateBuilder bool() {
return new LuceneBooleanPredicate.Builder( scope );
}

@Override
public SimpleQueryStringPredicateBuilder simpleQueryString() {
return new LuceneSimpleQueryStringPredicate.Builder( scope );
}

public LuceneSearchPredicate fromLuceneQuery(Query query) {
return new LuceneUserProvidedLuceneQueryPredicate( scope, query );
}
}

0 comments on commit a0e6179

Please sign in to comment.