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

Commit 60d63b1

Browse files
committed
v2 schemas in modules (#107)
* Removes ModelMap and ModelsMap java classes * Sample regen * Fixes model header template * Adds spaces back into header template * Adds component schema imports and readme listing back in * Sorts schemas * Sorts schemas * Removes redundant import setting, imports are available in all CodegenX instances * Fixes file imports * Writes header schema files * improves parameter imports * Removes redundant header imports when schema is refed * Adds parameter schema files * Adds parameter schemas * Writes response header schemas * Updates generateSchema signature * Refactors header generation into generateHeader * Adds helper methods for header/parameter schema and schema jsonPath retrieval * Uses generateParameter in path operations * Refactors header schema generation into generateHeader * Refactors component requestBody generation * Generates requestBody schemas * Fixes response header schema definitions * Adds code to generate response body imports * Generates response body schemas * Removes inline schema definition in response modules * Removes unneeded constants + methods * Regens samples * Removes unneeded imports * Fixes response module names * Samples regen * Samples regen * Samples regen, test fix * Samples regen using getKey for schema filename * Samples regen using getKey for schema filename * Adds needed imports, sample regen * Fixes header paramName * Adds more missing imports * Fixes header reference * Fixes schema model names * Renegerates schema tests * Fixes header schema path * Fixes schema $ref import in request bodies * Fixes request body endpoint tests * Fixes java test errors * FIxes java tests * Samples regen * Samples regen * removes incororect tests * Handles _Not schema
1 parent ae3d879 commit 60d63b1

File tree

1,668 files changed

+21937
-35719
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,668 files changed

+21937
-35719
lines changed

modules/openapi-json-schema-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,13 @@
3131
import org.openapitools.codegen.api.TemplatingEngineAdapter;
3232
import org.openapitools.codegen.meta.FeatureSet;
3333
import org.openapitools.codegen.meta.GeneratorMetadata;
34-
import org.openapitools.codegen.model.ModelMap;
35-
import org.openapitools.codegen.model.ModelsMap;
3634
import org.openapitools.codegen.model.OperationsMap;
3735

3836
import java.io.File;
3937
import java.util.List;
4038
import java.util.Map;
4139
import java.util.Set;
40+
import java.util.TreeMap;
4241

4342
public interface CodegenConfig {
4443
String getFilesMetadataFilename();
@@ -85,19 +84,19 @@ public interface CodegenConfig {
8584

8685
String requestBodyDocFileFolder();
8786

88-
String headerFileFolder();
87+
String headerFileFolder(String componentName);
8988

9089
String headerDocFileFolder();
9190

92-
String parameterFileFolder();
91+
String parameterFileFolder(String componentName);
9392

9493
String parameterDocFileFolder();
9594

9695
String modelPackage();
9796

9897
String packageName();
9998

100-
String requestBodyFileFolder();
99+
String requestBodyFileFolder(String componentName);
101100

102101
String responseFileFolder(String componentName);
103102

@@ -191,14 +190,6 @@ public interface CodegenConfig {
191190

192191
Set<String> pathEndpointDocTemplateFiles();
193192

194-
Map<String, String> pathEndpointRequestBodyTemplateFiles();
195-
196-
Set<String> pathEndpointParameterTemplateFiles();
197-
198-
Map<String, String> pathEndpointResponseTemplateFiles();
199-
200-
Set<String> pathEndpointResponseHeaderTemplateFiles();
201-
202193
Map<String, String> responseTemplateFiles();
203194

204195
Map<String, String> responseDocTemplateFiles();
@@ -263,23 +254,31 @@ public interface CodegenConfig {
263254

264255
void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map<String, List<CodegenOperation>> operations);
265256

266-
Map<String, ModelsMap> updateAllModels(Map<String, ModelsMap> objs);
257+
TreeMap<String, CodegenSchema> updateAllModels(TreeMap<String, CodegenSchema> objs);
267258

268259
void postProcess();
269260

270-
Map<String, ModelsMap> postProcessAllModels(Map<String, ModelsMap> objs);
261+
TreeMap<String, CodegenSchema> postProcessAllModels(TreeMap<String, CodegenSchema> schemas);
271262

272-
ModelsMap postProcessModels(ModelsMap objs);
263+
TreeMap<String, CodegenSchema> postProcessModels(TreeMap<String, CodegenSchema> schemas);
273264

274-
OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels);
265+
OperationsMap postProcessOperationsWithModels(OperationsMap objs, TreeMap<String, CodegenSchema> schemas);
275266

276267
Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs);
277268

278269
void postProcessModelProperty(CodegenSchema model, CodegenSchema property);
279270

280271
void postProcessParameter(CodegenParameter parameter);
281272

282-
String modelFilename(String templateName, String modelName);
273+
String schemaFilename(String templateName, String jsonPath);
274+
275+
String headerFilename(String templateName, String jsonPath);
276+
277+
String parameterFilename(String templateName, String jsonPath);
278+
279+
String requestBodyFilename(String templateName, String jsonPath);
280+
281+
String responseFilename(String templateName, String jsonPath);
283282

284283
String apiFilename(String templateName, String tag);
285284

modules/openapi-json-schema-generator/src/main/java/org/openapitools/codegen/CodegenHeader.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
package org.openapitools.codegen;
1919

20+
import org.openapitools.codegen.utils.ModelUtils;
21+
2022
import java.util.HashMap;
2123
import java.util.HashSet;
2224
import java.util.LinkedHashMap;
@@ -92,6 +94,32 @@ public CodegenHeader copy() {
9294
return output;
9395
}
9496

97+
public CodegenSchema getSetSchema() {
98+
if (schema != null) {
99+
return schema;
100+
}
101+
if (content != null) {
102+
for (CodegenMediaType codegenMediaType: content.values()) {
103+
return codegenMediaType.getSchema();
104+
}
105+
}
106+
return null;
107+
}
108+
109+
public String getSetSchemaJsonPath(String jsonPath) {
110+
if (schema != null) {
111+
return jsonPath + "/schema";
112+
}
113+
if (content != null) {
114+
for (Map.Entry<String, CodegenMediaType> entry: content.entrySet()) {
115+
if (entry.getValue().getSchema() != null) {
116+
String contentType = entry.getKey();
117+
return jsonPath + "/content/" + ModelUtils.encodeSlashes(contentType) + "/schema";
118+
}
119+
}
120+
}
121+
return null;
122+
}
95123
public String getComponentModule() {
96124
return componentModule;
97125
}

0 commit comments

Comments
 (0)