-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Handle inner array in different way
- Loading branch information
1 parent
cd98709
commit 302a76e
Showing
2 changed files
with
60 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
94 changes: 58 additions & 36 deletions
94
uni-registrar-core/src/main/patches/SecretVerificationMethodInner.java.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,75 +1,97 @@ | ||
--- src/main/java/uniregistrar/openapi/model/SecretVerificationMethodInner.java 2023-11-05 20:15:11.061198670 +0100 | ||
+++ src/main/java/uniregistrar/openapi/model/SecretVerificationMethodInner.java.patched 2023-11-05 20:15:04.869182118 +0100 | ||
@@ -17,6 +17,7 @@ | ||
--- src/main/java/uniregistrar/openapi/model/SecretVerificationMethodInner.java 2024-04-10 00:20:30.863507540 +0200 | ||
+++ src/main/java/uniregistrar/openapi/model/SecretVerificationMethodInner.java.patched 2024-04-10 00:19:30.711289435 +0200 | ||
@@ -15,16 +15,14 @@ | ||
|
||
import java.net.URLEncoder; | ||
import java.nio.charset.StandardCharsets; | ||
import java.util.StringJoiner; | ||
import java.util.Objects; | ||
+import java.util.List; | ||
import java.util.Map; | ||
import java.util.HashMap; | ||
-import java.util.StringJoiner; | ||
-import java.util.Objects; | ||
-import java.util.Map; | ||
-import java.util.HashMap; | ||
+import java.util.*; | ||
+ | ||
import com.fasterxml.jackson.annotation.JsonInclude; | ||
@@ -99,17 +100,17 @@ | ||
import com.fasterxml.jackson.annotation.JsonProperty; | ||
import com.fasterxml.jackson.annotation.JsonCreator; | ||
import com.fasterxml.jackson.annotation.JsonTypeName; | ||
import com.fasterxml.jackson.annotation.JsonValue; | ||
-import java.util.Arrays; | ||
+ | ||
import java.util.HashMap; | ||
import java.util.Map; | ||
import uniregistrar.openapi.model.SecretVerificationMethodVerificationMethodTemplateInner; | ||
@@ -39,9 +37,6 @@ | ||
import java.io.IOException; | ||
import java.util.logging.Level; | ||
import java.util.logging.Logger; | ||
-import java.util.ArrayList; | ||
-import java.util.Collections; | ||
-import java.util.HashSet; | ||
|
||
import com.fasterxml.jackson.core.JsonGenerator; | ||
import com.fasterxml.jackson.core.JsonParser; | ||
@@ -99,17 +94,17 @@ | ||
try { | ||
boolean attemptParsing = true; | ||
// ensure that we respect type coercion as set on the client ObjectMapper | ||
- if (List<@Valid VerificationMethodTemplate>.class.equals(Integer.class) || List<@Valid VerificationMethodTemplate>.class.equals(Long.class) || List<@Valid VerificationMethodTemplate>.class.equals(Float.class) || List<@Valid VerificationMethodTemplate>.class.equals(Double.class) || List<@Valid VerificationMethodTemplate>.class.equals(Boolean.class) || List<@Valid VerificationMethodTemplate>.class.equals(String.class)) { | ||
- if (List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Integer.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Long.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Float.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Double.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Boolean.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(String.class)) { | ||
+ if (List.class.equals(Integer.class) || List.class.equals(Long.class) || List.class.equals(Float.class) || List.class.equals(Double.class) || List.class.equals(Boolean.class) || List.class.equals(String.class)) { | ||
attemptParsing = typeCoercion; | ||
if (!attemptParsing) { | ||
- attemptParsing |= ((List<@Valid VerificationMethodTemplate>.class.equals(Integer.class) || List<@Valid VerificationMethodTemplate>.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); | ||
- attemptParsing |= ((List<@Valid VerificationMethodTemplate>.class.equals(Float.class) || List<@Valid VerificationMethodTemplate>.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); | ||
- attemptParsing |= (List<@Valid VerificationMethodTemplate>.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); | ||
- attemptParsing |= (List<@Valid VerificationMethodTemplate>.class.equals(String.class) && token == JsonToken.VALUE_STRING); | ||
- attemptParsing |= ((List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Integer.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); | ||
- attemptParsing |= ((List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Float.class) || List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); | ||
- attemptParsing |= (List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); | ||
- attemptParsing |= (List<SecretVerificationMethodVerificationMethodTemplateInner>.class.equals(String.class) && token == JsonToken.VALUE_STRING); | ||
+ attemptParsing |= ((List.class.equals(Integer.class) || List.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); | ||
+ attemptParsing |= ((List.class.equals(Float.class) || List.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); | ||
+ attemptParsing |= (List.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); | ||
+ attemptParsing |= (List.class.equals(String.class) && token == JsonToken.VALUE_STRING); | ||
} | ||
} | ||
if (attemptParsing) { | ||
- deserialized = tree.traverse(jp.getCodec()).readValueAs(List<@Valid VerificationMethodTemplate>.class); | ||
- deserialized = tree.traverse(jp.getCodec()).readValueAs(List<SecretVerificationMethodVerificationMethodTemplateInner>.class); | ||
+ deserialized = tree.traverse(jp.getCodec()).readValueAs(List.class); | ||
// TODO: there is no validation against JSON schema constraints | ||
// (min, max, enum, pattern...), this does not perform a strict JSON | ||
// validation, which means the 'match' count may be higher than it should be. | ||
@@ -213,7 +214,7 @@ | ||
@@ -213,7 +208,7 @@ | ||
} | ||
|
||
static { | ||
- schemas.put("List<@Valid VerificationMethodTemplate>", List<@Valid VerificationMethodTemplate>.class); | ||
+ schemas.put("List<@Valid VerificationMethodTemplate>", List.class); | ||
- schemas.put("List<SecretVerificationMethodVerificationMethodTemplateInner>", List<SecretVerificationMethodVerificationMethodTemplateInner>.class); | ||
+ schemas.put("List<SecretVerificationMethodVerificationMethodTemplateInner>", List.class); | ||
schemas.put("VerificationMethodPrivateData", VerificationMethodPrivateData.class); | ||
schemas.put("VerificationMethodPublicData", VerificationMethodPublicData.class); | ||
JSON.registerDescendants(SecretVerificationMethodInner.class, Collections.unmodifiableMap(schemas)); | ||
@@ -234,7 +235,7 @@ | ||
@@ -234,7 +229,7 @@ | ||
*/ | ||
@Override | ||
public void setActualInstance(Object instance) { | ||
- if (JSON.isInstanceOf(List<@Valid VerificationMethodTemplate>.class, instance, new HashSet<Class<?>>())) { | ||
- if (JSON.isInstanceOf(List<SecretVerificationMethodVerificationMethodTemplateInner>.class, instance, new HashSet<Class<?>>())) { | ||
+ if (JSON.isInstanceOf(List.class, instance, new HashSet<Class<?>>())) { | ||
super.setActualInstance(instance); | ||
return; | ||
} | ||
@@ -270,7 +271,7 @@ | ||
* @return The actual instance of `List<@Valid VerificationMethodTemplate>` | ||
* @throws ClassCastException if the instance is not `List<@Valid VerificationMethodTemplate>` | ||
@@ -270,7 +265,7 @@ | ||
* @return The actual instance of `List<SecretVerificationMethodVerificationMethodTemplateInner>` | ||
* @throws ClassCastException if the instance is not `List<SecretVerificationMethodVerificationMethodTemplateInner>` | ||
*/ | ||
- public List<@Valid VerificationMethodTemplate> getList<@Valid VerificationMethodTemplate>() throws ClassCastException { | ||
+ public List<@Valid VerificationMethodTemplate> getListVerificationMethodTemplate() throws ClassCastException { | ||
return (List<@Valid VerificationMethodTemplate>)super.getActualInstance(); | ||
- public List<SecretVerificationMethodVerificationMethodTemplateInner> getList<SecretVerificationMethodVerificationMethodTemplateInner>() throws ClassCastException { | ||
+ public List<SecretVerificationMethodVerificationMethodTemplateInner> getList() throws ClassCastException { | ||
return (List<SecretVerificationMethodVerificationMethodTemplateInner>)super.getActualInstance(); | ||
} | ||
|
||
@@ -342,11 +343,11 @@ | ||
@@ -342,11 +337,11 @@ | ||
} | ||
return joiner.toString(); | ||
} | ||
- if (getActualInstance() instanceof List<@Valid VerificationMethodTemplate>) { | ||
+ if (getActualInstance() instanceof List<?>) { | ||
- if (getActualInstance() instanceof List<SecretVerificationMethodVerificationMethodTemplateInner>) { | ||
+ if (getActualInstance() instanceof List) { | ||
if (getActualInstance() != null) { | ||
for (int i = 0; i < ((List<@Valid VerificationMethodTemplate>)getActualInstance()).size(); i++) { | ||
if (((List<@Valid VerificationMethodTemplate>)getActualInstance()).get(i) != null) { | ||
- joiner.add(((VerificationMethodTemplate)getActualInstance()).get(i).toUrlQueryString(String.format("%sone_of_2%s%s", prefix, suffix, | ||
+ joiner.add(((List<@Valid VerificationMethodTemplate>)getActualInstance()).get(i).toUrlQueryString(String.format("%sone_of_2%s%s", prefix, suffix, | ||
for (int i = 0; i < ((List<SecretVerificationMethodVerificationMethodTemplateInner>)getActualInstance()).size(); i++) { | ||
if (((List<SecretVerificationMethodVerificationMethodTemplateInner>)getActualInstance()).get(i) != null) { | ||
- joiner.add(((SecretVerificationMethodVerificationMethodTemplateInner)getActualInstance()).get(i).toUrlQueryString(String.format("%sone_of_2%s%s", prefix, suffix, | ||
+ joiner.add(((List<SecretVerificationMethodVerificationMethodTemplateInner>)getActualInstance()).get(i).toUrlQueryString(String.format("%sone_of_2%s%s", prefix, suffix, | ||
"".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); | ||
} | ||
} | ||
} |