File tree Expand file tree Collapse file tree
modules/openapi-generator/src
main/resources/Java/libraries/microprofile
java/org/openapitools/codegen/java/microprofile Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -52,10 +52,10 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensi
5252{ {{.} }}
5353{ {/vendorExtensions.x-field-extra-annotation} }
5454{ {#isContainer} }
55- private { {{datatypeWithEnum} }} { {name} }{ {#required} } = { {{defaultValue} }}{ {/required} }{ {^required} } = null{ {/required} };
55+ protected { {{datatypeWithEnum} }} { {name} }{ {#required} } = { {{defaultValue} }}{ {/required} }{ {^required} } = null{ {/required} };
5656{ {/isContainer} }
5757{ {^isContainer} }
58- private { {{datatypeWithEnum} }} { {name} }{ {#defaultValue} } = { {{.} }}{ {/defaultValue} };
58+ protected { {{datatypeWithEnum} }} { {name} }{ {#defaultValue} } = { {{.} }}{ {/defaultValue} };
5959{ {/isContainer} }
6060 { {/vars} }
6161{ {> additional_properties} }
Original file line number Diff line number Diff line change @@ -235,5 +235,31 @@ public void testGeneratedApiExceptionMapperDoesNotHaveProviderAnnotationWhenDisa
235235 .assertTypeAnnotations ()
236236 .doesNotContainWithName ("Provider" );
237237 }
238+
239+ @ Test
240+ public void testClientCanAccessFieldInParent () throws Exception {
241+ File output = Files .createTempDirectory ("test" ).toFile ().getCanonicalFile ();
242+ output .deleteOnExit ();
243+
244+ OpenAPI openAPI = new OpenAPIParser ()
245+ .readLocation ("src/test/resources/bugs/issue_23034.yaml" , null , new ParseOptions ()).getOpenAPI ();
246+
247+ codegen .setOutputDir (output .getAbsolutePath ());
248+ codegen .additionalProperties ().put (JavaClientCodegen .MICROPROFILE_GLOBAL_EXCEPTION_MAPPER , "false" );
249+
250+ ClientOptInput input = new ClientOptInput ()
251+ .openAPI (openAPI )
252+ .config (codegen );
253+
254+ List <File > files = new DefaultGenerator ().opts (input ).generate ();
255+
256+ Map <String , File > filesMap = files .stream ()
257+ .collect (Collectors .toMap (File ::getName , Function .identity ()));
258+
259+ validateJavaSourceFiles (files );
260+
261+ JavaFileAssert .assertThat (filesMap .get ("Parent.java" ))
262+ .fileContains ("protected parentField" );
263+ }
238264}
239265
Original file line number Diff line number Diff line change 1+ ---
2+ openapi : 3.0.4
3+ info :
4+ title : Reproduce
5+ version : ' v1'
6+ components :
7+ schemas :
8+ Child :
9+ required :
10+ - childField1
11+ type : object
12+ allOf :
13+ - $ref : " #/components/schemas/Parent"
14+ properties :
15+ childField1 :
16+ type : string
17+
18+ Parent :
19+ required :
20+ - parentField
21+ type : object
22+ properties :
23+ parentField :
24+ type : string
25+ readOnly : true
26+ discriminator :
27+ propertyName : classType
28+ mapping :
29+ Child : " #/components/schemas/Child"
30+ paths :
31+ ' /v1/reproduce ' :
32+ get :
33+ responses :
34+ ' 200 ' :
35+ content :
36+ application/json :
37+ schema :
38+ type : array
39+ items :
40+ $ref : ' #/components/schemas/Child'
41+ description : ' reproduce'
You can’t perform that action at this time.
0 commit comments