[hibernate-commits] [hibernate/hibernate-search] 9a78f1: HSEARCH-3591 Expect a function as parameter for Se...

Yoann Rodière noreply at github.com
Fri Jun 7 09:20:48 EDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: 9a78f171462bab81e0b678fc3c2ee51cdbecd910
      https://github.com/hibernate/hibernate-search/commit/9a78f171462bab81e0b678fc3c2ee51cdbecd910
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/SearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractSearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortContainerExtensionContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortContainerExtensionContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortDslContextImpl.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchDocumentRepositoryImpl.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchLibraryRepositoryImpl.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchPersonRepositoryImpl.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/scope/SearchScope.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java

  Log Message:
  -----------
  HSEARCH-3591 Expect a function as parameter for SearchQueryContext#sort

For consistency with SearchQueryResultContext#predicate(Function<? super PDC,SearchPredicateTerminalContext>)
and SearchQueryResultDefinitionContext#asProjection(Function<? super PJC,? extends SearchProjectionTerminalContext<P>>).


  Commit: e7c3d8e120e979c3b5d540ea99bee4c3bd8a4e97
      https://github.com/hibernate/hibernate-search/commit/e7c3d8e120e979c3b5d540ea99bee4c3bd8a4e97
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/query/impl/ElasticsearchSearchQueryResultDefinitionContextImpl.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/query/impl/LuceneSearchQueryResultDefinitionContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/SearchQueryResultContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/impl/DefaultSearchQueryResultDefinitionContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractDelegatingSearchQueryResultDefinitionContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractSearchQueryContext.java

  Log Message:
  -----------
  HSEARCH-3591 Add a missing wildcard to the parameter type of SearchQueryResultContext.predicate(Function)

For consistency with all the other, similar methods, such as
NestedPredicateFieldContext#nest(Function<? super SearchPredicateFactoryContext,? extends SearchPredicateTerminalContext>).


  Commit: 7e92a3143ad19d63887442dcc760eec900fac385
      https://github.com/hibernate/hibernate-search/commit/7e92a3143ad19d63887442dcc760eec900fac385
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractSearchQueryContext.java

  Log Message:
  -----------
  HSEARCH-3591 Use the object returned by the function instead of internal DSL state in SearchQueryContext#sort(Function)

This is the first step to making the *structure* of sorts immutable in
the Sort DSL.


  Commit: 19cbd9cba6aa61ef61f09c5370564e15f77c3e10
      https://github.com/hibernate/hibernate-search/commit/19cbd9cba6aa61ef61f09c5370564e15f77c3e10
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/ElasticsearchExtension.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/sort/impl/ElasticsearchSearchSortContainerContextImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/ElasticsearchSearchSortBuilderFactoryImpl.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/LuceneExtension.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/sort/impl/LuceneSearchSortContainerContextImpl.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/sort/impl/LuceneSearchSort.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/sort/impl/LuceneSearchSortBuilderFactoryImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexScopeImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractSearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortContainerContextExtension.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/DefaultSearchSortContainerContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/DistanceSortContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/FieldSortContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/ScoreSortContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortContainerExtensionContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortDslContextImpl.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/AbstractNonEmptySortContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/NonEmptySortContextImpl.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/SearchSortContributor.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/SearchSortDslContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/StaticNonEmptySortContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/StaticSearchSortContributor.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/SearchSortBuilderFactory.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/sort/StubSearchSort.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/sort/StubSearchSortBuilderFactory.java

  Log Message:
  -----------
  HSEARCH-3591 Simplify SearchSortDslContext and its uses

Now that we don't rely on getResultingBuilders() to contribute sorts to
the query, we can remove a lot of complexity, in particular the concept
of SearchSortContributor which isn't necessary anymore.

