Skip to content

Commit 8d60816

Browse files
authored
Handling unknown enum values (#1514)
* Process unknown enum * Log warning when enum is unknown * Customise enum code generation * Test unknown enums * Generate LEM models * Return null instead of throwing IllegalArgumentException * Return null instead of throwing IllegalArgumentException, add javadoc * Testing JSON (de)serialization * Format Nexo models * Format code * Remove unused variable * Generate Management models * Add tests * Add tests * Add tests and mock data
1 parent 64f55e3 commit 8d60816

File tree

391 files changed

+3431
-948
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+3431
-948
lines changed

src/main/java/com/adyen/model/legalentitymanagement/AULocalAccountIdentification.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1818
import com.fasterxml.jackson.annotation.JsonValue;
1919
import com.fasterxml.jackson.core.JsonProcessingException;
20-
import java.util.Objects;
20+
import java.util.*;
21+
import java.util.Arrays;
22+
import java.util.logging.Logger;
2123

2224
/** AULocalAccountIdentification */
2325
@JsonPropertyOrder({
@@ -36,6 +38,8 @@ public class AULocalAccountIdentification {
3638
public enum TypeEnum {
3739
AULOCAL(String.valueOf("auLocal"));
3840

41+
private static final Logger LOG = Logger.getLogger(TypeEnum.class.getName());
42+
3943
private String value;
4044

4145
TypeEnum(String value) {
@@ -59,7 +63,13 @@ public static TypeEnum fromValue(String value) {
5963
return b;
6064
}
6165
}
62-
throw new IllegalArgumentException("Unexpected value '" + value + "'");
66+
// handling unexpected value
67+
LOG.warning(
68+
"TypeEnum: unexpected enum value '"
69+
+ value
70+
+ "' - Supported values are "
71+
+ Arrays.toString(TypeEnum.values()));
72+
return null;
6373
}
6474
}
6575

src/main/java/com/adyen/model/legalentitymanagement/AcceptTermsOfServiceRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1717
import com.fasterxml.jackson.core.JsonProcessingException;
18-
import java.util.Objects;
18+
import java.util.*;
1919

2020
/** AcceptTermsOfServiceRequest */
2121
@JsonPropertyOrder({

src/main/java/com/adyen/model/legalentitymanagement/AcceptTermsOfServiceResponse.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1818
import com.fasterxml.jackson.annotation.JsonValue;
1919
import com.fasterxml.jackson.core.JsonProcessingException;
20-
import java.util.Objects;
20+
import java.util.*;
21+
import java.util.Arrays;
22+
import java.util.logging.Logger;
2123

2224
/** AcceptTermsOfServiceResponse */
2325
@JsonPropertyOrder({
@@ -71,6 +73,8 @@ public enum TypeEnum {
7173

7274
KYCONINVITE(String.valueOf("kycOnInvite"));
7375

76+
private static final Logger LOG = Logger.getLogger(TypeEnum.class.getName());
77+
7478
private String value;
7579

7680
TypeEnum(String value) {
@@ -94,7 +98,13 @@ public static TypeEnum fromValue(String value) {
9498
return b;
9599
}
96100
}
97-
throw new IllegalArgumentException("Unexpected value '" + value + "'");
101+
// handling unexpected value
102+
LOG.warning(
103+
"TypeEnum: unexpected enum value '"
104+
+ value
105+
+ "' - Supported values are "
106+
+ Arrays.toString(TypeEnum.values()));
107+
return null;
98108
}
99109
}
100110

src/main/java/com/adyen/model/legalentitymanagement/AdditionalBankIdentification.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1818
import com.fasterxml.jackson.annotation.JsonValue;
1919
import com.fasterxml.jackson.core.JsonProcessingException;
20-
import java.util.Objects;
20+
import java.util.*;
21+
import java.util.Arrays;
22+
import java.util.logging.Logger;
2123

2224
/** AdditionalBankIdentification */
2325
@JsonPropertyOrder({
@@ -49,6 +51,8 @@ public enum TypeEnum {
4951

5052
USROUTINGNUMBER(String.valueOf("usRoutingNumber"));
5153

54+
private static final Logger LOG = Logger.getLogger(TypeEnum.class.getName());
55+
5256
private String value;
5357

5458
TypeEnum(String value) {
@@ -72,7 +76,13 @@ public static TypeEnum fromValue(String value) {
7276
return b;
7377
}
7478
}
75-
throw new IllegalArgumentException("Unexpected value '" + value + "'");
79+
// handling unexpected value
80+
LOG.warning(
81+
"TypeEnum: unexpected enum value '"
82+
+ value
83+
+ "' - Supported values are "
84+
+ Arrays.toString(TypeEnum.values()));
85+
return null;
7686
}
7787
}
7888

src/main/java/com/adyen/model/legalentitymanagement/Address.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1717
import com.fasterxml.jackson.core.JsonProcessingException;
18-
import java.util.Objects;
18+
import java.util.*;
1919

2020
/** Address */
2121
@JsonPropertyOrder({

src/main/java/com/adyen/model/legalentitymanagement/Amount.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1717
import com.fasterxml.jackson.core.JsonProcessingException;
18-
import java.util.Objects;
18+
import java.util.*;
1919

2020
/** Amount */
2121
@JsonPropertyOrder({Amount.JSON_PROPERTY_CURRENCY, Amount.JSON_PROPERTY_VALUE})

src/main/java/com/adyen/model/legalentitymanagement/Attachment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1717
import com.fasterxml.jackson.core.JsonProcessingException;
18+
import java.util.*;
1819
import java.util.Arrays;
19-
import java.util.Objects;
2020

2121
/** Attachment */
2222
@JsonPropertyOrder({

src/main/java/com/adyen/model/legalentitymanagement/BankAccountInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import com.fasterxml.jackson.annotation.JsonProperty;
1717
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1818
import com.fasterxml.jackson.core.JsonProcessingException;
19-
import java.util.Objects;
19+
import java.util.*;
2020

2121
/** BankAccountInfo */
2222
@JsonPropertyOrder({

src/main/java/com/adyen/model/legalentitymanagement/BankAccountInfoAccountIdentification.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@
2626
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
2727
import jakarta.ws.rs.core.GenericType;
2828
import java.io.IOException;
29+
import java.util.*;
2930
import java.util.Arrays;
3031
import java.util.Collections;
31-
import java.util.HashMap;
3232
import java.util.HashSet;
33-
import java.util.Map;
3433
import java.util.logging.Level;
3534
import java.util.logging.Logger;
3635

src/main/java/com/adyen/model/legalentitymanagement/BirthData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
1717
import com.fasterxml.jackson.core.JsonProcessingException;
18-
import java.util.Objects;
18+
import java.util.*;
1919

2020
/** BirthData */
2121
@JsonPropertyOrder({BirthData.JSON_PROPERTY_DATE_OF_BIRTH})

0 commit comments

Comments
 (0)