From 3eddb969a8104dd373eafbb696d2274928b998c4 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Fri, 4 Sep 2020 09:15:43 +0200 Subject: [PATCH 1/3] Split DeploymentStatus enums --- .../dto/model/enums/DeploymentStatusEnum.java | 54 ++++--------------- 1 file changed, 9 insertions(+), 45 deletions(-) diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatusEnum.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatusEnum.java index f6990cb24..2b7fe1f79 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatusEnum.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatusEnum.java @@ -1,60 +1,24 @@ package com.cloudesire.platform.apiclient.dto.model.enums; -import java.util.EnumSet; -import java.util.Set; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +@ApiModel( "Deployment status of a subscription" ) public enum DeploymentStatusEnum { - /** waiting for deploy */ + @ApiModelProperty( "Waiting for deploy" ) PENDING, DEPLOYED, UNDEPLOYED, STOPPED, FAILED, - /** requires approval by admin */ + @ApiModelProperty( "Requires approval by admin" ) REQUIRES_APPROVAL, UNDEPLOY_SENT, - /** app that requires post-configuration */ + @ApiModelProperty( "Requires post-configuration" ) POST_CONFIGURATION, - /** only for normal orders, when invoice get paid become PENDING */ + @ApiModelProperty( "Only for normal orders, when invoice gets paid becomes PENDING" ) WAITING_PAYMENT, - /** invoice payment time expired */ - PAYMENT_EXPIRED; - - /** - * The statuses in which the subscription is active - */ - public static Set active() - { - return EnumSet.of( DEPLOYED, FAILED, POST_CONFIGURATION ); - } - - /** - * The statuses for a subscription to be renewed automatically - */ - public static Set autoRenewable() - { - return EnumSet.of( DEPLOYED ); - } - - public static Set deployable() - { - return EnumSet.of( PENDING, POST_CONFIGURATION ); - } - - /** - * The statuses in which the subscription are no longer active - */ - public static Set terminated() - { - return EnumSet.of( PAYMENT_EXPIRED, UNDEPLOYED ); - } - - /** - * The statuses in which the subscription has been/will be undeployed - */ - public static Set undeployed() - { - return EnumSet.of( PAYMENT_EXPIRED, UNDEPLOY_SENT, UNDEPLOYED ); - } + @ApiModelProperty( "Invoice payment time expired" ) + PAYMENT_EXPIRED } From b3873ea64ab1a56e496100d1c279116de7c798d6 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Fri, 4 Sep 2020 09:23:56 +0200 Subject: [PATCH 2/3] Rename --- .../apiclient/dto/model/dto/BaseSubscriptionDTO.java | 8 ++++---- .../apiclient/dto/model/dto/SubscriptionPatchDTO.java | 8 ++++---- .../{DeploymentStatusEnum.java => DeploymentStatus.java} | 2 +- .../apiclient/dto/model/filters/SubscriptionFilter.java | 8 ++++---- .../platform/apiclient/query/SubscriptionQuery.java | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) rename cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/{DeploymentStatusEnum.java => DeploymentStatus.java} (95%) diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BaseSubscriptionDTO.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BaseSubscriptionDTO.java index fafef9ce8..26f18288a 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BaseSubscriptionDTO.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BaseSubscriptionDTO.java @@ -1,6 +1,6 @@ package com.cloudesire.platform.apiclient.dto.model.dto; -import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatusEnum; +import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatus; import io.swagger.annotations.ApiModelProperty; import org.hibernate.validator.constraints.Length; @@ -26,7 +26,7 @@ public abstract class BaseSubscriptionDTO extends NamedEntityDTO private Date endDate; @ApiModelProperty( value = "Current status of the subscription", readOnly = true ) - private DeploymentStatusEnum deploymentStatus; + private DeploymentStatus deploymentStatus; @Valid private Set virtualMachineInstance = new HashSet<>(); @@ -147,12 +147,12 @@ public void setEndDate( Date endDate ) this.endDate = endDate; } - public DeploymentStatusEnum getDeploymentStatus() + public DeploymentStatus getDeploymentStatus() { return deploymentStatus; } - public void setDeploymentStatus( DeploymentStatusEnum deploymentStatus ) + public void setDeploymentStatus( DeploymentStatus deploymentStatus ) { this.deploymentStatus = deploymentStatus; } diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/SubscriptionPatchDTO.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/SubscriptionPatchDTO.java index 35ca0071d..95ee9386e 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/SubscriptionPatchDTO.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/SubscriptionPatchDTO.java @@ -1,6 +1,6 @@ package com.cloudesire.platform.apiclient.dto.model.dto; -import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatusEnum; +import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatus; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,7 +21,7 @@ public class SubscriptionPatchDTO extends DTO private Map configurationParameters; @ApiModelProperty( "Deployment status of the subscription" ) - private DeploymentStatusEnum deploymentStatus; + private DeploymentStatus deploymentStatus; @ApiModelProperty( hidden = true ) @Deprecated @@ -101,12 +101,12 @@ public SubscriptionPatchDTO setConfigurationParameters( Map metadata; @ApiModelProperty( "Filter by deployment status" ) - private Set status; + private Set status; @ApiModelProperty( "Filter by Order type" ) private OrderType type; @@ -48,12 +48,12 @@ public void setMetadata( Map metadata ) this.metadata = metadata; } - public Set getStatus() + public Set getStatus() { return status; } - public void setStatus( Set status ) + public void setStatus( Set status ) { this.status = status; } 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 7071cbad9..7a410f674 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 @@ -1,6 +1,6 @@ package com.cloudesire.platform.apiclient.query; -import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatusEnum; +import com.cloudesire.platform.apiclient.dto.model.enums.DeploymentStatus; import com.cloudesire.platform.apiclient.dto.model.enums.OrderType; import com.cloudesire.platform.apiclient.dto.model.enums.ProductType; import org.apache.commons.lang3.StringUtils; @@ -31,7 +31,7 @@ public SubscriptionQuery setFilter( String value ) return this; } - public SubscriptionQuery setStatus( DeploymentStatusEnum... values ) + public SubscriptionQuery setStatus( DeploymentStatus... values ) { String value = StringUtils.join( values, ',' ); put( STATUS, value ); From 477dd57d29716e2e9bf219a2fa34d93e23bee604 Mon Sep 17 00:00:00 2001 From: Matteo Giordano Date: Fri, 4 Sep 2020 14:43:30 +0200 Subject: [PATCH 3/3] Enable --- .../platform/apiclient/ObjectMapperFactory.java | 2 ++ .../apiclient/dto/model/enums/DeploymentStatus.java | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/base-api-client/src/main/java/com/cloudesire/platform/apiclient/ObjectMapperFactory.java b/base-api-client/src/main/java/com/cloudesire/platform/apiclient/ObjectMapperFactory.java index 068d62e75..2b980f58e 100644 --- a/base-api-client/src/main/java/com/cloudesire/platform/apiclient/ObjectMapperFactory.java +++ b/base-api-client/src/main/java/com/cloudesire/platform/apiclient/ObjectMapperFactory.java @@ -62,6 +62,8 @@ private static Map defaultDeserialization() { Map map = new EnumMap<>( DeserializationFeature.class ); map.put( DeserializationFeature.READ_ENUMS_USING_TO_STRING, true ); + map.put( DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true ); + map.put( DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE, true ); map.put( DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, true ); map.put( DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false ); return map; diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatus.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatus.java index c89c45ec0..0d36a7b98 100644 --- a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatus.java +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/enums/DeploymentStatus.java @@ -1,5 +1,6 @@ package com.cloudesire.platform.apiclient.dto.model.enums; +import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -14,11 +15,14 @@ public enum DeploymentStatus FAILED, @ApiModelProperty( "Requires approval by admin" ) REQUIRES_APPROVAL, + @ApiModelProperty( "Undeploy request has been sent" ) UNDEPLOY_SENT, @ApiModelProperty( "Requires post-configuration" ) POST_CONFIGURATION, - @ApiModelProperty( "Only for normal orders, when invoice gets paid becomes PENDING" ) + @ApiModelProperty( "Waiting for invoice payment" ) WAITING_PAYMENT, @ApiModelProperty( "Invoice payment time expired" ) - PAYMENT_EXPIRED + PAYMENT_EXPIRED, + @JsonEnumDefaultValue + UNKNOWN }