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 @@ -131,7 +131,9 @@ public class JSON {
131131 { {#model} }
132132 { {^isEnum} }
133133 { {^hasChildren} }
134+ { {^vendorExtensions.x-is-one-of-interface} }
134135 gsonBuilder.registerTypeAdapterFactory(new { {modelPackage} }.{ {{classname} }}.CustomTypeAdapterFactory());
136+ { {/vendorExtensions.x-is-one-of-interface} }
135137 { {/hasChildren} }
136138 { {/isEnum} }
137139 { {/model} }
Original file line number Diff line number Diff line change @@ -3810,4 +3810,32 @@ public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17
38103810
38113811 }
38123812
3813- }
3813+ @ Test
3814+ public void testOkHttpGsonClientWithUseOneOfInterfaceShouldntRegisterInterfaceAsTypeAdapter_issue_17419 () {
3815+ // given
3816+ final Path output = newTempFolder ();
3817+ final CodegenConfigurator configurator = new CodegenConfigurator ()
3818+ .setGeneratorName ("java" )
3819+ .setLibrary (OKHTTP_GSON )
3820+ .setAdditionalProperties (Map .of ("useOneOfInterfaces" , "true" ))
3821+ .setInputSpec ("src/test/resources/3_0/typescript-fetch/oneOf.yaml" )
3822+ .setOutputDir (output .toString ().replace ("\\ " , "/" ));
3823+
3824+ final ClientOptInput input = configurator .toClientOptInput ();
3825+
3826+ // when
3827+ List <File > files = new DefaultGenerator ().opts (input ).generate ();
3828+
3829+ // then
3830+ validateJavaSourceFiles (files );
3831+ TestUtils .assertFileNotContains (
3832+ output .resolve ("src/main/java/org/openapitools/client/model/TestResponse.java" ),
3833+ "CustomTypeAdapterFactory"
3834+ );
3835+ TestUtils .assertFileNotContains (
3836+ output .resolve ("src/main/java/org/openapitools/client/JSON.java" ),
3837+ "new org.openapitools.client.model.TestResponse.CustomTypeAdapterFactory()"
3838+ );
3839+ }
3840+
3841+ }
You can’t perform that action at this time.
0 commit comments