Skip to content

Commit

Permalink
[BUG] [Java] Invalid code generation for oneof types. OpenAPITools#18517
Browse files Browse the repository at this point in the history
  • Loading branch information
Bethibande committed May 9, 2024
1 parent c80075b commit 29a0724
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -249,5 +249,3 @@ src/main/java/org/openapitools/client/model/Value.java
src/main/java/org/openapitools/client/model/Variable.java
src/main/java/org/openapitools/client/model/Whale.java
src/main/java/org/openapitools/client/model/Zebra.java
src/test/java/org/openapitools/client/model/FreeFormObjectTestClassPropertiesTest.java
src/test/java/org/openapitools/client/model/FreeFormObjectTestClassTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# FreeFormObjectTestClass


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**name** | **String** | | [optional] |
|**properties** | [**FreeFormObjectTestClassProperties**](FreeFormObjectTestClassProperties.md) | | [optional] |



Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@


# FreeFormObjectTestClassProperties


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|



Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
}
final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
final TypeAdapter<String> adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class));

final Type typeInstance = new TypeToken<Map<String, Object>>(){}.getType();
final TypeAdapter<Map<String, Object>> adapterMapStringObject = (TypeAdapter<Map<String, Object>>) gson.getDelegateAdapter(this, TypeToken.get(typeInstance));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,28 @@ public void setup() {
order = new Order();
}

@Test
public void testOneOfFreeFormObject() {
final Map<String, Object> map = new LinkedHashMap<>();
map.put("someString", "abc");
map.put("someBoolean", false);

final String json1 = "{\"someString\":\"abc\",\"someBoolean\":false}";
final FreeFormObjectTestClassProperties properties = new FreeFormObjectTestClassProperties();
properties.setActualInstance(map);

assertEquals(json1, json.serialize(properties));
assertEquals(json.deserialize(json1, FreeFormObjectTestClassProperties.class), properties);


final String json2 = "\"abc\"";
final FreeFormObjectTestClassProperties properties2 = new FreeFormObjectTestClassProperties();
properties2.setActualInstance("abc");

assertEquals(json2, json.serialize(properties2));
assertEquals(json.deserialize(json2, FreeFormObjectTestClassProperties.class), properties2);
}

@Test
public void testSqlDateTypeAdapter() {
final String str = "\"2015-11-07\"";
Expand Down

0 comments on commit 29a0724

Please sign in to comment.