Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 12ebcd6

Browse files
authored
Java features updated (#359)
* Features updated * Docs updated
1 parent 87329f9 commit 12ebcd6

File tree

4 files changed

+40
-52
lines changed

4 files changed

+40
-52
lines changed

docs/generators/java.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
177177
### Components Feature
178178
| Name | Supported | Defined By |
179179
| ---- | --------- | ---------- |
180-
|schemas||OAS3
180+
|schemas||OAS3
181181
|responses|✗|OAS3
182182
|parameters|✗|OAS3
183183
|examples|✗|OAS3
@@ -194,22 +194,22 @@ These options may be applied as additional-properties (cli) or configOptions (pl
194194
|Custom|✗|OAS2,OAS3
195195
|Int32|✓|OAS2,OAS3
196196
|Int64|✓|OAS2,OAS3
197-
|Integer||OAS2,OAS3
197+
|Integer||OAS2,OAS3
198198
|Float|✓|OAS2,OAS3
199199
|Double|✓|OAS2,OAS3
200200
|Number|✗|OAS2,OAS3
201201
|String|✓|OAS2,OAS3
202-
|Byte||OAS2,OAS3
203-
|Binary||OAS2,OAS3
202+
|Byte||OAS2,OAS3
203+
|Binary||OAS2,OAS3
204204
|Boolean|✓|OAS2,OAS3
205205
|Date|✓|OAS2,OAS3
206206
|DateTime|✓|OAS2,OAS3
207-
|Password||OAS2,OAS3
208-
|File||OAS2
209-
|Uuid||OAS2,OAS3
207+
|Password||OAS2,OAS3
208+
|File||OAS2
209+
|Uuid||OAS2,OAS3
210210
|Array|✓|OAS2,OAS3
211-
|Null||OAS3
212-
|AnyType||OAS2,OAS3
211+
|Null||OAS3
212+
|AnyType||OAS2,OAS3
213213
|Object|✓|OAS2,OAS3
214214
|Enum|✓|OAS2,OAS3
215215

@@ -228,7 +228,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
228228
|ComponentLinks|✗|OAS3
229229
|ComponentCallbacks|✗|OAS3
230230
|ComponentPathItems|✗|OAS3
231-
|Api||ToolingExtension
231+
|Api||ToolingExtension
232232

233233
### Global Feature
234234
| Name | Supported | Defined By |
@@ -245,20 +245,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
245245
### Operation Feature
246246
| Name | Supported | Defined By |
247247
| ---- | --------- | ---------- |
248-
|Responses_HttpStatusCode||OAS3
248+
|Responses_HttpStatusCode||OAS3
249249
|Responses_RangedResponseCodes|✗|OAS3
250-
|Responses_Default||OAS3
250+
|Responses_Default||OAS3
251251
|Responses_RedirectionResponse|✗|OAS3
252252

253253
### Parameter Feature
254254
| Name | Supported | Defined By |
255255
| ---- | --------- | ---------- |
256256
|Name|✗|OAS2,OAS3
257257
|Required|✗|OAS2,OAS3
258-
|In_Path||OAS2,OAS3
259-
|In_Query||OAS2,OAS3
260-
|In_Header||OAS2,OAS3
261-
|In_Cookie||OAS3
258+
|In_Path||OAS2,OAS3
259+
|In_Query||OAS2,OAS3
260+
|In_Header||OAS2,OAS3
261+
|In_Cookie||OAS3
262262
|Style_Matrix|✗|OAS3
263263
|Style_Label|✗|OAS3
264264
|Style_Form|✗|OAS3

src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java

+9-23
Original file line numberDiff line numberDiff line change
@@ -159,42 +159,28 @@ public class DefaultGenerator implements Generator {
159159
static {
160160
DefaultFeatureSet = FeatureSet.newBuilder()
161161
.includeDataTypeFeatures(
162-
DataTypeFeature.Int32, DataTypeFeature.Int64, DataTypeFeature.Float, DataTypeFeature.Double,
163-
DataTypeFeature.String, DataTypeFeature.Byte, DataTypeFeature.Binary,
164-
DataTypeFeature.Boolean, DataTypeFeature.Date, DataTypeFeature.DateTime, DataTypeFeature.Password,
165-
DataTypeFeature.File, DataTypeFeature.Array, DataTypeFeature.Object, DataTypeFeature.Enum
166-
// Custom types are template specific
162+
DataTypeFeature.Int32, DataTypeFeature.Int64, DataTypeFeature.Integer, DataTypeFeature.Float, DataTypeFeature.Double,
163+
DataTypeFeature.String,
164+
DataTypeFeature.Boolean, DataTypeFeature.Date, DataTypeFeature.DateTime,
165+
DataTypeFeature.Array, DataTypeFeature.Object, DataTypeFeature.Enum, DataTypeFeature.Uuid,
166+
DataTypeFeature.Null, DataTypeFeature.AnyType
167167
)
168168
.includeDocumentationFeatures(
169-
DocumentationFeature.Api, DocumentationFeature.ComponentSchemas
170-
// README is template specific
171169
)
172170
.includeComponentsFeatures(
173-
ComponentsFeature.schemas
174171
)
175172
.includeGlobalFeatures(
176-
GlobalFeature.Info,
177-
GlobalFeature.Components
173+
GlobalFeature.Info
178174
)
179175
.includeSchemaFeatures(
180176
SchemaFeature.Type, SchemaFeature.Format,
181177
SchemaFeature.Items, SchemaFeature.Properties,
182178
SchemaFeature.Required, SchemaFeature.AdditionalProperties,
183179
SchemaFeature.Ref
184180
)
185-
.includeParameterFeatures(
186-
ParameterFeature.In_Path, ParameterFeature.In_Query, ParameterFeature.In_Header,
187-
ParameterFeature.In_Cookie
188-
)
189-
.includeOperationFeatures(
190-
OperationFeature.Responses_Default, OperationFeature.Responses_HttpStatusCode
191-
)
192-
.includeSecurityFeatures(
193-
SecurityFeature.ApiKey, SecurityFeature.HTTP_Basic, SecurityFeature.HTTP_Bearer,
194-
SecurityFeature.OAuth2_Implicit, SecurityFeature.OAuth2_Password,
195-
SecurityFeature.OAuth2_ClientCredentials, SecurityFeature.OAuth2_AuthorizationCode
196-
// OpenIDConnect not yet supported
197-
)
181+
.includeParameterFeatures()
182+
.includeOperationFeatures()
183+
.includeSecurityFeatures()
198184
.includeWireFormatFeatures(
199185
WireFormatFeature.JSON
200186
// PROTOBUF and Custom are generator specific

src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java

+11-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@
3030
import org.openapijsonschematools.codegen.generators.generatormetadata.FeatureSet;
3131
import org.openapijsonschematools.codegen.generators.generatormetadata.Stability;
3232
import org.openapijsonschematools.codegen.generators.generatormetadata.features.ClientModificationFeature;
33+
import org.openapijsonschematools.codegen.generators.generatormetadata.features.ComponentsFeature;
3334
import org.openapijsonschematools.codegen.generators.generatormetadata.features.GlobalFeature;
35+
import org.openapijsonschematools.codegen.generators.generatormetadata.features.OperationFeature;
3436
import org.openapijsonschematools.codegen.generators.generatormetadata.features.SchemaFeature;
3537
import org.openapijsonschematools.codegen.common.CodegenConstants;
3638
import org.openapijsonschematools.codegen.generators.generatormetadata.GeneratorType;
@@ -241,13 +243,18 @@ public JavaClientGenerator() {
241243
instantiationTypes.put("null", "Void (null)");
242244

243245
modifyFeatureSet(features -> features
244-
.includeDocumentationFeatures(DocumentationFeature.Readme, DocumentationFeature.Servers)
245-
.securityFeatures(EnumSet.noneOf(
246-
SecurityFeature.class
247-
))
246+
.includeDocumentationFeatures(
247+
DocumentationFeature.Readme,
248+
DocumentationFeature.Servers,
249+
DocumentationFeature.ComponentSchemas
250+
)
248251
.includeGlobalFeatures(
252+
GlobalFeature.Components,
249253
GlobalFeature.Servers
250254
)
255+
.includeComponentsFeatures(
256+
ComponentsFeature.schemas
257+
)
251258
.includeSchemaFeatures(
252259
SchemaFeature.AdditionalProperties,
253260
SchemaFeature.AllOf,

src/main/java/org/openapijsonschematools/codegen/generators/PythonClientGenerator.java

+4-9
Original file line numberDiff line numberDiff line change
@@ -246,15 +246,11 @@ public PythonClientGenerator() {
246246
DocumentationFeature.ComponentSecuritySchemes,
247247
DocumentationFeature.Api
248248
)
249-
.wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.Custom))
250-
.securityFeatures(EnumSet.of(
249+
.includeWireFormatFeatures(WireFormatFeature.JSON, WireFormatFeature.Custom)
250+
.includeSecurityFeatures(
251251
SecurityFeature.ApiKey,
252252
SecurityFeature.HTTP_Basic,
253253
SecurityFeature.HTTP_Bearer
254-
))
255-
.excludeSecurityFeatures(
256-
SecurityFeature.OAuth2_Implicit, SecurityFeature.OAuth2_Password,
257-
SecurityFeature.OAuth2_ClientCredentials, SecurityFeature.OAuth2_AuthorizationCode
258254
)
259255
.includeGlobalFeatures(
260256
GlobalFeature.Info,
@@ -289,12 +285,11 @@ public PythonClientGenerator() {
289285
ParameterFeature.Content
290286
)
291287
.includeOperationFeatures(
288+
OperationFeature.Responses_Default,
289+
OperationFeature.Responses_HttpStatusCode,
292290
OperationFeature.Responses_RangedResponseCodes,
293291
OperationFeature.Responses_RedirectionResponse
294292
)
295-
.excludeParameterFeatures(
296-
ParameterFeature.In_Cookie
297-
)
298293
);
299294

300295
modelPackage = "components.schema";

0 commit comments

Comments
 (0)