default ProductQuery bySlug(final ProductProjectionType type, final Locale locale, final String slug) { return withPredicates(m -> m.masterData().forProjection(type).slug().lang(locale).is(slug)); }
default ProductQuery bySlug(final ProductProjectionType type, final Locale locale, final String slug) { return withPredicates(m -> m.masterData().forProjection(type).slug().lang(locale).is(slug)); }
default ProductQuery bySlug(final ProductProjectionType type, final Locale locale, final String slug) { return withPredicates(m -> m.masterData().forProjection(type).slug().lang(locale).is(slug)); }
public QueryDsl<Product> bySlug(final ProductProjectionType type, final Locale locale, final String slug) { return withPredicate(model().masterData().forProjection(type).slug().lang(locale).is(slug)); }
public QueryDsl<Product> bySlug(final ProductProjectionType type, final Locale locale, final String slug) { return withPredicate(model().masterData().forProjection(type).slug().lang(locale).is(slug)); }
@Test public void variants() throws Exception { assertThat(ProductQueryModel.of().masterData().current().variants().sku().is("bar").toSphereQuery()) .isEqualTo("masterData(current(variants(sku=\"bar\")))"); }
@Test public void pure() throws Exception { final QueryPredicate<Product> purePredicate = ProductQueryModel.of().masterData().current().name().lang(ENGLISH).is("Yes"); assertThat(purePredicate.toSphereQuery()).isEqualTo("masterData(current(name(en=\"Yes\")))"); }
default ProductQuery bySku(final String sku, final ProductProjectionType type) { final QueryPredicate<PartialProductVariantQueryModel> skuPredicate = PartialProductVariantQueryModel.of().sku().is(sku); final ProductDataQueryModel<Product> projection = ProductQueryModel.of().masterData().forProjection(type); final QueryPredicate<Product> masterVariantSkuPredicate = projection.masterVariant().where(skuPredicate); final QueryPredicate<Product> variantsSkuPredicate = projection.variants().where(skuPredicate); return withPredicates(masterVariantSkuPredicate.or(variantsSkuPredicate)); } }
public QueryDsl<Product> bySku(final String sku, final ProductProjectionType type) { final Predicate<PartialProductVariantQueryModel> skuPredicate = ProductVariantQueryModel.get().sku().is(sku); final ProductDataQueryModel<Product> projection = model().masterData().forProjection(type); final Predicate<Product> masterVariantSkuPredicate = projection.masterVariant().where(skuPredicate); final Predicate<Product> variantsSkuPredicate = projection.variants().where(skuPredicate); return withPredicate(masterVariantSkuPredicate.or(variantsSkuPredicate)); } }
default ProductQuery bySku(final String sku, final ProductProjectionType type) { final QueryPredicate<EmbeddedProductVariantQueryModel> skuPredicate = EmbeddedProductVariantQueryModel.of().sku().is(sku); final ProductDataQueryModel<Product> projection = ProductQueryModel.of().masterData().forProjection(type); final QueryPredicate<Product> masterVariantSkuPredicate = projection.masterVariant().where(skuPredicate); final QueryPredicate<Product> variantsSkuPredicate = projection.variants().where(skuPredicate); return withPredicates(masterVariantSkuPredicate.or(variantsSkuPredicate)); } }
public QueryDsl<Product> bySku(final String sku, final ProductProjectionType type) { final Predicate<PartialProductVariantQueryModel> skuPredicate = ProductVariantQueryModel.get().sku().is(sku); final ProductDataQueryModel<Product> projection = model().masterData().forProjection(type); final Predicate<Product> masterVariantSkuPredicate = projection.masterVariant().where(skuPredicate); final Predicate<Product> variantsSkuPredicate = projection.variants().where(skuPredicate); return withPredicate(masterVariantSkuPredicate.or(variantsSkuPredicate)); } }
default ProductQuery bySku(final String sku, final ProductProjectionType type) { final QueryPredicate<EmbeddedProductVariantQueryModel> skuPredicate = EmbeddedProductVariantQueryModel.of().sku().is(sku); final ProductDataQueryModel<Product> projection = ProductQueryModel.of().masterData().forProjection(type); final QueryPredicate<Product> masterVariantSkuPredicate = projection.masterVariant().where(skuPredicate); final QueryPredicate<Product> variantsSkuPredicate = projection.variants().where(skuPredicate); return withPredicates(masterVariantSkuPredicate.or(variantsSkuPredicate)); } }
@Test public void allVariantsInProduct() throws Exception { assertThat(ProductQueryModel.of().masterData().current().allVariants().where(m -> m.sku().is("bar"))) .isEqualTo(ProductQueryModel.of().masterData().current().where(m -> m.masterVariant().sku().is("bar").or(m.variants().sku().is("bar")))) .isEqualTo(QueryPredicate.<Product>of(embeddedProductPredicate)); }
private void checkIsFoundByPublishedFlag(final Product product, final boolean value) { final Optional<Product> productFromQuery = client().executeBlocking(ProductQuery.of() .withPredicates(m -> { return m.masterData().isPublished().is(value); }) .plusPredicates(m -> m.id().is(product.getId()))).head(); assertThat(productFromQuery.get().getId()).isEqualTo(product.getId()); }
protected SphereRequest<PagedQueryResult<Product>> queryObjectForNames(final List<String> names) { return ProductQuery.of().withPredicates(m -> m.masterData().current().name().lang(ENGLISH).isIn(names)); }
protected SphereRequest<PagedQueryResult<Product>> queryObjectForName(final String name) { return ProductQuery.of().withPredicates(m -> m.masterData().current().name().lang(ENGLISH).is(name)); }
@Override public Query<Product> get() { final QueryPredicate<Product> predicate = ProductQueryModel.of(). masterData().current().name().lang(Locale.ENGLISH).is("simple cotton t-shirt"); return ProductQuery.of().withPredicates(predicate); } }
@Test public void queryByTiersWithMinimumQuantity() { withProduct(client(), product -> { final ProductQuery productQuery = ProductQuery.of() .withPredicates(m -> m.masterData().current().variants().prices().tiers().minimumQuantity().isGreaterThan(5)) .plusPredicates(m -> m.is(product)); final List<Product> results = client().executeBlocking(productQuery).getResults(); assertThat(results).hasSize(0); }); }
@Test public void combinedEmbeddedQueries() throws Exception { final QueryPredicate<EmbeddedProductDataQueryModel> predicate = DATA_QUERY_MODEL.name().lang(ENGLISH).is("Yes").or(DATA_QUERY_MODEL.name().lang(GERMAN).is("Ja")); final QueryPredicate<Product> resultPredicate = ProductQueryModel.of().masterData().where(m -> m.current().where(predicate).and(m.staged().where(predicate))); assertThat(resultPredicate.toSphereQuery()).isEqualTo("masterData(current(name(en=\"Yes\") or name(de=\"Ja\")) and staged(name(en=\"Yes\") or name(de=\"Ja\")))"); } }
@Test public void queryByTiersWithValue() { withProduct(client(), product -> { final ProductQuery productQuery = ProductQuery.of() .withPredicates(m -> m.masterData().current().variants().prices().tiers().value().currencyCode().is("EUR")) .plusPredicates(m -> m.is(product)); final List<Product> results = client().executeBlocking(productQuery).getResults(); assertThat(results).hasSize(0); }); }