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 @@ -3869,4 +3869,32 @@ public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17
38693869
38703870 }
38713871
3872- }
3872+ @ Test
3873+ public void testOkHttpGsonClientWithUseOneOfInterfaceShouldntRegisterInterfaceAsTypeAdapter_issue_17419 () {
3874+ // given
3875+ final Path output = newTempFolder ();
3876+ final CodegenConfigurator configurator = new CodegenConfigurator ()
3877+ .setGeneratorName ("java" )
3878+ .setLibrary (OKHTTP_GSON )
3879+ .setAdditionalProperties (Map .of ("useOneOfInterfaces" , "true" ))
3880+ .setInputSpec ("src/test/resources/3_0/typescript-fetch/oneOf.yaml" )
3881+ .setOutputDir (output .toString ().replace ("\\ " , "/" ));
3882+
3883+ final ClientOptInput input = configurator .toClientOptInput ();
3884+
3885+ // when
3886+ List <File > files = new DefaultGenerator ().opts (input ).generate ();
3887+
3888+ // then
3889+ validateJavaSourceFiles (files );
3890+ TestUtils .assertFileNotContains (
3891+ output .resolve ("src/main/java/org/openapitools/client/model/TestResponse.java" ),
3892+ "CustomTypeAdapterFactory"
3893+ );
3894+ TestUtils .assertFileNotContains (
3895+ output .resolve ("src/main/java/org/openapitools/client/JSON.java" ),
3896+ "new org.openapitools.client.model.TestResponse.CustomTypeAdapterFactory()"
3897+ );
3898+ }
3899+
3900+ }
You can’t perform that action at this time.
0 commit comments