forked from loafle/openapi-generator-original
Correct use of loggers with placeholders and remove some redundant operations (#8842)
* Remove redundant operations * Use logger correctly with object placeholders * static compile of frequently used pattern compile pattern ahead of time to reduce object creation and optimize method * Fix typo in method name
This commit is contained in:
parent
5ce64756a6
commit
a34569f065
@ -30,10 +30,10 @@ import java.util.*;
|
|||||||
public final class GeneratorSettings implements Serializable {
|
public final class GeneratorSettings implements Serializable {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(GeneratorSettings.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(GeneratorSettings.class);
|
||||||
private static String DEFAULT_GIT_HOST = "github.com";
|
private static final String DEFAULT_GIT_HOST = "github.com";
|
||||||
private static String DEFAULT_GIT_USER_ID = "GIT_USER_ID";
|
private static final String DEFAULT_GIT_USER_ID = "GIT_USER_ID";
|
||||||
private static String DEFAULT_GIT_REPO_ID = "GIT_REPO_ID";
|
private static final String DEFAULT_GIT_REPO_ID = "GIT_REPO_ID";
|
||||||
private static String DEFAULT_RELEASE_NOTE = "Minor update";
|
private static final String DEFAULT_RELEASE_NOTE = "Minor update";
|
||||||
|
|
||||||
private String generatorName;
|
private String generatorName;
|
||||||
private String apiPackage;
|
private String apiPackage;
|
||||||
@ -48,13 +48,13 @@ public final class GeneratorSettings implements Serializable {
|
|||||||
private String artifactVersion;
|
private String artifactVersion;
|
||||||
private String library;
|
private String library;
|
||||||
|
|
||||||
private ImmutableMap<String, String> instantiationTypes;
|
private final ImmutableMap<String, String> instantiationTypes;
|
||||||
private ImmutableMap<String, String> typeMappings;
|
private final ImmutableMap<String, String> typeMappings;
|
||||||
private ImmutableMap<String, Object> additionalProperties;
|
private final ImmutableMap<String, Object> additionalProperties;
|
||||||
private ImmutableMap<String, String> importMappings;
|
private final ImmutableMap<String, String> importMappings;
|
||||||
private ImmutableSet<String> languageSpecificPrimitives;
|
private final ImmutableSet<String> languageSpecificPrimitives;
|
||||||
private ImmutableMap<String, String> reservedWordMappings;
|
private final ImmutableMap<String, String> reservedWordMappings;
|
||||||
private ImmutableMap<String, String> serverVariables;
|
private final ImmutableMap<String, String> serverVariables;
|
||||||
|
|
||||||
private String gitHost;
|
private String gitHost;
|
||||||
private String gitUserId;
|
private String gitUserId;
|
||||||
|
@ -36,7 +36,7 @@ import java.util.regex.Pattern;
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
public class WorkflowSettings {
|
public class WorkflowSettings {
|
||||||
private static final AtomicLong lastWarning = new AtomicLong(0);
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowSettings.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowSettings.class);
|
||||||
public static final String DEFAULT_OUTPUT_DIR = ".";
|
public static final String DEFAULT_OUTPUT_DIR = ".";
|
||||||
public static final boolean DEFAULT_VERBOSE = false;
|
public static final boolean DEFAULT_VERBOSE = false;
|
||||||
|
@ -142,10 +142,10 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
protected GeneratorMetadata generatorMetadata;
|
protected GeneratorMetadata generatorMetadata;
|
||||||
protected String inputSpec;
|
protected String inputSpec;
|
||||||
protected String outputFolder = "";
|
protected String outputFolder = "";
|
||||||
protected Set<String> defaultIncludes = new HashSet<String>();
|
protected Set<String> defaultIncludes;
|
||||||
protected Map<String, String> typeMapping = new HashMap<String, String>();
|
protected Map<String, String> typeMapping;
|
||||||
protected Map<String, String> instantiationTypes = new HashMap<String, String>();
|
protected Map<String, String> instantiationTypes;
|
||||||
protected Set<String> reservedWords = new HashSet<String>();
|
protected Set<String> reservedWords;
|
||||||
protected Set<String> languageSpecificPrimitives = new HashSet<String>();
|
protected Set<String> languageSpecificPrimitives = new HashSet<String>();
|
||||||
protected Map<String, String> importMapping = new HashMap<String, String>();
|
protected Map<String, String> importMapping = new HashMap<String, String>();
|
||||||
protected String modelPackage = "", apiPackage = "", fileSuffix;
|
protected String modelPackage = "", apiPackage = "", fileSuffix;
|
||||||
@ -179,6 +179,10 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
protected boolean removeOperationIdPrefix;
|
protected boolean removeOperationIdPrefix;
|
||||||
protected boolean skipOperationExample;
|
protected boolean skipOperationExample;
|
||||||
|
|
||||||
|
protected final static Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)application\\/json(;.*)?");
|
||||||
|
protected final static Pattern JSON_VENDOR_MIME_PATTERN = Pattern.compile("(?i)application\\/vnd.(.*)+json(;.*)?");
|
||||||
|
private static final Pattern COMMON_PREFIX_ENUM_NAME = Pattern.compile("[a-zA-Z0-9]+\\z");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* True if the code generator supports multiple class inheritance.
|
* True if the code generator supports multiple class inheritance.
|
||||||
* This is used to model the parent hierarchy based on the 'allOf' composed schemas.
|
* This is used to model the parent hierarchy based on the 'allOf' composed schemas.
|
||||||
@ -315,12 +319,12 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.REMOVE_OPERATION_ID_PREFIX)) {
|
if (additionalProperties.containsKey(CodegenConstants.REMOVE_OPERATION_ID_PREFIX)) {
|
||||||
this.setRemoveOperationIdPrefix(Boolean.valueOf(additionalProperties
|
this.setRemoveOperationIdPrefix(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.REMOVE_OPERATION_ID_PREFIX).toString()));
|
.get(CodegenConstants.REMOVE_OPERATION_ID_PREFIX).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.SKIP_OPERATION_EXAMPLE)) {
|
if (additionalProperties.containsKey(CodegenConstants.SKIP_OPERATION_EXAMPLE)) {
|
||||||
this.setSkipOperationExample(Boolean.valueOf(additionalProperties
|
this.setSkipOperationExample(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.SKIP_OPERATION_EXAMPLE).toString()));
|
.get(CodegenConstants.SKIP_OPERATION_EXAMPLE).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,26 +334,26 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.ENABLE_POST_PROCESS_FILE)) {
|
if (additionalProperties.containsKey(CodegenConstants.ENABLE_POST_PROCESS_FILE)) {
|
||||||
this.setEnablePostProcessFile(Boolean.valueOf(additionalProperties
|
this.setEnablePostProcessFile(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.ENABLE_POST_PROCESS_FILE).toString()));
|
.get(CodegenConstants.ENABLE_POST_PROCESS_FILE).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.GENERATE_ALIAS_AS_MODEL)) {
|
if (additionalProperties.containsKey(CodegenConstants.GENERATE_ALIAS_AS_MODEL)) {
|
||||||
ModelUtils.setGenerateAliasAsModel(Boolean.valueOf(additionalProperties
|
ModelUtils.setGenerateAliasAsModel(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.GENERATE_ALIAS_AS_MODEL).toString()));
|
.get(CodegenConstants.GENERATE_ALIAS_AS_MODEL).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.REMOVE_ENUM_VALUE_PREFIX)) {
|
if (additionalProperties.containsKey(CodegenConstants.REMOVE_ENUM_VALUE_PREFIX)) {
|
||||||
this.setRemoveEnumValuePrefix(Boolean.valueOf(additionalProperties
|
this.setRemoveEnumValuePrefix(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.REMOVE_ENUM_VALUE_PREFIX).toString()));
|
.get(CodegenConstants.REMOVE_ENUM_VALUE_PREFIX).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR)) {
|
if (additionalProperties.containsKey(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR)) {
|
||||||
this.setLegacyDiscriminatorBehavior(Boolean.valueOf(additionalProperties
|
this.setLegacyDiscriminatorBehavior(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR).toString()));
|
.get(CodegenConstants.LEGACY_DISCRIMINATOR_BEHAVIOR).toString()));
|
||||||
}
|
}
|
||||||
if (additionalProperties.containsKey(CodegenConstants.DISALLOW_ADDITIONAL_PROPERTIES_IF_NOT_PRESENT)) {
|
if (additionalProperties.containsKey(CodegenConstants.DISALLOW_ADDITIONAL_PROPERTIES_IF_NOT_PRESENT)) {
|
||||||
this.setDisallowAdditionalPropertiesIfNotPresent(Boolean.valueOf(additionalProperties
|
this.setDisallowAdditionalPropertiesIfNotPresent(Boolean.parseBoolean(additionalProperties
|
||||||
.get(CodegenConstants.DISALLOW_ADDITIONAL_PROPERTIES_IF_NOT_PRESENT).toString()));
|
.get(CodegenConstants.DISALLOW_ADDITIONAL_PROPERTIES_IF_NOT_PRESENT).toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -402,10 +406,9 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
Map<String, Object> modelValue = new HashMap<>(additionalProperties());
|
Map<String, Object> modelValue = new HashMap<>(additionalProperties());
|
||||||
modelValue.put("model", cm);
|
modelValue.put("model", cm);
|
||||||
|
|
||||||
List<Object> modelsValue = Arrays.asList(modelValue);
|
List<Map<String, String>> importsValue = new ArrayList<>();
|
||||||
List<Map<String, String>> importsValue = new ArrayList<Map<String, String>>();
|
|
||||||
Map<String, Object> objsValue = new HashMap<>();
|
Map<String, Object> objsValue = new HashMap<>();
|
||||||
objsValue.put("models", modelsValue);
|
objsValue.put("models", Collections.singletonList(modelValue));
|
||||||
objsValue.put("package", modelPackage());
|
objsValue.put("package", modelPackage());
|
||||||
objsValue.put("imports", importsValue);
|
objsValue.put("imports", importsValue);
|
||||||
objsValue.put("classname", cm.classname);
|
objsValue.put("classname", cm.classname);
|
||||||
@ -416,7 +419,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
// Gather data from all the models that contain oneOf into OneOfImplementorAdditionalData classes
|
// Gather data from all the models that contain oneOf into OneOfImplementorAdditionalData classes
|
||||||
// (see docstring of that class to find out what information is gathered and why)
|
// (see docstring of that class to find out what information is gathered and why)
|
||||||
Map<String, OneOfImplementorAdditionalData> additionalDataMap = new HashMap<String, OneOfImplementorAdditionalData>();
|
Map<String, OneOfImplementorAdditionalData> additionalDataMap = new HashMap<String, OneOfImplementorAdditionalData>();
|
||||||
for (Map.Entry modelsEntry : objs.entrySet()) {
|
for (Map.Entry<String, Object> modelsEntry : objs.entrySet()) {
|
||||||
Map<String, Object> modelsAttrs = (Map<String, Object>) modelsEntry.getValue();
|
Map<String, Object> modelsAttrs = (Map<String, Object>) modelsEntry.getValue();
|
||||||
List<Object> models = (List<Object>) modelsAttrs.get("models");
|
List<Object> models = (List<Object>) modelsAttrs.get("models");
|
||||||
List<Map<String, String>> modelsImports = (List<Map<String, String>>) modelsAttrs.getOrDefault("imports", new ArrayList<Map<String, String>>());
|
List<Map<String, String>> modelsImports = (List<Map<String, String>>) modelsAttrs.getOrDefault("imports", new ArrayList<Map<String, String>>());
|
||||||
@ -438,7 +441,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add all the data from OneOfImplementorAdditionalData classes to the implementing models
|
// Add all the data from OneOfImplementorAdditionalData classes to the implementing models
|
||||||
for (Map.Entry modelsEntry : objs.entrySet()) {
|
for (Map.Entry<String, Object> modelsEntry : objs.entrySet()) {
|
||||||
Map<String, Object> modelsAttrs = (Map<String, Object>) modelsEntry.getValue();
|
Map<String, Object> modelsAttrs = (Map<String, Object>) modelsEntry.getValue();
|
||||||
List<Object> models = (List<Object>) modelsAttrs.get("models");
|
List<Object> models = (List<Object>) modelsAttrs.get("models");
|
||||||
List<Map<String, String>> imports = (List<Map<String, String>>) modelsAttrs.get("imports");
|
List<Map<String, String>> imports = (List<Map<String, String>>) modelsAttrs.get("imports");
|
||||||
@ -464,10 +467,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
protected Map<String, Schema> getModelNameToSchemaCache() {
|
protected Map<String, Schema> getModelNameToSchemaCache() {
|
||||||
if (modelNameToSchemaCache == null) {
|
if (modelNameToSchemaCache == null) {
|
||||||
// Create a cache to efficiently lookup schema based on model name.
|
// Create a cache to efficiently lookup schema based on model name.
|
||||||
Map<String, Schema> m = new HashMap<String, Schema>();
|
Map<String, Schema> m = new HashMap<>();
|
||||||
ModelUtils.getSchemas(openAPI).forEach((key, schema) -> {
|
ModelUtils.getSchemas(openAPI).forEach((key, schema) -> m.put(toModelName(key), schema));
|
||||||
m.put(toModelName(key), schema);
|
|
||||||
});
|
|
||||||
modelNameToSchemaCache = Collections.unmodifiableMap(m);
|
modelNameToSchemaCache = Collections.unmodifiableMap(m);
|
||||||
}
|
}
|
||||||
return modelNameToSchemaCache;
|
return modelNameToSchemaCache;
|
||||||
@ -508,7 +509,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
cm.setParentModel(allModels.get(cm.getParent()));
|
cm.setParentModel(allModels.get(cm.getParent()));
|
||||||
}
|
}
|
||||||
if (cm.getInterfaces() != null && !cm.getInterfaces().isEmpty()) {
|
if (cm.getInterfaces() != null && !cm.getInterfaces().isEmpty()) {
|
||||||
cm.setInterfaceModels(new ArrayList<CodegenModel>(cm.getInterfaces().size()));
|
cm.setInterfaceModels(new ArrayList<>(cm.getInterfaces().size()));
|
||||||
for (String intf : cm.getInterfaces()) {
|
for (String intf : cm.getInterfaces()) {
|
||||||
CodegenModel intfModel = allModels.get(intf);
|
CodegenModel intfModel = allModels.get(intf);
|
||||||
if (intfModel != null) {
|
if (intfModel != null) {
|
||||||
@ -526,7 +527,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
// TODO Determine what to do if the parent discriminator name == the grandparent discriminator name
|
// TODO Determine what to do if the parent discriminator name == the grandparent discriminator name
|
||||||
while (parent != null) {
|
while (parent != null) {
|
||||||
if (parent.getChildren() == null) {
|
if (parent.getChildren() == null) {
|
||||||
parent.setChildren(new ArrayList<CodegenModel>());
|
parent.setChildren(new ArrayList<>());
|
||||||
}
|
}
|
||||||
parent.getChildren().add(cm);
|
parent.getChildren().add(cm);
|
||||||
parent.hasChildren = true;
|
parent.hasChildren = true;
|
||||||
@ -575,13 +576,13 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
return prop.dataType == null ? null : prop;
|
return prop.dataType == null ? null : prop;
|
||||||
})
|
})
|
||||||
.filter(prop -> prop != null)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setCircularReferencesOnProperties(final String root,
|
private void setCircularReferencesOnProperties(final String root,
|
||||||
final Map<String, List<CodegenProperty>> dependencyMap) {
|
final Map<String, List<CodegenProperty>> dependencyMap) {
|
||||||
dependencyMap.getOrDefault(root, new ArrayList<>()).stream()
|
dependencyMap.getOrDefault(root, new ArrayList<>())
|
||||||
.forEach(prop -> {
|
.forEach(prop -> {
|
||||||
final List<String> unvisited =
|
final List<String> unvisited =
|
||||||
Collections.singletonList(prop.isContainer ? prop.items.dataType : prop.dataType);
|
Collections.singletonList(prop.isContainer ? prop.items.dataType : prop.dataType);
|
||||||
@ -686,7 +687,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
String prefix = StringUtils.getCommonPrefix(listStr);
|
String prefix = StringUtils.getCommonPrefix(listStr);
|
||||||
// exclude trailing characters that should be part of a valid variable
|
// exclude trailing characters that should be part of a valid variable
|
||||||
// e.g. ["status-on", "status-off"] => "status-" (not "status-o")
|
// e.g. ["status-on", "status-off"] => "status-" (not "status-o")
|
||||||
return prefix.replaceAll("[a-zA-Z0-9]+\\z", "");
|
final Matcher matcher = COMMON_PREFIX_ENUM_NAME.matcher(prefix);
|
||||||
|
return matcher.replaceAll("");
|
||||||
} catch (ArrayStoreException e) {
|
} catch (ArrayStoreException e) {
|
||||||
// do nothing, just return default value
|
// do nothing, just return default value
|
||||||
}
|
}
|
||||||
@ -1628,7 +1630,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
} else if (Parameter.StyleEnum.SPACEDELIMITED.equals(qp.getStyle())) {
|
} else if (Parameter.StyleEnum.SPACEDELIMITED.equals(qp.getStyle())) {
|
||||||
paramPart.append("%20");
|
paramPart.append("%20");
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("query parameter '" + param.getName() + "style not support: " + qp.getStyle());
|
LOGGER.warn("query parameter '{}' style not support: {}", param.getName(), qp.getStyle());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
paramPart.append(param.getName());
|
paramPart.append(param.getName());
|
||||||
@ -2004,7 +2006,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
return getAlias(schemaName);
|
return getAlias(schemaName);
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Error obtaining the datatype from ref:" + unaliasSchema.get$ref() + ". Default to 'object'");
|
LOGGER.warn("Error obtaining the datatype from ref: {}. Default to 'object'", unaliasSchema.get$ref());
|
||||||
return "object";
|
return "object";
|
||||||
}
|
}
|
||||||
} else { // primitive type or model
|
} else { // primitive type or model
|
||||||
@ -2092,7 +2094,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
return "AnyType";
|
return "AnyType";
|
||||||
} else if (StringUtils.isNotEmpty(schema.getType())) {
|
} else if (StringUtils.isNotEmpty(schema.getType())) {
|
||||||
if (!importMapping.containsKey(schema.getType())) {
|
if (!importMapping.containsKey(schema.getType())) {
|
||||||
LOGGER.warn("Unknown type found in the schema: " + schema.getType());
|
LOGGER.warn("Unknown type found in the schema: {}", schema.getType());
|
||||||
}
|
}
|
||||||
return schema.getType();
|
return schema.getType();
|
||||||
}
|
}
|
||||||
@ -2799,10 +2801,10 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
* @return the list of oneOf and anyOf MappedModel that need to be added to the discriminator map
|
* @return the list of oneOf and anyOf MappedModel that need to be added to the discriminator map
|
||||||
*/
|
*/
|
||||||
protected List<MappedModel> getOneOfAnyOfDescendants(String composedSchemaName, String discPropName, ComposedSchema c, OpenAPI openAPI) {
|
protected List<MappedModel> getOneOfAnyOfDescendants(String composedSchemaName, String discPropName, ComposedSchema c, OpenAPI openAPI) {
|
||||||
ArrayList<List<Schema>> listOLists = new ArrayList<List<Schema>>();
|
ArrayList<List<Schema>> listOLists = new ArrayList<>();
|
||||||
listOLists.add(c.getOneOf());
|
listOLists.add(c.getOneOf());
|
||||||
listOLists.add(c.getAnyOf());
|
listOLists.add(c.getAnyOf());
|
||||||
List<MappedModel> descendentSchemas = new ArrayList();
|
List<MappedModel> descendentSchemas = new ArrayList<>();
|
||||||
for (List<Schema> schemaList : listOLists) {
|
for (List<Schema> schemaList : listOLists) {
|
||||||
if (schemaList == null) {
|
if (schemaList == null) {
|
||||||
continue;
|
continue;
|
||||||
@ -3061,11 +3063,11 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
LOGGER.error("Undefined property/schema for `{}`. Default to type:string.", name);
|
LOGGER.error("Undefined property/schema for `{}`. Default to type:string.", name);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
LOGGER.debug("debugging fromProperty for " + name + " : " + p);
|
LOGGER.debug("debugging fromProperty for {} : {}", name, p);
|
||||||
NamedSchema ns = new NamedSchema(name, p);
|
NamedSchema ns = new NamedSchema(name, p);
|
||||||
CodegenProperty cpc = schemaCodegenPropertyCache.get(ns);
|
CodegenProperty cpc = schemaCodegenPropertyCache.get(ns);
|
||||||
if (cpc != null) {
|
if (cpc != null) {
|
||||||
LOGGER.debug("Cached fromProperty for " + name + " : " + p.getName());
|
LOGGER.debug("Cached fromProperty for {} : {}", name, p.getName());
|
||||||
return cpc;
|
return cpc;
|
||||||
}
|
}
|
||||||
// unalias schema
|
// unalias schema
|
||||||
@ -3317,8 +3319,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
property.isModel = (ModelUtils.isComposedSchema(refOrCurrent) || ModelUtils.isObjectSchema(refOrCurrent)) && ModelUtils.isModel(refOrCurrent);
|
property.isModel = (ModelUtils.isComposedSchema(refOrCurrent) || ModelUtils.isObjectSchema(refOrCurrent)) && ModelUtils.isModel(refOrCurrent);
|
||||||
}
|
}
|
||||||
|
|
||||||
addVarsRequiredVarsAdditionaProps(p, property);
|
addVarsRequiredVarsAdditionalProps(p, property);
|
||||||
LOGGER.debug("debugging from property return: " + property);
|
LOGGER.debug("debugging from property return: {}", property);
|
||||||
schemaCodegenPropertyCache.put(ns, property);
|
schemaCodegenPropertyCache.put(ns, property);
|
||||||
return property;
|
return property;
|
||||||
}
|
}
|
||||||
@ -3331,7 +3333,9 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
*/
|
*/
|
||||||
protected void updatePropertyForArray(CodegenProperty property, CodegenProperty innerProperty) {
|
protected void updatePropertyForArray(CodegenProperty property, CodegenProperty innerProperty) {
|
||||||
if (innerProperty == null) {
|
if (innerProperty == null) {
|
||||||
LOGGER.warn("skipping invalid array property " + Json.pretty(property));
|
if(LOGGER.isWarnEnabled()) {
|
||||||
|
LOGGER.warn("skipping invalid array property {}", Json.pretty(property));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
property.dataFormat = innerProperty.dataFormat;
|
property.dataFormat = innerProperty.dataFormat;
|
||||||
@ -3364,7 +3368,9 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
*/
|
*/
|
||||||
protected void updatePropertyForMap(CodegenProperty property, CodegenProperty innerProperty) {
|
protected void updatePropertyForMap(CodegenProperty property, CodegenProperty innerProperty) {
|
||||||
if (innerProperty == null) {
|
if (innerProperty == null) {
|
||||||
LOGGER.warn("skipping invalid map property " + Json.pretty(property));
|
if(LOGGER.isWarnEnabled()) {
|
||||||
|
LOGGER.warn("skipping invalid map property {}", Json.pretty(property));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!languageSpecificPrimitives.contains(innerProperty.baseType)) {
|
if (!languageSpecificPrimitives.contains(innerProperty.baseType)) {
|
||||||
@ -3413,7 +3419,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
protected Map<String, Object> getInnerEnumAllowableValues(CodegenProperty property) {
|
protected Map<String, Object> getInnerEnumAllowableValues(CodegenProperty property) {
|
||||||
CodegenProperty currentProperty = getMostInnerItems(property);
|
CodegenProperty currentProperty = getMostInnerItems(property);
|
||||||
|
|
||||||
return currentProperty == null ? new HashMap<String, Object>() : currentProperty.allowableValues;
|
return currentProperty == null ? new HashMap<>() : currentProperty.allowableValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -3614,7 +3620,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
String httpMethod,
|
String httpMethod,
|
||||||
Operation operation,
|
Operation operation,
|
||||||
List<Server> servers) {
|
List<Server> servers) {
|
||||||
LOGGER.debug("fromOperation => operation: " + operation);
|
LOGGER.debug("fromOperation => operation: {}", operation);
|
||||||
if (operation == null)
|
if (operation == null)
|
||||||
throw new RuntimeException("operation cannot be null in fromOperation");
|
throw new RuntimeException("operation cannot be null in fromOperation");
|
||||||
|
|
||||||
@ -3794,7 +3800,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
} else if (param instanceof CookieParameter || "cookie".equalsIgnoreCase(param.getIn())) {
|
} else if (param instanceof CookieParameter || "cookie".equalsIgnoreCase(param.getIn())) {
|
||||||
cookieParams.add(p.copy());
|
cookieParams.add(p.copy());
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Unknown parameter type " + p.baseType + " for " + p.baseName);
|
LOGGER.warn("Unknown parameter type {} for {}", p.baseType, p.baseName);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -4031,7 +4037,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
} else if (Boolean.TRUE.equals(cp.isAnyType)) {
|
} else if (Boolean.TRUE.equals(cp.isAnyType)) {
|
||||||
r.isAnyType = true;
|
r.isAnyType = true;
|
||||||
} else {
|
} else {
|
||||||
LOGGER.debug("Property type is not primitive: " + cp.dataType);
|
LOGGER.debug("Property type is not primitive: {}", cp.dataType);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cp.isContainer) {
|
if (cp.isContainer) {
|
||||||
@ -4047,7 +4053,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
r.primitiveType = (r.baseType == null || languageSpecificPrimitives().contains(r.baseType));
|
r.primitiveType = (r.baseType == null || languageSpecificPrimitives().contains(r.baseType));
|
||||||
|
|
||||||
addVarsRequiredVarsAdditionaProps(responseSchema, r);
|
addVarsRequiredVarsAdditionalProps(responseSchema, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.baseType == null) {
|
if (r.baseType == null) {
|
||||||
@ -4143,8 +4149,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
codegenParameter.jsonSchema = Json.pretty(parameter);
|
codegenParameter.jsonSchema = Json.pretty(parameter);
|
||||||
|
|
||||||
if (GlobalSettings.getProperty("debugParser") != null) {
|
if (GlobalSettings.getProperty("debugParser") != null) {
|
||||||
LOGGER.info("working on Parameter " + parameter.getName());
|
LOGGER.info("working on Parameter {}", parameter.getName());
|
||||||
LOGGER.info("JSON schema: " + codegenParameter.jsonSchema);
|
LOGGER.info("JSON schema: {}", codegenParameter.jsonSchema);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parameter.getExtensions() != null && !parameter.getExtensions().isEmpty()) {
|
if (parameter.getExtensions() != null && !parameter.getExtensions().isEmpty()) {
|
||||||
@ -4169,7 +4175,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
if (parameterSchema != null) {
|
if (parameterSchema != null) {
|
||||||
parameterSchema = unaliasSchema(parameterSchema, Collections.<String, String>emptyMap());
|
parameterSchema = unaliasSchema(parameterSchema, Collections.<String, String>emptyMap());
|
||||||
if (parameterSchema == null) {
|
if (parameterSchema == null) {
|
||||||
LOGGER.warn("warning! Schema not found for parameter \"" + parameter.getName() + "\", using String");
|
LOGGER.warn("warning! Schema not found for parameter \" {} \", using String", parameter.getName());
|
||||||
parameterSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to missing type definition.");
|
parameterSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to missing type definition.");
|
||||||
}
|
}
|
||||||
ModelUtils.syncValidationProperties(parameterSchema, codegenParameter);
|
ModelUtils.syncValidationProperties(parameterSchema, codegenParameter);
|
||||||
@ -4318,10 +4324,10 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
codegenParameter.pattern != null || codegenParameter.multipleOf != null) {
|
codegenParameter.pattern != null || codegenParameter.multipleOf != null) {
|
||||||
codegenParameter.hasValidation = true;
|
codegenParameter.hasValidation = true;
|
||||||
}
|
}
|
||||||
addVarsRequiredVarsAdditionaProps(parameterSchema, codegenParameter);
|
addVarsRequiredVarsAdditionalProps(parameterSchema, codegenParameter);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
LOGGER.error("ERROR! Not handling " + parameter + " as Body Parameter at the moment");
|
LOGGER.error("Not handling {} as Body Parameter at the moment", parameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parameter instanceof QueryParameter || "query".equalsIgnoreCase(parameter.getIn())) {
|
if (parameter instanceof QueryParameter || "query".equalsIgnoreCase(parameter.getIn())) {
|
||||||
@ -4334,7 +4340,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
} else if (parameter instanceof CookieParameter || "cookie".equalsIgnoreCase(parameter.getIn())) {
|
} else if (parameter instanceof CookieParameter || "cookie".equalsIgnoreCase(parameter.getIn())) {
|
||||||
codegenParameter.isCookieParam = true;
|
codegenParameter.isCookieParam = true;
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Unknown parameter type: " + parameter.getName());
|
LOGGER.warn("Unknown parameter type: {}", parameter.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
// default to UNKNOWN_PARAMETER_NAME if paramName is null
|
// default to UNKNOWN_PARAMETER_NAME if paramName is null
|
||||||
@ -4361,7 +4367,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
setParameterExampleValue(codegenParameter, parameter);
|
setParameterExampleValue(codegenParameter, parameter);
|
||||||
|
|
||||||
postProcessParameter(codegenParameter);
|
postProcessParameter(codegenParameter);
|
||||||
LOGGER.debug("debugging codegenParameter return: " + codegenParameter);
|
LOGGER.debug("debugging codegenParameter return: {}", codegenParameter);
|
||||||
return codegenParameter;
|
return codegenParameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4552,7 +4558,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
operationId = sanitizeName(builder.toString());
|
operationId = sanitizeName(builder.toString());
|
||||||
LOGGER.warn("Empty operationId found for path: " + httpMethod + " " + path + ". Renamed to auto-generated operationId: " + operationId);
|
LOGGER.warn("Empty operationId found for path: {} {}. Renamed to auto-generated operationId: {}", httpMethod, path, operationId);
|
||||||
}
|
}
|
||||||
return operationId;
|
return operationId;
|
||||||
}
|
}
|
||||||
@ -4599,7 +4605,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
Schema schema;
|
Schema schema;
|
||||||
if (header.getSchema() == null) {
|
if (header.getSchema() == null) {
|
||||||
LOGGER.warn("No schema defined for Header '" + headerEntry.getKey() + "', using a String schema");
|
LOGGER.warn("No schema defined for Header '{}', using a String schema", headerEntry.getKey());
|
||||||
schema = new StringSchema();
|
schema = new StringSchema();
|
||||||
} else {
|
} else {
|
||||||
schema = header.getSchema();
|
schema = header.getSchema();
|
||||||
@ -5336,7 +5342,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
} else if (Boolean.TRUE.equals(property.isAnyType)) {
|
} else if (Boolean.TRUE.equals(property.isAnyType)) {
|
||||||
parameter.isAnyType = true;
|
parameter.isAnyType = true;
|
||||||
} else {
|
} else {
|
||||||
LOGGER.debug("Property type is not primitive: " + property.dataType);
|
LOGGER.debug("Property type is not primitive: {}", property.dataType);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Boolean.TRUE.equals(property.isFile)) {
|
if (Boolean.TRUE.equals(property.isFile)) {
|
||||||
@ -5507,7 +5513,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
public boolean convertPropertyToBoolean(String propertyKey) {
|
public boolean convertPropertyToBoolean(String propertyKey) {
|
||||||
final Object booleanValue = additionalProperties.get(propertyKey);
|
final Object booleanValue = additionalProperties.get(propertyKey);
|
||||||
Boolean result = Boolean.FALSE;
|
boolean result = Boolean.FALSE;
|
||||||
if (booleanValue instanceof Boolean) {
|
if (booleanValue instanceof Boolean) {
|
||||||
result = (Boolean) booleanValue;
|
result = (Boolean) booleanValue;
|
||||||
} else if (booleanValue instanceof String) {
|
} else if (booleanValue instanceof String) {
|
||||||
@ -5536,7 +5542,6 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
if (flow.getScopes() != null && !flow.getScopes().isEmpty()) {
|
if (flow.getScopes() != null && !flow.getScopes().isEmpty()) {
|
||||||
List<Map<String, Object>> scopes = new ArrayList<>();
|
List<Map<String, Object>> scopes = new ArrayList<>();
|
||||||
int count = 0, numScopes = flow.getScopes().size();
|
|
||||||
for (Map.Entry<String, String> scopeEntry : flow.getScopes().entrySet()) {
|
for (Map.Entry<String, String> scopeEntry : flow.getScopes().entrySet()) {
|
||||||
Map<String, Object> scope = new HashMap<>();
|
Map<String, Object> scope = new HashMap<>();
|
||||||
scope.put("scope", scopeEntry.getKey());
|
scope.put("scope", scopeEntry.getKey());
|
||||||
@ -5555,7 +5560,6 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
Set<String> consumes = requestBody.getContent().keySet();
|
Set<String> consumes = requestBody.getContent().keySet();
|
||||||
List<Map<String, String>> mediaTypeList = new ArrayList<>();
|
List<Map<String, String>> mediaTypeList = new ArrayList<>();
|
||||||
int count = 0;
|
|
||||||
for (String key : consumes) {
|
for (String key : consumes) {
|
||||||
Map<String, String> mediaType = new HashMap<>();
|
Map<String, String> mediaType = new HashMap<>();
|
||||||
if ("*/*".equals(key)) {
|
if ("*/*".equals(key)) {
|
||||||
@ -5626,13 +5630,12 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
existingMediaTypes.add(mediaType.get("mediaType"));
|
existingMediaTypes.add(mediaType.get("mediaType"));
|
||||||
}
|
}
|
||||||
|
|
||||||
int count = 0;
|
|
||||||
for (String key : produces) {
|
for (String key : produces) {
|
||||||
// escape quotation to avoid code injection, "*/*" is a special case, do nothing
|
// escape quotation to avoid code injection, "*/*" is a special case, do nothing
|
||||||
String encodedKey = "*/*".equals(key) ? key : escapeText(escapeQuotationMark(key));
|
String encodedKey = "*/*".equals(key) ? key : escapeText(escapeQuotationMark(key));
|
||||||
//Only unique media types should be added to "produces"
|
//Only unique media types should be added to "produces"
|
||||||
if (!existingMediaTypes.contains(encodedKey)) {
|
if (!existingMediaTypes.contains(encodedKey)) {
|
||||||
Map<String, String> mediaType = new HashMap<String, String>();
|
Map<String, String> mediaType = new HashMap<>();
|
||||||
mediaType.put("mediaType", encodedKey);
|
mediaType.put("mediaType", encodedKey);
|
||||||
codegenOperation.produces.add(mediaType);
|
codegenOperation.produces.add(mediaType);
|
||||||
codegenOperation.hasProduces = Boolean.TRUE;
|
codegenOperation.hasProduces = Boolean.TRUE;
|
||||||
@ -5696,8 +5699,8 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<CodegenParameter> fromRequestBodyToFormParameters(RequestBody body, Set<String> imports) {
|
public List<CodegenParameter> fromRequestBodyToFormParameters(RequestBody body, Set<String> imports) {
|
||||||
List<CodegenParameter> parameters = new ArrayList<CodegenParameter>();
|
List<CodegenParameter> parameters = new ArrayList<>();
|
||||||
LOGGER.debug("debugging fromRequestBodyToFormParameters= " + body);
|
LOGGER.debug("debugging fromRequestBodyToFormParameters= {}", body);
|
||||||
Schema schema = ModelUtils.getSchemaFromRequestBody(body);
|
Schema schema = ModelUtils.getSchemaFromRequestBody(body);
|
||||||
schema = ModelUtils.getReferencedSchema(this.openAPI, schema);
|
schema = ModelUtils.getReferencedSchema(this.openAPI, schema);
|
||||||
List<String> allRequired = new ArrayList<String>();
|
List<String> allRequired = new ArrayList<String>();
|
||||||
@ -5706,7 +5709,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
if (!properties.isEmpty()) {
|
if (!properties.isEmpty()) {
|
||||||
for (Map.Entry<String, Schema> entry : properties.entrySet()) {
|
for (Map.Entry<String, Schema> entry : properties.entrySet()) {
|
||||||
CodegenParameter codegenParameter = CodegenModelFactory.newInstance(CodegenModelType.PARAMETER);
|
CodegenParameter codegenParameter;
|
||||||
// key => property name
|
// key => property name
|
||||||
// value => property schema
|
// value => property schema
|
||||||
Schema s = entry.getValue();
|
Schema s = entry.getValue();
|
||||||
@ -5728,7 +5731,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
if (codegenParameter.baseType != null && codegenParameter.enumName != null) {
|
if (codegenParameter.baseType != null && codegenParameter.enumName != null) {
|
||||||
codegenParameter.datatypeWithEnum = codegenParameter.dataType.replace(codegenParameter.baseType, codegenParameter.enumName);
|
codegenParameter.datatypeWithEnum = codegenParameter.dataType.replace(codegenParameter.baseType, codegenParameter.enumName);
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Could not compute datatypeWithEnum from " + codegenParameter.baseType + ", " + codegenParameter.enumName);
|
LOGGER.warn("Could not compute datatypeWithEnum from {}, {}", codegenParameter.baseType, codegenParameter.enumName);
|
||||||
}
|
}
|
||||||
//TODO fix collectformat for form parameters
|
//TODO fix collectformat for form parameters
|
||||||
//collectionFormat = getCollectionFormat(s);
|
//collectionFormat = getCollectionFormat(s);
|
||||||
@ -5898,7 +5901,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
"It could be due to form parameter defined in OpenAPI v2 spec with incorrect consumes. " +
|
"It could be due to form parameter defined in OpenAPI v2 spec with incorrect consumes. " +
|
||||||
"A correct 'consumes' for form parameters should be " +
|
"A correct 'consumes' for form parameters should be " +
|
||||||
"'application/x-www-form-urlencoded' or 'multipart/?'");
|
"'application/x-www-form-urlencoded' or 'multipart/?'");
|
||||||
LOGGER.warn("schema: " + schema);
|
LOGGER.warn("schema: {}", schema);
|
||||||
LOGGER.warn("codegenModel is null. Default to UNKNOWN_BASE_TYPE");
|
LOGGER.warn("codegenModel is null. Default to UNKNOWN_BASE_TYPE");
|
||||||
codegenModelName = "UNKNOWN_BASE_TYPE";
|
codegenModelName = "UNKNOWN_BASE_TYPE";
|
||||||
codegenModelDescription = "UNKNOWN_DESCRIPTION";
|
codegenModelDescription = "UNKNOWN_DESCRIPTION";
|
||||||
@ -5944,7 +5947,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String name = null;
|
String name = null;
|
||||||
LOGGER.debug("Request body = " + body);
|
LOGGER.debug("Request body = {}", body);
|
||||||
Schema schema = ModelUtils.getSchemaFromRequestBody(body);
|
Schema schema = ModelUtils.getSchemaFromRequestBody(body);
|
||||||
if (schema == null) {
|
if (schema == null) {
|
||||||
throw new RuntimeException("Request body cannot be null. Possible cause: missing schema in body parameter (OAS v2): " + body);
|
throw new RuntimeException("Request body cannot be null. Possible cause: missing schema in body parameter (OAS v2): " + body);
|
||||||
@ -6097,7 +6100,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
setParameterNullable(codegenParameter, codegenProperty);
|
setParameterNullable(codegenParameter, codegenProperty);
|
||||||
}
|
}
|
||||||
|
|
||||||
addVarsRequiredVarsAdditionaProps(schema, codegenParameter);
|
addVarsRequiredVarsAdditionalProps(schema, codegenParameter);
|
||||||
addJsonSchemaForBodyRequestInCaseItsNotPresent(codegenParameter, body);
|
addJsonSchemaForBodyRequestInCaseItsNotPresent(codegenParameter, body);
|
||||||
|
|
||||||
// set the parameter's example value
|
// set the parameter's example value
|
||||||
@ -6107,7 +6110,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
return codegenParameter;
|
return codegenParameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addVarsRequiredVarsAdditionaProps(Schema schema, IJsonSchemaValidationProperties property){
|
private void addVarsRequiredVarsAdditionalProps(Schema schema, IJsonSchemaValidationProperties property){
|
||||||
if (!"object".equals(schema.getType())) {
|
if (!"object".equals(schema.getType())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -6137,7 +6140,6 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
CodegenProperty cp = fromProperty("", (Schema) schema.getAdditionalProperties());
|
CodegenProperty cp = fromProperty("", (Schema) schema.getAdditionalProperties());
|
||||||
property.setAdditionalProperties(cp);
|
property.setAdditionalProperties(cp);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addJsonSchemaForBodyRequestInCaseItsNotPresent(CodegenParameter codegenParameter, RequestBody body) {
|
private void addJsonSchemaForBodyRequestInCaseItsNotPresent(CodegenParameter codegenParameter, RequestBody body) {
|
||||||
@ -6257,7 +6259,9 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
codegenServerVariable.value = value;
|
codegenServerVariable.value = value;
|
||||||
|
|
||||||
if (enums != null && !enums.isEmpty() && !enums.contains(value)) {
|
if (enums != null && !enums.isEmpty() && !enums.contains(value)) {
|
||||||
LOGGER.warn("Variable override of '{}' is not listed in the enum of allowed values ({}).", value, StringUtils.join(enums, ","));
|
if(LOGGER.isWarnEnabled()) { // prevents calculating StringUtils.join when debug isn't enabled
|
||||||
|
LOGGER.warn("Variable override of '{}' is not listed in the enum of allowed values ({}).", value, StringUtils.join(enums, ","));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
codegenServerVariable.value = variable.getDefault();
|
codegenServerVariable.value = variable.getDefault();
|
||||||
@ -6574,9 +6578,6 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
return ModelUtils.getAdditionalProperties(openAPI, schema);
|
return ModelUtils.getAdditionalProperties(openAPI, schema);
|
||||||
}
|
}
|
||||||
|
|
||||||
final protected static Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)application\\/json(;.*)?");
|
|
||||||
final protected static Pattern JSON_VENDOR_MIME_PATTERN = Pattern.compile("(?i)application\\/vnd.(.*)+json(;.*)?");
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the given MIME is a JSON MIME.
|
* Check if the given MIME is a JSON MIME.
|
||||||
* JSON MIME examples:
|
* JSON MIME examples:
|
||||||
|
@ -42,26 +42,23 @@ public class DartJaguarClientCodegen extends AbstractDartCodegen {
|
|||||||
private static final String IS_FORMAT_PROTO = "protoFormat";
|
private static final String IS_FORMAT_PROTO = "protoFormat";
|
||||||
private static final String CLIENT_NAME = "clientName";
|
private static final String CLIENT_NAME = "clientName";
|
||||||
|
|
||||||
private static Set<String> modelToIgnore = new HashSet<>();
|
private final Set<String> modelToIgnore = new HashSet<>();
|
||||||
private HashMap<String, String> protoTypeMapping = new HashMap<>();
|
private final HashMap<String, String> protoTypeMapping = new HashMap<>();
|
||||||
|
|
||||||
|
private static final String SERIALIZATION_JSON = "json";
|
||||||
|
private static final String SERIALIZATION_PROTO = "proto";
|
||||||
|
|
||||||
|
private boolean nullableFields = true;
|
||||||
|
|
||||||
|
public DartJaguarClientCodegen() {
|
||||||
|
super();
|
||||||
|
|
||||||
static {
|
|
||||||
modelToIgnore.add("datetime");
|
modelToIgnore.add("datetime");
|
||||||
modelToIgnore.add("map");
|
modelToIgnore.add("map");
|
||||||
modelToIgnore.add("object");
|
modelToIgnore.add("object");
|
||||||
modelToIgnore.add("list");
|
modelToIgnore.add("list");
|
||||||
modelToIgnore.add("file");
|
modelToIgnore.add("file");
|
||||||
modelToIgnore.add("list<int>");
|
modelToIgnore.add("list<int>");
|
||||||
}
|
|
||||||
|
|
||||||
private static final String SERIALIZATION_JSON = "json";
|
|
||||||
private static final String SERIALIZATION_PROTO = "proto";
|
|
||||||
|
|
||||||
private boolean nullableFields = true;
|
|
||||||
private String serialization = SERIALIZATION_JSON;
|
|
||||||
|
|
||||||
public DartJaguarClientCodegen() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
modifyFeatureSet(features -> features
|
modifyFeatureSet(features -> features
|
||||||
.includeDocumentationFeatures(DocumentationFeature.Readme)
|
.includeDocumentationFeatures(DocumentationFeature.Readme)
|
||||||
@ -161,7 +158,7 @@ public class DartJaguarClientCodegen extends AbstractDartCodegen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (additionalProperties.containsKey(SERIALIZATION_FORMAT)) {
|
if (additionalProperties.containsKey(SERIALIZATION_FORMAT)) {
|
||||||
serialization = ((String) additionalProperties.get(SERIALIZATION_FORMAT));
|
String serialization = ((String) additionalProperties.get(SERIALIZATION_FORMAT));
|
||||||
boolean isProto = serialization.equalsIgnoreCase(SERIALIZATION_PROTO);
|
boolean isProto = serialization.equalsIgnoreCase(SERIALIZATION_PROTO);
|
||||||
additionalProperties.put(IS_FORMAT_JSON, serialization.equalsIgnoreCase(SERIALIZATION_JSON));
|
additionalProperties.put(IS_FORMAT_JSON, serialization.equalsIgnoreCase(SERIALIZATION_JSON));
|
||||||
additionalProperties.put(IS_FORMAT_PROTO, isProto);
|
additionalProperties.put(IS_FORMAT_PROTO, isProto);
|
||||||
|
@ -306,7 +306,7 @@ public class JavaCXFExtServerCodegen extends JavaCXFServerCodegen implements CXF
|
|||||||
MAX_DATE = maxDate;
|
MAX_DATE = maxDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Generex> REGEX_GENERATORS = new HashMap<>();
|
private final Map<String, Generex> REGEX_GENERATORS = new HashMap<>();
|
||||||
|
|
||||||
protected boolean generateOperationBody = false;
|
protected boolean generateOperationBody = false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user