Skip to content

Commit

Permalink
fix: Handle inner array in different way
Browse files Browse the repository at this point in the history
  • Loading branch information
peacekeeper committed Apr 9, 2024
1 parent cd98709 commit 302a76e
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 37 deletions.
3 changes: 2 additions & 1 deletion openapi/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,8 @@ components:
SecretVerificationMethodVerificationMethodTemplate:
type: array
items:
$ref: "#/components/schemas/VerificationMethodTemplate"
oneOf:
- $ref: "#/components/schemas/VerificationMethodTemplate"
RequestSecret:
description: This input field contains an object with DID controller keys
and other secrets needed for performing the DID operation. See
Expand Down
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))));
}
}
}

0 comments on commit 302a76e

Please sign in to comment.