This also brings the sort DSL closer to the predicate and projection
DSLs.


  Commit: 198acefb5413a7b57a8befc2aa3c2ac375128865
      https://github.com/hibernate/hibernate-search/commit/198acefb5413a7b57a8befc2aa3c2ac375128865
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/ElasticsearchExtension.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/query/ElasticsearchSearchQueryContext.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/query/impl/ElasticsearchSearchQueryContextImpl.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/sort/ElasticsearchSearchSortContainerContext.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/sort/ElasticsearchSearchSortFactoryContext.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/sort/impl/ElasticsearchSearchSortContainerContextImpl.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/dsl/sort/impl/ElasticsearchSearchSortFactoryContextImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/ElasticsearchIndexFieldTypeFactoryContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/LuceneExtension.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/query/LuceneSearchQueryContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/query/impl/LuceneSearchQueryContextImpl.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/sort/LuceneSearchSortContainerContext.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/sort/LuceneSearchSortFactoryContext.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/sort/impl/LuceneSearchSortContainerContextImpl.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/dsl/sort/impl/LuceneSearchSortFactoryContextImpl.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/LuceneIndexFieldTypeFactoryContext.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexScopeImpl.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/scope/spi/MappedIndexScope.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/SearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/impl/DefaultSearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractExtendedSearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/query/spi/AbstractSearchQueryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/NonEmptySortContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortContainerContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortContainerContextExtension.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortContainerExtensionContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortFactoryContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortFactoryContextExtension.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortFactoryExtensionContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/DefaultSearchSortContainerContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/DefaultSearchSortFactoryContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortContainerExtensionContextImpl.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/SearchSortFactoryExtensionContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/AbstractNonEmptySortContext.java
    R engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/DelegatingSearchSortContainerContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/DelegatingSearchSortFactoryContext.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/scope/SearchScope.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/scope/impl/SearchScopeImpl.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/impl/SearchScopeImpl.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoScopeDelegateImpl.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/spi/PojoScopeDelegate.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/GenericStubMappingScope.java

  Log Message:
  -----------
  HSEARCH-3591 Rename SearchSortContainerContext to SearchSortFactoryContext

For consistency with the other DSLs, and because this name is now more
fitting as the "factory context" is no longer mutable (you can't add
sorts to it, you can just create other contexts that are based on it).


  Commit: a31a1c5fed9fecd9b856b5c5f5ec43ee762048fa
      https://github.com/hibernate/hibernate-search/commit/a31a1c5fed9fecd9b856b5c5f5ec43ee762048fa
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/ElasticsearchExtensionIT.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchMultiIndexIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/SearchMultiIndexIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/BoolSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PhraseSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/RangeSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SimpleQueryStringSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/WildcardSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/SearchProjectionIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/DistanceSearchProjectionIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinBoundingBoxSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinCircleSearchPredicateIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinPolygonSearchPredicateIT.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchDocumentRepositoryImpl.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchLibraryRepositoryImpl.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchPersonRepositoryImpl.java

  Log Message:
  -----------
  HSEARCH-3591 Use "f" as a parameter name for lambdas passed to .sort(Function) in tests

Since we renamed the type from container to factory, that makes more
sense. Plus, it's consistent with what we do for projections and
predicates.


  Commit: 3c7d7a6ffeaf644183840cd985b4d9b4be229d10
      https://github.com/hibernate/hibernate-search/commit/3c7d7a6ffeaf644183840cd985b4d9b4be229d10
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-06-07 (Fri, 07 Jun 2019)

  Changed paths:
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/CompositeSortContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/SearchSortFactoryContext.java
    A engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/CompositeSortContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/impl/DefaultSearchSortFactoryContext.java
    M engine/src/main/java/org/hibernate/search/engine/search/dsl/sort/spi/DelegatingSearchSortFactoryContext.java
    A integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/CompositeSearchSortIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java
    M integrationtest/showcase/library/src/main/java/org/hibernate/search/integrationtest/showcase/library/repository/indexsearch/IndexSearchDocumentRepositoryImpl.java

  Log Message:
  -----------
  HSEARCH-3591 Add an API to mix imperative and declarative style when building composite sorts

See in particular IndexSearchDocumentRepositoryImpl#searchAroundMe to
get an idea of why we need this.


Compare: https://github.com/hibernate/hibernate-search/compare/4ae37a48f5a1...3c7d7a6ffeaf



More information about the hibernate-commits mailing list