Skip to content

Commit

Permalink
HSEARCH-4806 Remove with-parameters predicate trait
Browse files Browse the repository at this point in the history
  • Loading branch information
marko-bekhta committed May 7, 2024
1 parent 0c061ac commit d35863f
Show file tree
Hide file tree
Showing 12 changed files with 48 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.hibernate.search.engine.search.predicate.spi.QueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateBuilderFactory;
import org.hibernate.search.engine.search.predicate.spi.SimpleQueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WithParametersPredicateBuilder;

import com.google.gson.JsonObject;

Expand Down Expand Up @@ -55,6 +56,11 @@ public QueryStringPredicateBuilder queryString() {
return new ElasticsearchQueryStringPredicate.Builder( scope );
}

@Override
public WithParametersPredicateBuilder withParameters() {
return new ElasticsearchWithParametersPredicate.Builder( scope );
}

public ElasticsearchSearchPredicate fromJson(JsonObject jsonObject) {
return new ElasticsearchUserProvidedJsonPredicate( scope, jsonObject );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

import java.util.function.Function;

import org.hibernate.search.backend.elasticsearch.search.common.impl.AbstractElasticsearchCompositeNodeSearchQueryElementFactory;
import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexCompositeNodeContext;
import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexScope;
import org.hibernate.search.engine.search.common.NamedValues;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
Expand All @@ -18,7 +16,7 @@

import com.google.gson.JsonObject;

public class ElasticsearchWithParametersPredicate extends AbstractElasticsearchSingleFieldPredicate {
public class ElasticsearchWithParametersPredicate extends AbstractElasticsearchPredicate {

private final ElasticsearchSearchIndexScope<?> scope;
private final Function<? super NamedValues, ? extends PredicateFinalStep> predicateCreator;
Expand All @@ -39,22 +37,16 @@ protected JsonObject doToJsonQuery(PredicateRequestContext context, JsonObject o
return providedPredicate.toJsonQuery( context );
}

public static class Factory
extends AbstractElasticsearchCompositeNodeSearchQueryElementFactory<WithParametersPredicateBuilder> {
public static final Factory INSTANCE = new Factory();

@Override
public WithParametersPredicateBuilder create(ElasticsearchSearchIndexScope<?> scope,
ElasticsearchSearchIndexCompositeNodeContext node) {
return new Builder( scope, node );
}
@Override
public void checkNestableWithin(PredicateNestingContext context) {
// do nothing; We'll check it in to-query method.
}

private static class Builder extends AbstractBuilder implements WithParametersPredicateBuilder {
public static class Builder extends AbstractBuilder implements WithParametersPredicateBuilder {
private Function<? super NamedValues, ? extends PredicateFinalStep> predicateCreator;

Builder(ElasticsearchSearchIndexScope<?> scope, ElasticsearchSearchIndexCompositeNodeContext node) {
super( scope, node );
Builder(ElasticsearchSearchIndexScope<?> scope) {
super( scope );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import org.hibernate.search.backend.elasticsearch.search.common.impl.ElasticsearchSearchIndexScope;
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchExistsPredicate;
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchNestedPredicate;
import org.hibernate.search.backend.elasticsearch.search.predicate.impl.ElasticsearchWithParametersPredicate;
import org.hibernate.search.backend.elasticsearch.search.projection.impl.ElasticsearchObjectProjection;
import org.hibernate.search.engine.backend.types.ObjectStructure;
import org.hibernate.search.engine.backend.types.spi.AbstractIndexCompositeNodeType;
Expand Down Expand Up @@ -45,7 +44,6 @@ public static class Builder
public Builder(ObjectStructure objectStructure) {
super( objectStructure );
queryElementFactory( PredicateTypeKeys.EXISTS, new ElasticsearchExistsPredicate.ObjectFieldFactory() );
queryElementFactory( PredicateTypeKeys.WITH_PARAMETERS, ElasticsearchWithParametersPredicate.Factory.INSTANCE );
queryElementFactory( ProjectionTypeKeys.OBJECT, new ElasticsearchObjectProjection.Factory() );
if ( ObjectStructure.NESTED.equals( objectStructure ) ) {
queryElementFactory( PredicateTypeKeys.NESTED, new ElasticsearchNestedPredicate.Factory() );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.hibernate.search.engine.search.predicate.spi.QueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateBuilderFactory;
import org.hibernate.search.engine.search.predicate.spi.SimpleQueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WithParametersPredicateBuilder;

import org.apache.lucene.search.Query;

Expand Down Expand Up @@ -55,6 +56,11 @@ public QueryStringPredicateBuilder queryString() {
return new LuceneQueryStringPredicate.Builder( scope );
}

@Override
public WithParametersPredicateBuilder withParameters() {
return new LuceneWithParametersPredicate.Builder( scope );
}

public LuceneSearchPredicate fromLuceneQuery(Query query) {
return new LuceneUserProvidedLuceneQueryPredicate( scope, query );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

import java.util.function.Function;

import org.hibernate.search.backend.lucene.search.common.impl.AbstractLuceneCompositeNodeSearchQueryElementFactory;
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexCompositeNodeContext;
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexScope;
import org.hibernate.search.engine.search.common.NamedValues;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
Expand All @@ -18,7 +16,7 @@

import org.apache.lucene.search.Query;

public class LuceneWithParametersPredicate extends AbstractLuceneSingleFieldPredicate {
public class LuceneWithParametersPredicate extends AbstractLuceneSearchPredicate {

private final LuceneSearchIndexScope<?> scope;
private final Function<? super NamedValues, ? extends PredicateFinalStep> predicateCreator;
Expand All @@ -38,22 +36,16 @@ protected Query doToQuery(PredicateRequestContext context) {
return providedPredicate.toQuery( context );
}

public static class Factory extends AbstractLuceneCompositeNodeSearchQueryElementFactory<WithParametersPredicateBuilder> {

public static final Factory INSTANCE = new Factory();

@Override
public WithParametersPredicateBuilder create(LuceneSearchIndexScope<?> scope,
LuceneSearchIndexCompositeNodeContext node) {
return new Builder( scope, node );
}
@Override
public void checkNestableWithin(String expectedParentNestedPath) {
// do nothing; We'll check it in to-query method.
}

private static class Builder extends AbstractBuilder implements WithParametersPredicateBuilder {
public static class Builder extends AbstractBuilder implements WithParametersPredicateBuilder {
private Function<? super NamedValues, ? extends PredicateFinalStep> predicateCreator;

Builder(LuceneSearchIndexScope<?> scope, LuceneSearchIndexCompositeNodeContext node) {
super( scope, node );
Builder(LuceneSearchIndexScope<?> scope) {
super( scope );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexCompositeNodeTypeContext;
import org.hibernate.search.backend.lucene.search.common.impl.LuceneSearchIndexScope;
import org.hibernate.search.backend.lucene.search.predicate.impl.LuceneNestedPredicate;
import org.hibernate.search.backend.lucene.search.predicate.impl.LuceneWithParametersPredicate;
import org.hibernate.search.backend.lucene.search.projection.impl.LuceneObjectProjection;
import org.hibernate.search.backend.lucene.types.predicate.impl.LuceneObjectExistsPredicate;
import org.hibernate.search.engine.backend.types.ObjectStructure;
Expand All @@ -36,7 +35,6 @@ public Builder(ObjectStructure objectStructure) {
super( objectStructure );
queryElementFactory( PredicateTypeKeys.EXISTS, LuceneObjectExistsPredicate.Factory.INSTANCE );
queryElementFactory( ProjectionTypeKeys.OBJECT, new LuceneObjectProjection.Factory() );
queryElementFactory( PredicateTypeKeys.WITH_PARAMETERS, LuceneWithParametersPredicate.Factory.INSTANCE );
if ( ObjectStructure.NESTED.equals( objectStructure ) ) {
queryElementFactory( PredicateTypeKeys.NESTED, LuceneNestedPredicate.Factory.INSTANCE );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ public static String named(String name) {
public static final String KNN = "predicate:knn";
public static final String MATCH = "predicate:match";
public static final String NESTED = "predicate:nested";
public static final String WITH_PARAMETERS = "predicate:with_parameters";
public static final String PHRASE = "predicate:phrase";
public static final String RANGE = "predicate:range";
public static final String QUERY_STRING = "predicate:query-string";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@
import java.util.function.Function;

import org.hibernate.search.engine.search.common.NamedValues;
import org.hibernate.search.engine.search.common.spi.SearchIndexScope;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep;
import org.hibernate.search.engine.search.predicate.dsl.spi.AbstractPredicateFinalStep;
import org.hibernate.search.engine.search.predicate.dsl.spi.SearchPredicateDslContext;
import org.hibernate.search.engine.search.predicate.spi.PredicateTypeKeys;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateIndexScope;
import org.hibernate.search.engine.search.predicate.spi.WithParametersPredicateBuilder;

public class WithParametersPredicateFinalStep extends AbstractPredicateFinalStep {
Expand All @@ -24,8 +23,8 @@ public class WithParametersPredicateFinalStep extends AbstractPredicateFinalStep
public WithParametersPredicateFinalStep(SearchPredicateDslContext<?> dslContext,
Function<? super NamedValues, ? extends PredicateFinalStep> predicateCreator) {
super( dslContext );
SearchIndexScope<?> scope = dslContext.scope();
this.builder = scope.rootQueryElement( PredicateTypeKeys.WITH_PARAMETERS );
SearchPredicateIndexScope<?> scope = dslContext.scope();
this.builder = scope.predicateBuilders().withParameters();
builder.creator( predicateCreator );
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ public static SearchQueryElementTypeKey<NamedPredicateBuilder> named(String name
public static final SearchQueryElementTypeKey<MatchPredicateBuilder> MATCH = of( IndexFieldTraits.Predicates.MATCH );
public static final SearchQueryElementTypeKey<RangePredicateBuilder> RANGE = of( IndexFieldTraits.Predicates.RANGE );
public static final SearchQueryElementTypeKey<ExistsPredicateBuilder> EXISTS = of( IndexFieldTraits.Predicates.EXISTS );
public static final SearchQueryElementTypeKey<WithParametersPredicateBuilder> WITH_PARAMETERS =
of( IndexFieldTraits.Predicates.WITH_PARAMETERS );
public static final SearchQueryElementTypeKey<PhrasePredicateBuilder> PHRASE = of( IndexFieldTraits.Predicates.PHRASE );
public static final SearchQueryElementTypeKey<WildcardPredicateBuilder> WILDCARD =
of( IndexFieldTraits.Predicates.WILDCARD );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ public interface SearchPredicateBuilderFactory {
SimpleQueryStringPredicateBuilder simpleQueryString();

QueryStringPredicateBuilder queryString();

WithParametersPredicateBuilder withParameters();
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@

import java.util.Collection;
import java.util.Set;
import java.util.function.Function;

import org.hibernate.search.engine.search.common.BooleanOperator;
import org.hibernate.search.engine.search.common.NamedValues;
import org.hibernate.search.engine.search.common.RewriteMethod;
import org.hibernate.search.engine.search.common.ValueConvert;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep;
import org.hibernate.search.engine.search.predicate.dsl.RegexpQueryFlag;
import org.hibernate.search.engine.search.predicate.dsl.SearchPredicateFactory;
import org.hibernate.search.engine.search.predicate.dsl.SimpleQueryFlag;
Expand All @@ -35,6 +38,7 @@
import org.hibernate.search.engine.search.predicate.spi.SpatialWithinPolygonPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.TermsPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WildcardPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WithParametersPredicateBuilder;
import org.hibernate.search.engine.spatial.DistanceUnit;
import org.hibernate.search.engine.spatial.GeoBoundingBox;
import org.hibernate.search.engine.spatial.GeoPoint;
Expand Down Expand Up @@ -309,4 +313,11 @@ public void boost(float boost) {
// No-op
}
}

public static class WithParametersBuilder extends Builder implements WithParametersPredicateBuilder {
@Override
public void creator(Function<? super NamedValues, ? extends PredicateFinalStep> predicateDefinition) {
// No-op
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.hibernate.search.engine.search.predicate.spi.QueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.SearchPredicateBuilderFactory;
import org.hibernate.search.engine.search.predicate.spi.SimpleQueryStringPredicateBuilder;
import org.hibernate.search.engine.search.predicate.spi.WithParametersPredicateBuilder;

public class StubSearchPredicateBuilderFactory
implements SearchPredicateBuilderFactory {
Expand Down Expand Up @@ -47,4 +48,9 @@ public QueryStringPredicateBuilder queryString() {
return new StubSearchPredicate.QueryStringBuilder();
}

@Override
public WithParametersPredicateBuilder withParameters() {
return new StubSearchPredicate.WithParametersBuilder();
}

}

0 comments on commit d35863f

Please sign in to comment.