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

v2 schemas in modules #107

Merged
merged 50 commits into from
Dec 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
9927ab8
Removes ModelMap and ModelsMap java classes
spacether Dec 21, 2022
5d8722b
Sample regen
spacether Dec 21, 2022
4b8636b
Fixes model header template
spacether Dec 21, 2022
a0706bb
Adds spaces back into header template
spacether Dec 21, 2022
111acff
Adds component schema imports and readme listing back in
spacether Dec 21, 2022
b97afcb
Sorts schemas
spacether Dec 21, 2022
331dfb1
Sorts schemas
spacether Dec 21, 2022
d11dc13
Removes redundant import setting, imports are available in all Codege…
spacether Dec 21, 2022
04e3842
Fixes file imports
spacether Dec 21, 2022
5de8c3f
Writes header schema files
spacether Dec 21, 2022
515e339
improves parameter imports
spacether Dec 21, 2022
65fae91
Removes redundant header imports when schema is refed
spacether Dec 21, 2022
1f0be9c
Adds parameter schema files
spacether Dec 21, 2022
d89867a
Adds parameter schemas
spacether Dec 21, 2022
1fda5e4
Writes response header schemas
spacether Dec 22, 2022
59ac7ad
Updates generateSchema signature
spacether Dec 22, 2022
09290c1
Refactors header generation into generateHeader
spacether Dec 22, 2022
246df31
Adds helper methods for header/parameter schema and schema jsonPath r…
spacether Dec 22, 2022
786cc5d
Uses generateParameter in path operations
spacether Dec 22, 2022
47b4992
Refactors header schema generation into generateHeader
spacether Dec 22, 2022
6ec8ba8
Refactors component requestBody generation
spacether Dec 23, 2022
075424d
Generates requestBody schemas
spacether Dec 23, 2022
0996080
Fixes response header schema definitions
spacether Dec 23, 2022
2b2bbcc
Adds code to generate response body imports
spacether Dec 23, 2022
238d0fa
Generates response body schemas
spacether Dec 23, 2022
932a78d
Removes inline schema definition in response modules
spacether Dec 23, 2022
d0838a7
Removes unneeded constants + methods
spacether Dec 23, 2022
be23dd0
Regens samples
spacether Dec 23, 2022
fe1a308
Removes unneeded imports
spacether Dec 23, 2022
72657c5
Fixes response module names
spacether Dec 23, 2022
bc51ed2
Samples regen
spacether Dec 23, 2022
a4dbc12
Samples regen
spacether Dec 23, 2022
c3d7f3c
Samples regen, test fix
spacether Dec 24, 2022
0f6ffa7
Samples regen using getKey for schema filename
spacether Dec 24, 2022
5add319
Samples regen using getKey for schema filename
spacether Dec 24, 2022
51b0c0c
Adds needed imports, sample regen
spacether Dec 24, 2022
6353097
Fixes header paramName
spacether Dec 24, 2022
9c075f4
Adds more missing imports
spacether Dec 24, 2022
b2a32be
Fixes header reference
spacether Dec 24, 2022
6d825ab
Fixes schema model names
spacether Dec 24, 2022
01e34ba
Renegerates schema tests
spacether Dec 24, 2022
69fbffb
Fixes header schema path
spacether Dec 24, 2022
8e91324
Fixes schema $ref import in request bodies
spacether Dec 24, 2022
3e6e671
Fixes request body endpoint tests
spacether Dec 24, 2022
9e14a78
Fixes java test errors
spacether Dec 25, 2022
14046c1
FIxes java tests
spacether Dec 25, 2022
0f40656
Samples regen
spacether Dec 25, 2022
8ffdc4b
Samples regen
spacether Dec 25, 2022
d66cbbb
removes incororect tests
spacether Dec 25, 2022
d2dbf2a
Handles _Not schema
spacether Dec 25, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,13 @@
import org.openapitools.codegen.api.TemplatingEngineAdapter;
import org.openapitools.codegen.meta.FeatureSet;
import org.openapitools.codegen.meta.GeneratorMetadata;
import org.openapitools.codegen.model.ModelMap;
import org.openapitools.codegen.model.ModelsMap;
import org.openapitools.codegen.model.OperationsMap;

import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public interface CodegenConfig {
String getFilesMetadataFilename();
Expand Down Expand Up @@ -85,19 +84,19 @@ public interface CodegenConfig {

String requestBodyDocFileFolder();

String headerFileFolder();
String headerFileFolder(String componentName);

String headerDocFileFolder();

String parameterFileFolder();
String parameterFileFolder(String componentName);

String parameterDocFileFolder();

String modelPackage();

String packageName();

String requestBodyFileFolder();
String requestBodyFileFolder(String componentName);

String responseFileFolder(String componentName);

Expand Down Expand Up @@ -191,14 +190,6 @@ public interface CodegenConfig {

Set<String> pathEndpointDocTemplateFiles();

Map<String, String> pathEndpointRequestBodyTemplateFiles();

Set<String> pathEndpointParameterTemplateFiles();

Map<String, String> pathEndpointResponseTemplateFiles();

Set<String> pathEndpointResponseHeaderTemplateFiles();

Map<String, String> responseTemplateFiles();

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

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

Map<String, ModelsMap> updateAllModels(Map<String, ModelsMap> objs);
TreeMap<String, CodegenSchema> updateAllModels(TreeMap<String, CodegenSchema> objs);

void postProcess();

Map<String, ModelsMap> postProcessAllModels(Map<String, ModelsMap> objs);
TreeMap<String, CodegenSchema> postProcessAllModels(TreeMap<String, CodegenSchema> schemas);

ModelsMap postProcessModels(ModelsMap objs);
TreeMap<String, CodegenSchema> postProcessModels(TreeMap<String, CodegenSchema> schemas);

OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels);
OperationsMap postProcessOperationsWithModels(OperationsMap objs, TreeMap<String, CodegenSchema> schemas);

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

void postProcessModelProperty(CodegenSchema model, CodegenSchema property);

void postProcessParameter(CodegenParameter parameter);

String modelFilename(String templateName, String modelName);
String schemaFilename(String templateName, String jsonPath);

String headerFilename(String templateName, String jsonPath);

String parameterFilename(String templateName, String jsonPath);

String requestBodyFilename(String templateName, String jsonPath);

String responseFilename(String templateName, String jsonPath);

String apiFilename(String templateName, String tag);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.openapitools.codegen;

import org.openapitools.codegen.utils.ModelUtils;

import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
Expand Down Expand Up @@ -92,6 +94,32 @@ public CodegenHeader copy() {
return output;
}

public CodegenSchema getSetSchema() {
if (schema != null) {
return schema;
}
if (content != null) {
for (CodegenMediaType codegenMediaType: content.values()) {
return codegenMediaType.getSchema();
}
}
return null;
}

public String getSetSchemaJsonPath(String jsonPath) {
if (schema != null) {
return jsonPath + "/schema";
}
if (content != null) {
for (Map.Entry<String, CodegenMediaType> entry: content.entrySet()) {
if (entry.getValue().getSchema() != null) {
String contentType = entry.getKey();
return jsonPath + "/content/" + ModelUtils.encodeSlashes(contentType) + "/schema";
}
}
}
return null;
}
public String getComponentModule() {
return componentModule;
}
Expand Down
Loading