From 4e53dfeb3f741e9621729b830a3081c579a612ab Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Thu, 23 Jul 2020 17:57:30 +0200 Subject: [PATCH 1/3] Filter invoices & orders by subscription metadata --- .../platform/apiclient/query/InvoiceQuery.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java index 7cd85f9d2..18e5a03b5 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils; import java.util.Date; +import java.util.Map; public class InvoiceQuery extends PageRequestQuery { @@ -18,6 +19,7 @@ public class InvoiceQuery extends PageRequestQuery private static final String TO = "to"; private static final String TYPE = "type"; private static final String COMPANY = "company"; + private static final String METADATA = "metadata"; public InvoiceQuery setExpired( boolean expired ) { @@ -78,4 +80,14 @@ public InvoiceQuery setCompany( Integer company ) put( COMPANY, company ); return this; } + + public InvoiceQuery setMetadata( Map metadata ) + { + metadata.forEach( ( key, value ) -> { + if ( value == null ) value = ""; + put( String.format( "%s[%s]", METADATA, key ), value ); + } ); + return this; + } + } From fc142affba2643f09ce840a97f6a273d6d041b26 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Fri, 24 Jul 2020 12:19:24 +0200 Subject: [PATCH 2/3] Filter orders --- .../platform/apiclient/query/OrderQuery.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java index 01e7afd67..a4069dd14 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java @@ -4,6 +4,7 @@ import com.liberologico.cloudesire.common.SimpleDateFormatFactory; import java.util.Date; +import java.util.Map; public class OrderQuery extends PageRequestQuery { @@ -12,6 +13,7 @@ public class OrderQuery extends PageRequestQuery private static final String COUPON = "coupon"; private static final String FROM = "from"; private static final String TO = "to"; + private static final String METADATA = "metadata"; public OrderQuery setPageRequest( PageRequestQuery pageRequestQuery ) { @@ -48,4 +50,14 @@ public OrderQuery setTo( Date to ) put( TO, SimpleDateFormatFactory.dateFormat().format( to ) ); return this; } + + public OrderQuery setMetadata( Map metadata ) + { + metadata.forEach( ( key, value ) -> { + if ( value == null ) value = ""; + put( String.format( "%s[%s]", METADATA, key ), value ); + } ); + return this; + } + } From d84336aa2db38b6b93b44ba32a65588de5b740e9 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Fri, 24 Jul 2020 12:57:54 +0200 Subject: [PATCH 3/3] Refactor --- .../platform/apiclient/query/InvoiceQuery.java | 9 ++------- .../platform/apiclient/query/MetadataQuery.java | 17 +++++++++++++++++ .../platform/apiclient/query/OrderQuery.java | 9 ++------- .../apiclient/query/SubscriptionQuery.java | 15 ++++----------- 4 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/MetadataQuery.java diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java index 18e5a03b5..c40f5df4d 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/InvoiceQuery.java @@ -6,7 +6,6 @@ import org.apache.commons.lang3.StringUtils; import java.util.Date; -import java.util.Map; public class InvoiceQuery extends PageRequestQuery { @@ -19,7 +18,6 @@ public class InvoiceQuery extends PageRequestQuery private static final String TO = "to"; private static final String TYPE = "type"; private static final String COMPANY = "company"; - private static final String METADATA = "metadata"; public InvoiceQuery setExpired( boolean expired ) { @@ -81,12 +79,9 @@ public InvoiceQuery setCompany( Integer company ) return this; } - public InvoiceQuery setMetadata( Map metadata ) + public InvoiceQuery setMetadata( MetadataQuery metadata ) { - metadata.forEach( ( key, value ) -> { - if ( value == null ) value = ""; - put( String.format( "%s[%s]", METADATA, key ), value ); - } ); + putAll( metadata ); return this; } diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/MetadataQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/MetadataQuery.java new file mode 100644 index 000000000..72917ae5f --- /dev/null +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/MetadataQuery.java @@ -0,0 +1,17 @@ +package com.cloudesire.platform.apiclient.query; + +import java.util.Map; + +public class MetadataQuery extends BaseQuery +{ + private static final String METADATA = "metadata"; + + public MetadataQuery setMetadata( Map metadata ) + { + metadata.forEach( ( key, value ) -> { + if ( value == null ) value = ""; + put( String.format( "%s[%s]", METADATA, key ), value ); + } ); + return this; + } +} diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java index a4069dd14..597dd1747 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/OrderQuery.java @@ -4,7 +4,6 @@ import com.liberologico.cloudesire.common.SimpleDateFormatFactory; import java.util.Date; -import java.util.Map; public class OrderQuery extends PageRequestQuery { @@ -13,7 +12,6 @@ public class OrderQuery extends PageRequestQuery private static final String COUPON = "coupon"; private static final String FROM = "from"; private static final String TO = "to"; - private static final String METADATA = "metadata"; public OrderQuery setPageRequest( PageRequestQuery pageRequestQuery ) { @@ -51,12 +49,9 @@ public OrderQuery setTo( Date to ) return this; } - public OrderQuery setMetadata( Map metadata ) + public OrderQuery setMetadata( MetadataQuery metadata ) { - metadata.forEach( ( key, value ) -> { - if ( value == null ) value = ""; - put( String.format( "%s[%s]", METADATA, key ), value ); - } ); + putAll( metadata ); return this; } diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/SubscriptionQuery.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/SubscriptionQuery.java index 14c6ff5a8..7071cbad9 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/SubscriptionQuery.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/query/SubscriptionQuery.java @@ -5,36 +5,29 @@ import com.cloudesire.platform.apiclient.dto.model.enums.ProductType; import org.apache.commons.lang3.StringUtils; -import java.util.Map; - public class SubscriptionQuery extends PageRequestQuery { private static final String FILTER = "filter"; - private static final String METADATA = "metadata"; private static final String STATUS = "status"; private static final String TYPE = "type"; private static final String PRODUCT = "product"; private static final String PRODUCT_TYPE = "productType"; - public SubscriptionQuery setPageRequest( PageRequestQuery pageRequestQuery ) { putAll( pageRequestQuery ); return this; } - public SubscriptionQuery setFilter( String value ) + public SubscriptionQuery setMetadata( MetadataQuery metadata ) { - put( FILTER, value ); + putAll( metadata ); return this; } - public SubscriptionQuery setMetadata( Map metadata ) + public SubscriptionQuery setFilter( String value ) { - metadata.forEach( ( key, value ) -> { - if ( value == null ) value = ""; - put( String.format( "%s[%s]", METADATA, key ), value ); - } ); + put( FILTER, value ); return this; }