public ProductDraftBuilder plusVariants(final List<ProductVariantDraft> variantsToAdd) { return variants(listOf(this.variants, variantsToAdd)); }
public ProductDraftBuilder plusVariants(final List<ProductVariantDraft> variantsToAdd) { return variants(listOf(this.variants, variantsToAdd)); }
public ProductDraftBuilder plusVariants(final ProductVariantDraft variantToAdd) { return variants(listOf(this.variants, variantToAdd)); }
public ProductDraftBuilder plusVariants(final ProductVariantDraft variantToAdd) { return variants(ListUtils.listOf(this.variants, variantToAdd)); }
public ProductDraftBuilder plusVariants(final List<ProductVariantDraft> variantsToAdd) { return variants(ListUtils.listOf(this.variants, variantsToAdd)); }
public ProductDraftBuilder plusVariants(final ProductVariantDraft variantToAdd) { return variants(listOf(this.variants, variantToAdd)); }
public ProductDraftDsl withVariants(final List<ProductVariantDraft> variants) { return newBuilder().variants(variants).build(); }
public static void withUpdateableProductOfMultipleVariants(final BlockingSphereClient client, final Function<Product, Versioned<Product>> f) { withProductType(client, randomKey(), productType -> { final AttributeDraft greenColor = AttributeDraft.of(TShirtProductTypeDraftSupplier.Colors.ATTRIBUTE, TShirtProductTypeDraftSupplier.Colors.GREEN); final ProductVariantDraft masterVariant = ProductVariantDraftBuilder.of() .attributes(AttributeDraft.of(TShirtProductTypeDraftSupplier.Sizes.ATTRIBUTE, TShirtProductTypeDraftSupplier.Sizes.M), greenColor) .sku(randomKey()) .build(); final List<ProductVariantDraft> variants = Stream.of(TShirtProductTypeDraftSupplier.Sizes.S, TShirtProductTypeDraftSupplier.Sizes.X) .map(size -> AttributeDraft.of(TShirtProductTypeDraftSupplier.Sizes.ATTRIBUTE, size)) .map(attrDraft -> ProductVariantDraftBuilder.of() .attributes(attrDraft, greenColor) .sku(randomKey()) .build()) .collect(toList()); final ProductDraftBuilder builder = ProductDraftBuilder.of(productType, randomSlug(), randomSlug(), masterVariant) .variants(variants); final ProductDraft productDraft = builder.build(); final Product product = client.executeBlocking(ProductCreateCommand.of(productDraft)); Versioned<Product> productToDelete = f.apply(product); client.executeBlocking(ProductDeleteCommand.of(productToDelete)); }); }
@Override public ProductDraft get() { final ProductVariantDraft masterVariant = ProductVariantDraftBuilder.of() .attributes(Sizes.ATTRIBUTE.draftOf(Sizes.S), Colors.ATTRIBUTE.draftOf(Colors.GREEN)) .sku(UUID.randomUUID().toString()) .prices(PriceDraft.of(MoneyImpl.ofCents(1234, EUR))) .build(); final ProductVariantDraft secondVariant = ProductVariantDraftBuilder.of() .attributes(Sizes.ATTRIBUTE.draftOf(Sizes.M), Colors.ATTRIBUTE.draftOf(Colors.GREEN)) .sku(UUID.randomUUID().toString()) .prices(PriceDraft.of(MoneyImpl.ofCents(1234, EUR)), PriceDraft.of(MoneyImpl.ofCents(600, EUR)).withCustomerGroup(customerGroup)) .build(); final LocalizedString slug = en(name).slugifiedUnique(); return ProductDraftBuilder.of(productType, en(name), slug, masterVariant) .variants(asList(secondVariant)) .description(en(name)) .metaTitle(en("cotton t-shirt")) .metaDescription(en("cotton t-shirt description")) .metaKeywords(en("cotton, t-shirt, clothes")) .build(); }