From b117ac340902a9dcfafbc91e08963dc630ba0700 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Thu, 8 Oct 2020 12:11:48 +0200 Subject: [PATCH 1/5] Set reseller pricing visibility --- .../dto/model/dto/ResellerPricingDTO.java | 13 +++++++++++++ .../model/enums/ResellerPricingVisibility.java | 15 +++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/ResellerPricingDTO.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/ResellerPricingDTO.java index f7d50fc7c..a83d3e959 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/ResellerPricingDTO.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/ResellerPricingDTO.java @@ -2,6 +2,7 @@ import com.cloudesire.platform.apiclient.dto.ApiVersion; import com.cloudesire.platform.apiclient.dto.annotations.UnsupportedAPI; +import com.cloudesire.platform.apiclient.dto.model.enums.ResellerPricingVisibility; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,6 +66,8 @@ public class ResellerPricingDTO extends BaseEntityDTO @Valid private List customResellingPrices; + private ResellerPricingVisibility visibility; + public ResellerPricingDTO( UrlEntityDTO resellerCatalog, UrlEntityDTO distributorPricing ) { this.resellerCatalog = resellerCatalog; @@ -222,6 +225,16 @@ public void setCustomResellingPrices( List customResell this.customResellingPrices = customResellingPrices; } + public ResellerPricingVisibility getVisibility() + { + return visibility; + } + + public void setVisibility( ResellerPricingVisibility visibility ) + { + this.visibility = visibility; + } + @Override public boolean equals( Object o ) { diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java new file mode 100644 index 000000000..cfdaa11d8 --- /dev/null +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java @@ -0,0 +1,15 @@ +package com.cloudesire.platform.apiclient.dto.model.enums; + +import io.swagger.annotations.ApiModelProperty; + +public enum ResellerPricingVisibility +{ + @ApiModelProperty( "Pricing is not visible to customer" ) + EXCLUDED, + + @ApiModelProperty( "Pricing is visible to customer, but not available for buy" ) + INCLUDED, + + @ApiModelProperty( "Pricing is available for buy" ) + PRICED +} From cc08b76440cc8489213a6ca279341e81c6bc4440 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Mon, 12 Oct 2020 16:36:55 +0200 Subject: [PATCH 2/5] Edit doc --- .../dto/model/enums/ResellerPricingVisibility.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java index cfdaa11d8..bce9e66f5 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/ResellerPricingVisibility.java @@ -4,12 +4,12 @@ public enum ResellerPricingVisibility { - @ApiModelProperty( "Pricing is not visible to customer" ) + @ApiModelProperty( "Product Version is not visible to customer" ) EXCLUDED, - @ApiModelProperty( "Pricing is visible to customer, but not available for buy" ) + @ApiModelProperty( "Product Version is visible to customer, but not available for buy" ) INCLUDED, - @ApiModelProperty( "Pricing is available for buy" ) + @ApiModelProperty( "Product Version is available for buy" ) PRICED } From 74daf86dadef2fea9e9a82632fd308b448b9d856 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Tue, 13 Oct 2020 10:49:46 +0200 Subject: [PATCH 3/5] Filter by visibility --- .../cloudesire/platform/apiclient/query/ProductQuery.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java index 3c0f494a4..263330721 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java @@ -2,6 +2,7 @@ import com.cloudesire.platform.apiclient.dto.model.enums.OrderingType; import com.cloudesire.platform.apiclient.dto.model.enums.ProductType; +import com.cloudesire.platform.apiclient.dto.model.enums.ResellerPricingVisibility; public class ProductQuery extends PageRequestQuery { @@ -16,6 +17,7 @@ public class ProductQuery extends PageRequestQuery private static final String ORDERING_TYPE = "orderingType"; private static final String CATEGORY_ID = "categoryId"; private static final String TAG = "tag"; + private static final String VISIBILITY = "visibility"; public ProductQuery setPageRequest( PageRequestQuery pageRequestQuery ) { @@ -98,4 +100,10 @@ public ProductQuery setOnlyActiveConfigurations( boolean flag ) put( ONLY_ACTIVE_CONFIGURATIONS, flag ); return this; } + + public ProductQuery setVisibility( ResellerPricingVisibility visibility ) + { + put( VISIBILITY, visibility ); + return this; + } } From 0d153aa1536bf5889c2983377bc59ee449118148 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Tue, 13 Oct 2020 12:06:56 +0200 Subject: [PATCH 4/5] Add ProductVersionQuery --- .../apiclient/api/ProductVersionApi.java | 24 +++++++++++ .../apiclient/query/ProductVersionQuery.java | 40 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/ProductVersionApi.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/ProductVersionApi.java index d3cd6684b..9d7329d31 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/ProductVersionApi.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/ProductVersionApi.java @@ -2,6 +2,7 @@ import com.cloudesire.platform.apiclient.dto.model.dto.ProductVersionDTO; import com.cloudesire.platform.apiclient.dto.model.dto.ProductVersionDraftDTO; +import com.cloudesire.platform.apiclient.query.ProductVersionQuery; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.DELETE; @@ -36,13 +37,28 @@ public interface ProductVersionApi Call partialUpdate( @Path( "id" ) int id, @Body Map input, @Query( "language" ) String language ); + @GET( "productVersion" ) + Call> getAll( @QueryMap ProductVersionQuery query ); + + /** + * @deprecated by {@link #getAll(ProductVersionQuery)} + */ + @Deprecated @GET( "productVersion" ) Call> getAll( @Query( "product" ) Integer product ); + /** + * @deprecated by {@link #getAll(ProductVersionQuery)} + */ + @Deprecated @GET( "productVersion" ) Call> getAll( @Query( "product" ) Integer product, @QueryMap Map pageRequest ); + /** + * @deprecated by {@link #getAll(ProductVersionQuery)} + */ + @Deprecated @GET( "productVersion" ) Call> getAll( @Query( "product" ) Integer product, @@ -50,10 +66,18 @@ Call> getAll( @QueryMap Map pageRequest ); + /** + * @deprecated by {@link #getAll(ProductVersionQuery)} + */ + @Deprecated @GET( "productVersion" ) Call> getAll( @Query( "product" ) Integer product, @Query( "reseller" ) String reseller, @QueryMap Map pageRequest ); + /** + * @deprecated by {@link #getAll(ProductVersionQuery)} + */ + @Deprecated @GET( "productVersion" ) Call> getAll( @Query( "product" ) int product, diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java new file mode 100644 index 000000000..4b3790c2a --- /dev/null +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java @@ -0,0 +1,40 @@ +package com.cloudesire.platform.apiclient.query; + +import com.cloudesire.platform.apiclient.dto.model.enums.ResellerPricingVisibility; + +public class ProductVersionQuery extends BaseQuery +{ + private static final String PRODUCT = "product"; + private static final String VISIBILITY = "visibility"; + private static final String WITH_UNPUBLISHED = "withUnpublished"; + + public ProductVersionQuery setPageRequest( PageRequestQuery pageRequestQuery ) + { + putAll( pageRequestQuery ); + return this; + } + + public ProductVersionQuery setResellerCatalog( ResellerCatalogQuery resellerCatalogQuery ) + { + putAll( resellerCatalogQuery ); + return this; + } + + public ProductVersionQuery setProduct( int productId ) + { + put( PRODUCT, productId ); + return this; + } + + public ProductVersionQuery includeUnpublished( boolean includeUnpublished ) + { + put( WITH_UNPUBLISHED, includeUnpublished ); + return this; + } + + public ProductVersionQuery setVisibility( ResellerPricingVisibility visibility ) + { + put( VISIBILITY, visibility ); + return this; + } +} From 9dc27747bcf22fa3d7005e31e5e9d10e2aaf376d Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Thu, 15 Oct 2020 14:48:36 +0200 Subject: [PATCH 5/5] Multiple filter by visibility --- .../cloudesire/platform/apiclient/query/ProductQuery.java | 5 +++-- .../platform/apiclient/query/ProductVersionQuery.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java index 263330721..9e7aaf80c 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductQuery.java @@ -3,6 +3,7 @@ import com.cloudesire.platform.apiclient.dto.model.enums.OrderingType; import com.cloudesire.platform.apiclient.dto.model.enums.ProductType; import com.cloudesire.platform.apiclient.dto.model.enums.ResellerPricingVisibility; +import org.apache.commons.lang3.StringUtils; public class ProductQuery extends PageRequestQuery { @@ -101,9 +102,9 @@ public ProductQuery setOnlyActiveConfigurations( boolean flag ) return this; } - public ProductQuery setVisibility( ResellerPricingVisibility visibility ) + public ProductQuery setVisibility( ResellerPricingVisibility... visibility ) { - put( VISIBILITY, visibility ); + put( VISIBILITY, StringUtils.join( visibility, ',' ) ); return this; } } diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java index 4b3790c2a..acac03ea5 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/ProductVersionQuery.java @@ -1,6 +1,7 @@ package com.cloudesire.platform.apiclient.query; import com.cloudesire.platform.apiclient.dto.model.enums.ResellerPricingVisibility; +import org.apache.commons.lang3.StringUtils; public class ProductVersionQuery extends BaseQuery { @@ -32,9 +33,9 @@ public ProductVersionQuery includeUnpublished( boolean includeUnpublished ) return this; } - public ProductVersionQuery setVisibility( ResellerPricingVisibility visibility ) + public ProductVersionQuery setVisibility( ResellerPricingVisibility... visibility ) { - put( VISIBILITY, visibility ); + put( VISIBILITY, StringUtils.join( visibility, ',' ) ); return this; } }