diff --git a/changes.md b/changes.md index 568940e6539..d0f19d54857 100644 --- a/changes.md +++ b/changes.md @@ -5,6 +5,7 @@ - added property `attributedTo` to type `CreatedBy` - added property `attributedTo` to type `LastModifiedBy` +- added property `postFilter` to type `ProductSearchRequest` diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequest.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequest.java index 011c4b5e1ae..437d3909efe 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequest.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequest.java @@ -88,6 +88,14 @@ public interface ProductSearchRequest { @JsonProperty("facets") public List getFacets(); + /** + *

Specify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @return postFilter + */ + @Valid + @JsonProperty("postFilter") + public SearchQuery getPostFilter(); + /** *

The search query against searchable Product fields.

* @param query value to be set @@ -153,6 +161,13 @@ public interface ProductSearchRequest { public void setFacets(final List facets); + /** + *

Specify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @param postFilter value to be set + */ + + public void setPostFilter(final SearchQuery postFilter); + /** * factory method * @return instance of ProductSearchRequest @@ -175,6 +190,7 @@ public static ProductSearchRequest of(final ProductSearchRequest template) { instance.setMarkMatchingVariants(template.getMarkMatchingVariants()); instance.setProductProjectionParameters(template.getProductProjectionParameters()); instance.setFacets(template.getFacets()); + instance.setPostFilter(template.getPostFilter()); return instance; } @@ -206,6 +222,7 @@ public static ProductSearchRequest deepCopy(@Nullable final ProductSearchRequest .map(com.commercetools.api.models.product_search.ProductSearchFacetExpression::deepCopy) .collect(Collectors.toList())) .orElse(null)); + instance.setPostFilter(com.commercetools.api.models.search.SearchQuery.deepCopy(template.getPostFilter())); return instance; } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestBuilder.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestBuilder.java index 74f20c879a2..a755895bb11 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestBuilder.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestBuilder.java @@ -44,6 +44,9 @@ public class ProductSearchRequestBuilder implements Builder facets; + @Nullable + private com.commercetools.api.models.search.SearchQuery postFilter; + /** *

The search query against searchable Product fields.

* @param builder function to build the query value @@ -334,6 +337,42 @@ public ProductSearchRequestBuilder setFacets( builder.apply(com.commercetools.api.models.product_search.ProductSearchFacetExpressionBuilder.of())); } + /** + *

Specify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @param builder function to build the postFilter value + * @return Builder + */ + + public ProductSearchRequestBuilder postFilter( + Function builder) { + this.postFilter = builder.apply(com.commercetools.api.models.search.SearchQueryBuilder.of()).build(); + return this; + } + + /** + *

Specify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @param builder function to build the postFilter value + * @return Builder + */ + + public ProductSearchRequestBuilder withPostFilter( + Function builder) { + this.postFilter = builder.apply(com.commercetools.api.models.search.SearchQueryBuilder.of()); + return this; + } + + /** + *

Specify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @param postFilter value to be set + * @return Builder + */ + + public ProductSearchRequestBuilder postFilter( + @Nullable final com.commercetools.api.models.search.SearchQuery postFilter) { + this.postFilter = postFilter; + return this; + } + /** *

The search query against searchable Product fields.

* @return query @@ -404,13 +443,23 @@ public java.util.ListSpecify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ * @return postFilter + */ + + @Nullable + public com.commercetools.api.models.search.SearchQuery getPostFilter() { + return this.postFilter; + } + /** * builds ProductSearchRequest with checking for non-null required values * @return ProductSearchRequest */ public ProductSearchRequest build() { return new ProductSearchRequestImpl(query, sort, limit, offset, markMatchingVariants, - productProjectionParameters, facets); + productProjectionParameters, facets, postFilter); } /** @@ -419,7 +468,7 @@ public ProductSearchRequest build() { */ public ProductSearchRequest buildUnchecked() { return new ProductSearchRequestImpl(query, sort, limit, offset, markMatchingVariants, - productProjectionParameters, facets); + productProjectionParameters, facets, postFilter); } /** @@ -444,6 +493,7 @@ public static ProductSearchRequestBuilder of(final ProductSearchRequest template builder.markMatchingVariants = template.getMarkMatchingVariants(); builder.productProjectionParameters = template.getProductProjectionParameters(); builder.facets = template.getFacets(); + builder.postFilter = template.getPostFilter(); return builder; } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestImpl.java b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestImpl.java index dd97cfe3470..e3fac3b53ba 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestImpl.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestImpl.java @@ -36,6 +36,8 @@ public class ProductSearchRequestImpl implements ProductSearchRequest, ModelBase private java.util.List facets; + private com.commercetools.api.models.search.SearchQuery postFilter; + /** * create instance with all properties */ @@ -45,7 +47,8 @@ public class ProductSearchRequestImpl implements ProductSearchRequest, ModelBase @JsonProperty("limit") final Integer limit, @JsonProperty("offset") final Integer offset, @JsonProperty("markMatchingVariants") final Boolean markMatchingVariants, @JsonProperty("productProjectionParameters") final com.commercetools.api.models.product_search.ProductSearchProjectionParams productProjectionParameters, - @JsonProperty("facets") final java.util.List facets) { + @JsonProperty("facets") final java.util.List facets, + @JsonProperty("postFilter") final com.commercetools.api.models.search.SearchQuery postFilter) { this.query = query; this.sort = sort; this.limit = limit; @@ -53,6 +56,7 @@ public class ProductSearchRequestImpl implements ProductSearchRequest, ModelBase this.markMatchingVariants = markMatchingVariants; this.productProjectionParameters = productProjectionParameters; this.facets = facets; + this.postFilter = postFilter; } /** @@ -117,6 +121,14 @@ public java.util.ListSpecify an additional filter on the result of the query after the API calculated facets. This feature assists you in implementing faceted search.

+ */ + + public com.commercetools.api.models.search.SearchQuery getPostFilter() { + return this.postFilter; + } + public void setQuery(final com.commercetools.api.models.search.SearchQuery query) { this.query = query; } @@ -155,6 +167,10 @@ public void setFacets( this.facets = facets; } + public void setPostFilter(final com.commercetools.api.models.search.SearchQuery postFilter) { + this.postFilter = postFilter; + } + @Override public boolean equals(Object o) { if (this == o) @@ -172,6 +188,7 @@ public boolean equals(Object o) { .append(markMatchingVariants, that.markMatchingVariants) .append(productProjectionParameters, that.productProjectionParameters) .append(facets, that.facets) + .append(postFilter, that.postFilter) .append(query, that.query) .append(sort, that.sort) .append(limit, that.limit) @@ -179,6 +196,7 @@ public boolean equals(Object o) { .append(markMatchingVariants, that.markMatchingVariants) .append(productProjectionParameters, that.productProjectionParameters) .append(facets, that.facets) + .append(postFilter, that.postFilter) .isEquals(); } @@ -191,6 +209,7 @@ public int hashCode() { .append(markMatchingVariants) .append(productProjectionParameters) .append(facets) + .append(postFilter) .toHashCode(); } @@ -203,6 +222,7 @@ public String toString() { .append("markMatchingVariants", markMatchingVariants) .append("productProjectionParameters", productProjectionParameters) .append("facets", facets) + .append("postFilter", postFilter) .build(); } diff --git a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/product_search/ProductSearchRequestQueryBuilderDsl.java b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/product_search/ProductSearchRequestQueryBuilderDsl.java index 4d2327a688e..e10eee16099 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/product_search/ProductSearchRequestQueryBuilderDsl.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java-predicates-generated/com/commercetools/api/predicates/query/product_search/ProductSearchRequestQueryBuilderDsl.java @@ -78,4 +78,13 @@ public CollectionPredicateBuilder facets() p -> new CombinationQueryPredicate<>(p, ProductSearchRequestQueryBuilderDsl::of)); } + public CombinationQueryPredicate postFilter( + Function> fn) { + return new CombinationQueryPredicate<>( + ContainerQueryPredicate.of() + .parent(ConstantQueryPredicate.of().constant("postFilter")) + .inner(fn.apply(com.commercetools.api.predicates.query.search.SearchQueryQueryBuilderDsl.of())), + ProductSearchRequestQueryBuilderDsl::of); + } + } diff --git a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestTest.java b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestTest.java index 92b1977f240..6999da58653 100644 --- a/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestTest.java +++ b/commercetools/commercetools-sdk-java-api/src/test/java-generated/com/commercetools/api/models/product_search/ProductSearchRequestTest.java @@ -39,7 +39,9 @@ public static Object[][] objectBuilder() { new com.commercetools.api.models.product_search.ProductSearchProjectionParamsImpl()) }, new Object[] { ProductSearchRequest.builder() .facets(Collections.singletonList( - new com.commercetools.api.models.product_search.ProductSearchFacetExpressionImpl())) } }; + new com.commercetools.api.models.product_search.ProductSearchFacetExpressionImpl())) }, + new Object[] { ProductSearchRequest.builder() + .postFilter(new com.commercetools.api.models.search.SearchQueryImpl()) } }; } @Test @@ -96,4 +98,12 @@ public void facets() { .isEqualTo(Collections.singletonList( new com.commercetools.api.models.product_search.ProductSearchFacetExpressionImpl())); } + + @Test + public void postFilter() { + ProductSearchRequest value = ProductSearchRequest.of(); + value.setPostFilter(new com.commercetools.api.models.search.SearchQueryImpl()); + Assertions.assertThat(value.getPostFilter()) + .isEqualTo(new com.commercetools.api.models.search.SearchQueryImpl()); + } } diff --git a/references.txt b/references.txt index edee72c61ef..2a3be112074 100644 --- a/references.txt +++ b/references.txt @@ -222,3 +222,4 @@ a9d748dbcbfc8d2a1cd8d0f8c4e48807e502e79e 22d37e3825d895d44abb4ba0b5e4b8785f7f0968 90f86a472abcdf9adc0c3f0147e3094ec0a7c8ba c8a374e9c967c7b8c5080c9a6ed2cd92261680ef +cbdd859f3702f084fa22a22d7e4459f7e4b43316