File tree Expand file tree Collapse file tree
modules/openapi-generator/src
main/resources/Java/libraries/okhttp-gson
test/java/org/openapitools/codegen/java Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -128,7 +128,9 @@ public class JSON {
128128 { {#model} }
129129 { {^isEnum} }
130130 { {^hasChildren} }
131+ { {^vendorExtensions.x-is-one-of-interface} }
131132 gsonBuilder.registerTypeAdapterFactory(new { {modelPackage} }.{ {{classname} }}.CustomTypeAdapterFactory());
133+ { {/vendorExtensions.x-is-one-of-interface} }
132134 { {/hasChildren} }
133135 { {/isEnum} }
134136 { {/model} }
Original file line number Diff line number Diff line change @@ -3621,4 +3621,32 @@ public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17
36213621
36223622 }
36233623
3624- }
3624+ @ Test
3625+ public void testOkHttpGsonClientWithUseOneOfInterfaceShouldntRegisterInterfaceAsTypeAdapter_issue_17419 () {
3626+ // given
3627+ final Path output = newTempFolder ();
3628+ final CodegenConfigurator configurator = new CodegenConfigurator ()
3629+ .setGeneratorName ("java" )
3630+ .setLibrary (OKHTTP_GSON )
3631+ .setAdditionalProperties (Map .of ("useOneOfInterfaces" , "true" ))
3632+ .setInputSpec ("src/test/resources/3_0/typescript-fetch/oneOf.yaml" )
3633+ .setOutputDir (output .toString ().replace ("\\ " , "/" ));
3634+
3635+ final ClientOptInput input = configurator .toClientOptInput ();
3636+
3637+ // when
3638+ List <File > files = new DefaultGenerator ().opts (input ).generate ();
3639+
3640+ // then
3641+ validateJavaSourceFiles (files );
3642+ TestUtils .assertFileNotContains (
3643+ output .resolve ("src/main/java/org/openapitools/client/model/TestResponse.java" ),
3644+ "CustomTypeAdapterFactory"
3645+ );
3646+ TestUtils .assertFileNotContains (
3647+ output .resolve ("src/main/java/org/openapitools/client/JSON.java" ),
3648+ "new org.openapitools.client.model.TestResponse.CustomTypeAdapterFactory()"
3649+ );
3650+ }
3651+
3652+ }
You can’t perform that action at this time.
0 commit comments