Skip to content

Commit be81652

Browse files
[java] 14404 fix for json arrays (#17812)
1 parent cd18299 commit be81652

124 files changed

Lines changed: 753 additions & 123 deletions

File tree

Some content is hidden

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

modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pojo.mustache

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,12 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
534534
else if (entry.getValue() instanceof Character)
535535
obj.addProperty(entry.getKey(), (Character) entry.getValue());
536536
else {
537-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
537+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
538+
if (jsonElement.isJsonArray()) {
539+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
540+
} else {
541+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
542+
}
538543
}
539544
}
540545
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/AnyTypeTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,12 @@ else if (entry.getValue() instanceof Boolean)
269269
else if (entry.getValue() instanceof Character)
270270
obj.addProperty(entry.getKey(), (Character) entry.getValue());
271271
else {
272-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
272+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
273+
if (jsonElement.isJsonArray()) {
274+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
275+
} else {
276+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
277+
}
273278
}
274279
}
275280
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Cat.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,12 @@ else if (entry.getValue() instanceof Boolean)
230230
else if (entry.getValue() instanceof Character)
231231
obj.addProperty(entry.getKey(), (Character) entry.getValue());
232232
else {
233-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
233+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
234+
if (jsonElement.isJsonArray()) {
235+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
236+
} else {
237+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
238+
}
234239
}
235240
}
236241
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Category.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,12 @@ else if (entry.getValue() instanceof Boolean)
246246
else if (entry.getValue() instanceof Character)
247247
obj.addProperty(entry.getKey(), (Character) entry.getValue());
248248
else {
249-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
249+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
250+
if (jsonElement.isJsonArray()) {
251+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
252+
} else {
253+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
254+
}
250255
}
251256
}
252257
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Dog.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,12 @@ else if (entry.getValue() instanceof Boolean)
230230
else if (entry.getValue() instanceof Character)
231231
obj.addProperty(entry.getKey(), (Character) entry.getValue());
232232
else {
233-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
233+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
234+
if (jsonElement.isJsonArray()) {
235+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
236+
} else {
237+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
238+
}
234239
}
235240
}
236241
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/ModelApiResponse.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,12 @@ else if (entry.getValue() instanceof Boolean)
275275
else if (entry.getValue() instanceof Character)
276276
obj.addProperty(entry.getKey(), (Character) entry.getValue());
277277
else {
278-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
278+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
279+
if (jsonElement.isJsonArray()) {
280+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
281+
} else {
282+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
283+
}
279284
}
280285
}
281286
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Order.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,12 @@ else if (entry.getValue() instanceof Boolean)
409409
else if (entry.getValue() instanceof Character)
410410
obj.addProperty(entry.getKey(), (Character) entry.getValue());
411411
else {
412-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
412+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
413+
if (jsonElement.isJsonArray()) {
414+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
415+
} else {
416+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
417+
}
413418
}
414419
}
415420
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Pet.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,12 @@ else if (entry.getValue() instanceof Boolean)
469469
else if (entry.getValue() instanceof Character)
470470
obj.addProperty(entry.getKey(), (Character) entry.getValue());
471471
else {
472-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
472+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
473+
if (jsonElement.isJsonArray()) {
474+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
475+
} else {
476+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
477+
}
473478
}
474479
}
475480
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/Tag.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,12 @@ else if (entry.getValue() instanceof Boolean)
246246
else if (entry.getValue() instanceof Character)
247247
obj.addProperty(entry.getKey(), (Character) entry.getValue());
248248
else {
249-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
249+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
250+
if (jsonElement.isJsonArray()) {
251+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
252+
} else {
253+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
254+
}
250255
}
251256
}
252257
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/model/User.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,12 @@ else if (entry.getValue() instanceof Boolean)
417417
else if (entry.getValue() instanceof Character)
418418
obj.addProperty(entry.getKey(), (Character) entry.getValue());
419419
else {
420-
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
420+
JsonElement jsonElement = gson.toJsonTree(entry.getValue());
421+
if (jsonElement.isJsonArray()) {
422+
obj.add(entry.getKey(), jsonElement.getAsJsonArray());
423+
} else {
424+
obj.add(entry.getKey(), jsonElement.getAsJsonObject());
425+
}
421426
}
422427
}
423428
}

0 commit comments

Comments
 (0)