Skip to content

Commit

Permalink
Read unknown enum values using default value (#557)
Browse files Browse the repository at this point in the history
* Rename DeploymentStatusEnum to DeploymentStatus
  • Loading branch information
malteo authored Sep 7, 2020
1 parent 3c269f0 commit 20392eb
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ private static Map<DeserializationFeature, Boolean> defaultDeserialization()
{
Map<DeserializationFeature, Boolean> 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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -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<UrlEntityDTO> virtualMachineInstance = new HashSet<>();
Expand Down Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -21,7 +21,7 @@ public class SubscriptionPatchDTO extends DTO
private Map<UrlEntityDTO, String> configurationParameters;

@ApiModelProperty( "Deployment status of the subscription" )
private DeploymentStatusEnum deploymentStatus;
private DeploymentStatus deploymentStatus;

@ApiModelProperty( hidden = true )
@Deprecated
Expand Down Expand Up @@ -101,12 +101,12 @@ public SubscriptionPatchDTO setConfigurationParameters( Map<UrlEntityDTO, String
return this;
}

public DeploymentStatusEnum getDeploymentStatus()
public DeploymentStatus getDeploymentStatus()
{
return deploymentStatus;
}

public SubscriptionPatchDTO setDeploymentStatus( DeploymentStatusEnum deploymentStatus )
public SubscriptionPatchDTO setDeploymentStatus( DeploymentStatus deploymentStatus )
{
this.deploymentStatus = deploymentStatus;
return this;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.cloudesire.platform.apiclient.dto.model.enums;

import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel( "Deployment status of a subscription" )
public enum DeploymentStatus
{
@ApiModelProperty( "Waiting for deploy" )
PENDING,
DEPLOYED,
UNDEPLOYED,
STOPPED,
FAILED,
@ApiModelProperty( "Requires approval by admin" )
REQUIRES_APPROVAL,
@ApiModelProperty( "Undeploy request has been sent" )
UNDEPLOY_SENT,
@ApiModelProperty( "Requires post-configuration" )
POST_CONFIGURATION,
@ApiModelProperty( "Waiting for invoice payment" )
WAITING_PAYMENT,
@ApiModelProperty( "Invoice payment time expired" )
PAYMENT_EXPIRED,
@JsonEnumDefaultValue
UNKNOWN
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.cloudesire.platform.apiclient.dto.model.filters;

import com.cloudesire.platform.apiclient.dto.model.dto.PageRequestDTO;
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 io.swagger.annotations.ApiModelProperty;
Expand All @@ -18,7 +18,7 @@ public final class SubscriptionFilter extends PageRequestDTO
private Map<String, String> metadata;

@ApiModelProperty( "Filter by deployment status" )
private Set<DeploymentStatusEnum> status;
private Set<DeploymentStatus> status;

@ApiModelProperty( "Filter by Order type" )
private OrderType type;
Expand Down Expand Up @@ -48,12 +48,12 @@ public void setMetadata( Map<String, String> metadata )
this.metadata = metadata;
}

public Set<DeploymentStatusEnum> getStatus()
public Set<DeploymentStatus> getStatus()
{
return status;
}

public void setStatus( Set<DeploymentStatusEnum> status )
public void setStatus( Set<DeploymentStatus> status )
{
this.status = status;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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 );
Expand Down

0 comments on commit 20392eb

Please sign in to comment.