diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java index 5879ff1a930..5963b8791b0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java @@ -33,7 +33,7 @@ public class CodegenParameter { public String example; // example value (x-example) public String jsonSchema; public boolean isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isByteArray, isBinary, - isBoolean, isDate, isDateTime, isUuid, isEmail, isFreeFormObject; + isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject; public boolean isListContainer, isMapContainer; public boolean isFile; public boolean isEnum; @@ -168,6 +168,7 @@ public class CodegenParameter { output.isDate = this.isDate; output.isDateTime = this.isDateTime; output.isUuid = this.isUuid; + output.isUri = this.isUri; output.isEmail = this.isEmail; output.isFreeFormObject = this.isFreeFormObject; output.isListContainer = this.isListContainer; @@ -222,6 +223,7 @@ public class CodegenParameter { Objects.equals(isDate, that.isDate) && Objects.equals(isDateTime, that.isDateTime) && Objects.equals(isUuid, that.isUuid) && + Objects.equals(isUri, that.isUri) && Objects.equals(isEmail, that.isEmail) && Objects.equals(isFreeFormObject, that.isFreeFormObject) && Objects.equals(isListContainer, that.isListContainer) && @@ -289,6 +291,7 @@ public class CodegenParameter { isDate, isDateTime, isUuid, + isUri, isEmail, isFreeFormObject, isListContainer, @@ -357,6 +360,7 @@ public class CodegenParameter { ", isDate=" + isDate + ", isDateTime=" + isDateTime + ", isUuid=" + isUuid + + ", isUri=" + isUri + ", isEmail=" + isEmail + ", isFreeFormObject=" + isFreeFormObject + ", isListContainer=" + isListContainer + diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java index 64aaa3ab265..137e2596925 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java @@ -55,7 +55,7 @@ public class CodegenProperty implements Cloneable { public boolean hasMoreNonReadOnly; // for model constructor, true if next property is not readonly public boolean isPrimitiveType, isModel, isContainer; public boolean isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isByteArray, isBinary, isFile, - isBoolean, isDate, isDateTime, isUuid, isEmail, isFreeFormObject; + isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject; public boolean isListContainer, isMapContainer; public boolean isEnum; public boolean isReadOnly; @@ -472,6 +472,7 @@ public class CodegenProperty implements Cloneable { isDate, isDateTime, isUuid, + isUri, isEmail, isFreeFormObject, isMapContainer, @@ -552,6 +553,7 @@ public class CodegenProperty implements Cloneable { Objects.equals(isDate, other.isDate) && Objects.equals(isDateTime, other.isDateTime) && Objects.equals(isUuid, other.isUuid) && + Objects.equals(isUri, other.isUri) && Objects.equals(isEmail, other.isEmail) && Objects.equals(isFreeFormObject, other.isFreeFormObject) && Objects.equals(isBinary, other.isBinary) && @@ -649,6 +651,7 @@ public class CodegenProperty implements Cloneable { ", isDate=" + isDate + ", isDateTime=" + isDateTime + ", isUuid=" + isUuid + + ", isUri=" + isUri + ", isEmail=" + isEmail + ", isFreeFormObject=" + isFreeFormObject + ", isListContainer=" + isListContainer + diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 7c928dee6ce..96cc4998100 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -1015,6 +1015,7 @@ public class DefaultCodegen implements CodegenConfig { typeMapping.put("binary", "File"); typeMapping.put("file", "File"); typeMapping.put("UUID", "UUID"); + typeMapping.put("URI", "URI"); //typeMapping.put("BigDecimal", "BigDecimal"); //TODO need the mapping? @@ -1025,6 +1026,7 @@ public class DefaultCodegen implements CodegenConfig { importMapping = new HashMap(); importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); + importMapping.put("URI", "java.net.URI"); importMapping.put("File", "java.io.File"); importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); @@ -1233,6 +1235,8 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.example = "2013-10-20T19:20:30+01:00"; } else if (Boolean.TRUE.equals(codegenParameter.isUuid)) { codegenParameter.example = "38400000-8cf0-11bd-b23e-10b96e4ef00d"; + } else if (Boolean.TRUE.equals(codegenParameter.isUri)) { + codegenParameter.example = "https://openapi-generator.tech"; } else if (Boolean.TRUE.equals(codegenParameter.isString)) { codegenParameter.example = codegenParameter.paramName + "_example"; } else if (Boolean.TRUE.equals(codegenParameter.isFreeFormObject)) { @@ -1512,6 +1516,8 @@ public class DefaultCodegen implements CodegenConfig { return "array"; } else if (ModelUtils.isUUIDSchema(schema)) { return "UUID"; + } else if (ModelUtils.isURISchema(schema)) { + return "URI"; } else if (ModelUtils.isStringSchema(schema)) { return "string"; } else if (ModelUtils.isFreeFormObject(schema)) { @@ -2038,6 +2044,9 @@ public class DefaultCodegen implements CodegenConfig { // keep isString to true to make it backward compatible property.isString = true; property.isUuid = true; + } else if (ModelUtils.isURISchema(p)) { + property.isString = true; // for backward compatibility + property.isUri = true; } else if (ModelUtils.isEmailSchema(p)) { property.isString = true; property.isEmail = true; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java index 97f08f9d027..5ce8089d198 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java @@ -277,6 +277,8 @@ public class ExampleGenerator { return mp; } else if (ModelUtils.isUUIDSchema(property)) { return "046b6c7f-0b8a-43b9-b35d-6489e6daee91"; + } else if (ModelUtils.isURISchema(property)) { + return "https://openapi-generator.tech"; } else if (ModelUtils.isStringSchema(property)) { LOGGER.debug("String property"); String defaultValue = (String) property.getDefault(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java index 4072f535d25..961320c404d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java @@ -193,6 +193,8 @@ public class XmlExampleGenerator { return "********"; } else if (ModelUtils.isUUIDSchema(schema)) { return "046b6c7f-0b8a-43b9-b35d-6489e6daee91"; + } else if (ModelUtils.isURISchema(schema)) { + return "https://openapi-generator.tech"; // do these last in case the specific types above are derived from these classes } else if (ModelUtils.isStringSchema(schema)) { return "aeiou"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java index 39bd1ada232..5a7ba74f377 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java @@ -140,6 +140,7 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg typeMapping.put("object", "Swagger.Object"); typeMapping.put("number", "Swagger.Number"); typeMapping.put("UUID", "Swagger.UString"); + typeMapping.put("URI", "Swagger.UString"); typeMapping.put("file", "Swagger.Http_Content_Type"); typeMapping.put("binary", "Swagger.Binary"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index 63a99ff9384..122d7ac8b9f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -185,6 +185,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co typeMapping.put("map", "Dictionary"); typeMapping.put("object", "Object"); typeMapping.put("UUID", "Guid?"); + typeMapping.put("URI", "string"); // nullable type nullableType = new HashSet( @@ -1087,6 +1088,8 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co codegenParameter.example = "2013-10-20T19:20:30+01:00"; } else if (Boolean.TRUE.equals(codegenParameter.isUuid)) { codegenParameter.example = "38400000-8cf0-11bd-b23e-10b96e4ef00d"; + } else if (Boolean.TRUE.equals(codegenParameter.isUri)) { + codegenParameter.example = "https://openapi-generator.tech"; } else if (Boolean.TRUE.equals(codegenParameter.isString)) { codegenParameter.example = codegenParameter.paramName + "_example"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java index 357362ce2a6..49cf187a13a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java @@ -71,6 +71,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co typeMapping.put("boolean", "BOOLEAN"); typeMapping.put("string", "STRING_32"); typeMapping.put("UUID", "UUID"); // + typeMapping.put("URI", "STRING"); // typeMapping.put("date", "DATE"); typeMapping.put("DateTime", "DATE_TIME"); typeMapping.put("date-time", "DATE_TIME"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java index eb8bfdc78c5..9d82448ffb3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java @@ -171,6 +171,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co typeMapping.put("map", "IDictionary"); typeMapping.put("object", "obj"); typeMapping.put("UUID", "Guid"); + typeMapping.put("URI", "string"); // nullable type nullableType = new HashSet( diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java index f6fce0c7140..56ea40ef9ab 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java @@ -98,6 +98,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege typeMapping.put("boolean", "bool"); typeMapping.put("string", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); typeMapping.put("date", "string"); typeMapping.put("DateTime", "time.Time"); typeMapping.put("password", "string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java index 9e4ec307c88..7eb5421c164 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java @@ -82,6 +82,7 @@ public abstract class AbstractGraphQLCodegen extends DefaultCodegen implements C typeMapping.put("boolean", "Boolean"); typeMapping.put("string", "String"); typeMapping.put("UUID", "ID"); + typeMapping.put("URI", "String"); typeMapping.put("date", "String"); typeMapping.put("DateTime", "String"); typeMapping.put("password", "String"); @@ -463,4 +464,4 @@ public abstract class AbstractGraphQLCodegen extends DefaultCodegen implements C return camelize(name) + "Input"; } -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 30755f76e42..58d22e51650 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -184,6 +184,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co importMapping = new HashMap(); importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); + importMapping.put("URI", "java.net.URI"); importMapping.put("File", "java.io.File"); importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index 3893a63785f..214978d8f26 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -125,6 +125,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg typeMapping.put("binary", "string"); typeMapping.put("ByteArray", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); cliOptions.add(new CliOption(CodegenConstants.MODEL_PACKAGE, CodegenConstants.MODEL_PACKAGE_DESC)); cliOptions.add(new CliOption(CodegenConstants.API_PACKAGE, CodegenConstants.API_PACKAGE_DESC)); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java index 23a62a69b4b..f9098836022 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java @@ -81,6 +81,7 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code typeMapping.put("binary", "String"); typeMapping.put("ByteArray", "String"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java index ab230e20be2..9e5e01123df 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java @@ -123,6 +123,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp typeMapping.put("File", "any"); typeMapping.put("ByteArray", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); typeMapping.put("Error", "Error"); cliOptions.add(new CliOption(CodegenConstants.MODEL_PROPERTY_NAMING, CodegenConstants.MODEL_PROPERTY_NAMING_DESC).defaultValue(this.modelPropertyNaming)); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java index 9c18d294c76..b0cebcf66cf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java @@ -94,6 +94,7 @@ public class ApexClientCodegen extends AbstractApexCodegen { typeMapping.put("number", "Double"); typeMapping.put("short", "Integer"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); // https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_reserved_words.htm setReservedWordsLowerCase( diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java index 85d6f7a60d6..a2eaa806b21 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java @@ -100,6 +100,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen { typeMapping.put("DateTime", "DateTime"); typeMapping.put("date", "DateTime"); typeMapping.put("UUID", "Guid"); + typeMapping.put("URI", "string"); setSupportNullable(Boolean.TRUE); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java index 816405bbe70..94992fd9fcb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java @@ -199,6 +199,7 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("file", "binary"); typeMapping.put("binary", "binary"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); /** * Additional Properties. These values can be passed to the templates and diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java index 7945971fd46..cf290dc0de4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java @@ -152,6 +152,7 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf typeMapping.put("binary", "binary_t*"); typeMapping.put("ByteArray", "char"); typeMapping.put("UUID", "char"); + typeMapping.put("URI", "char"); typeMapping.put("array", "list"); typeMapping.put("map", "list_t*"); typeMapping.put("date-time", "char"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java index 4b03107e09d..c5f093eb23a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java @@ -95,6 +95,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { typeMapping.put("DateTime", "DateTime"); typeMapping.put("date", "DateTime"); typeMapping.put("UUID", "Guid"); + typeMapping.put("URI", "string"); setSupportNullable(Boolean.TRUE); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java index 4f38a6ebfa1..7a79c06368f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java @@ -100,6 +100,7 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen { typeMapping.put("map", "Dictionary"); typeMapping.put("object", "Object"); typeMapping.put("UUID", "Guid"); + typeMapping.put("URI", "string"); setSupportNullable(Boolean.TRUE); hideGenerationTimestamp = Boolean.TRUE; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java index e7acb2595d2..7f8527cec86 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java @@ -93,6 +93,7 @@ public class ClojureClientCodegen extends DefaultCodegen implements CodegenConfi typeMapping.put("date", "inst?"); typeMapping.put("DateTime", "inst?"); typeMapping.put("UUID", "uuid?"); + typeMapping.put("URI", "string?"); // But some type mappings are not really worth/meaningful to check for: typeMapping.put("object", "any?"); // Like, everything is an object. diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java index d49d4f4962c..cf9d78ed5dd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java @@ -107,6 +107,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { typeMapping.put("binary", "std::string"); typeMapping.put("number", "double"); typeMapping.put("UUID", "std::string"); + typeMapping.put("URI", "std::string"); typeMapping.put("ByteArray", "std::string"); super.importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java index bf12fc0d2b0..88d29c2c505 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java @@ -88,6 +88,7 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen // come out of the box and will need to be sorted out (at least imply // modifications on multiple templates) typeMapping.put("UUID", "QString"); + typeMapping.put("URI", "QString"); typeMapping.put("file", "QIODevice"); typeMapping.put("binary", "QIODevice"); importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index 80bde50c8fb..aabac7f7a38 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -146,6 +146,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { typeMapping.put("binary", "utility::string_t"); typeMapping.put("number", "double"); typeMapping.put("UUID", "utility::string_t"); + typeMapping.put("URI", "utility::string_t"); typeMapping.put("ByteArray", "utility::string_t"); super.importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java index f9b4a600b66..798639807b1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java @@ -89,6 +89,7 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { typeMapping.put("binary", "restbed::Bytes"); typeMapping.put("number", "double"); typeMapping.put("UUID", "std::string"); + typeMapping.put("URI", "std::string"); typeMapping.put("ByteArray", "std::string"); super.importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java index f277c322173..f22e6685507 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java @@ -102,6 +102,7 @@ public class CppTizenClientCodegen extends AbstractCppCodegen implements Codegen typeMapping.put("DateTime", "std::string"); typeMapping.put("Date", "std::string"); typeMapping.put("UUID", "std::string"); + typeMapping.put("URI", "std::string"); importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java index c16815b1863..8d9de1271e5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java @@ -115,6 +115,7 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("File", "MultipartFile"); typeMapping.put("binary", "MultipartFile"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); typeMapping.put("ByteArray", "String"); cliOptions.add(new CliOption(BROWSER_CLIENT, "Is the client browser based")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java index 68d3f300802..5e60619cd9a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java @@ -87,6 +87,7 @@ public class DartJaguarClientCodegen extends DartClientCodegen { protoTypeMapping.put("file", "bytes"); protoTypeMapping.put("binary", "bytes"); protoTypeMapping.put("UUID", "string"); + protoTypeMapping.put("URI", "string"); protoTypeMapping.put("ByteArray", "bytes"); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java index 7f109d01a08..165ec84281f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java @@ -175,6 +175,7 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("binary", "String"); typeMapping.put("ByteArray", "String"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); cliOptions.add(new CliOption(CodegenConstants.INVOKER_PACKAGE, "The main namespace to use for all classes. e.g. Yay.Pets")); cliOptions.add(new CliOption("licenseHeader", "The license header to prepend to the top of all source files.")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java index 6f34d3ebaf7..cc5246dc212 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java @@ -138,6 +138,7 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("file", "String"); typeMapping.put("binary", "String"); typeMapping.put("UUID", "Uuid"); + typeMapping.put("URI", "String"); importMapping.clear(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java index b9d46f66a9e..8d5836f717f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java @@ -95,6 +95,7 @@ public class ErlangClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("bytearray", "binary()"); typeMapping.put("byte", "binary()"); typeMapping.put("uuid", "binary()"); + typeMapping.put("uri", "binary()"); typeMapping.put("password", "binary()"); cliOptions.clear(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java index ee2e5c8e7f8..5d935d75bdc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java @@ -98,6 +98,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("bytearray", "binary()"); typeMapping.put("byte", "binary()"); typeMapping.put("uuid", "binary()"); + typeMapping.put("uri", "binary()"); typeMapping.put("password", "binary()"); cliOptions.clear(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangServerCodegen.java index 63c9cd0a39d..d9c280cfc61 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangServerCodegen.java @@ -102,6 +102,7 @@ public class ErlangServerCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("bytearray", "binary"); typeMapping.put("byte", "binary"); typeMapping.put("uuid", "binary"); + typeMapping.put("uri", "binary"); typeMapping.put("password", "binary"); cliOptions.clear(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java index 750353accef..ec5a866705a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java @@ -74,6 +74,7 @@ public class FlashClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("object", "Object"); typeMapping.put("file", "File"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); typeMapping.put("binary", "File"); importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java index 2b225223af0..6a69660348c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java @@ -227,6 +227,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC // lib typeMapping.put("string", "Text"); typeMapping.put("UUID", "Text"); + typeMapping.put("URI", "Text"); typeMapping.put("any", "A.Value"); typeMapping.put("set", "Set.Set"); // newtype diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index b3692878eec..dd8ca1b529f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -173,6 +173,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf typeMapping.put("number", "Double"); typeMapping.put("any", "Value"); typeMapping.put("UUID", "UUID"); + typeMapping.put("URI", "Text"); typeMapping.put("ByteArray", "Text"); typeMapping.put("object", "Value"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java index 23404c78144..299dcd661da 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java @@ -156,6 +156,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo typeMapping.put("binary", "File"); typeMapping.put("file", "File"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); importMapping.clear(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java index e213cd92355..21fd8ea4f8b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java @@ -95,6 +95,7 @@ public class JavascriptFlowtypedClientCodegen extends AbstractTypeScriptClientCo typeMapping.put("binary", "string"); typeMapping.put("ByteArray", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); defaultIncludes = new HashSet(languageSpecificPrimitives); outputFolder = "generated-code/javascript-flowtyped"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java index 13334ec3e2c..fd647aaa2ea 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java @@ -108,6 +108,7 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("boolean", "boolean"); typeMapping.put("string", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); typeMapping.put("date", "string"); typeMapping.put("DateTime", "string"); typeMapping.put("password", "string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MysqlSchemaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MysqlSchemaCodegen.java index a8503e2f46c..3376c2359ce 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MysqlSchemaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/MysqlSchemaCodegen.java @@ -117,6 +117,7 @@ public class MysqlSchemaCodegen extends DefaultCodegen implements CodegenConfig "binary", "file", "UUID", + "URI", "BigDecimal", "mixed", "number", @@ -148,6 +149,7 @@ public class MysqlSchemaCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("binary", "MEDIUMBLOB"); typeMapping.put("file", "MEDIUMBLOB"); typeMapping.put("UUID", "TEXT"); + typeMapping.put("URI", "TEXT"); typeMapping.put("BigDecimal", "DECIMAL"); embeddedTemplateDir = templateDir = "mysql-schema"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java index f1203b72803..510d0c15a53 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java @@ -134,6 +134,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("bytearray", "NSData"); typeMapping.put("byte", "NSData"); typeMapping.put("uuid", "NSString"); + typeMapping.put("uri", "NSString"); typeMapping.put("password", "NSString"); // ref: http://www.tutorialspoint.com/objective_c/objective_c_basic_syntax.htm diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java index b4bc61534b4..673ab32669d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java @@ -111,6 +111,7 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("file", "string"); typeMapping.put("ByteArray", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); cliOptions.clear(); cliOptions.add(new CliOption(MODULE_NAME, "Perl module name (convention: CamelCase or Long::Module).").defaultValue("OpenAPIClient")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index 1a46dd34b7d..d29dd788497 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -173,6 +173,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg typeMapping.put("binary", "string"); typeMapping.put("ByteArray", "string"); typeMapping.put("UUID", "string"); + typeMapping.put("URI", "string"); cliOptions.add(new CliOption(COMPOSER_VENDOR_NAME, "The vendor name used in the composer package name." + " The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. yaypets")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java index e3e9d4ebf65..cb98f95eb2f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java @@ -93,6 +93,7 @@ public class PythonAbstractConnexionServerCodegen extends DefaultCodegen impleme typeMapping.put("object", "object"); typeMapping.put("file", "file"); typeMapping.put("UUID", "str"); + typeMapping.put("URI", "str"); typeMapping.put("byte", "bytearray"); typeMapping.put("ByteArray", "bytearray"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index 66ed01279a9..5160417e0ec 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -113,6 +113,7 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("ByteArray", "str"); // map uuid to string for the time being typeMapping.put("UUID", "str"); + typeMapping.put("URI", "str"); // from https://docs.python.org/3/reference/lexical_analysis.html#keywords setReservedWordsLowerCase( diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index 779b91dcfda..443bb43863e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -96,6 +96,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("boolean", "character"); typeMapping.put("string", "character"); typeMapping.put("UUID", "character"); + typeMapping.put("URI", "character"); typeMapping.put("date", "character"); typeMapping.put("DateTime", "character"); typeMapping.put("password", "character"); @@ -683,4 +684,4 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { example += ")"; return example; } -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index c3636e215d6..03b0c865eae 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -116,6 +116,7 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("boolean", "bool"); typeMapping.put("string", "String"); typeMapping.put("UUID", "String"); + typeMapping.put("URI", "String"); typeMapping.put("date", "string"); typeMapping.put("DateTime", "String"); typeMapping.put("password", "String"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java index dedc8a91ef8..dfbb7eab35d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java @@ -154,6 +154,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("double", "f64"); typeMapping.put("string", "String"); typeMapping.put("UUID", uuidType); + typeMapping.put("URI", "String"); typeMapping.put("byte", "u8"); typeMapping.put("ByteArray", bytesType); typeMapping.put("binary", bytesType); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java index 197765f56e0..64696f6896d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java @@ -154,6 +154,7 @@ public class ScalaFinchServerCodegen extends DefaultCodegen implements CodegenCo importMapping = new HashMap(); importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); + importMapping.put("URI", "java.net.URI"); importMapping.put("File", "java.io.File"); importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java index 6eb994bd8e0..806157ce87d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java @@ -101,6 +101,7 @@ public class ScalatraServerCodegen extends AbstractScalaCodegen implements Codeg importMapping = new HashMap(); importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); + importMapping.put("URI", "java.net.URI"); importMapping.put("File", "java.io.File"); importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java index 2c5e001d794..61a5e654fdb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java @@ -151,6 +151,7 @@ public class Swift3Codegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("binary", "Data"); typeMapping.put("ByteArray", "Data"); typeMapping.put("UUID", "UUID"); + typeMapping.put("URI", "String"); importMapping = new HashMap<>(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java index c5b5b97a365..b78891af4f2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java @@ -197,6 +197,7 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("binary", "URL"); typeMapping.put("ByteArray", "Data"); typeMapping.put("UUID", "UUID"); + typeMapping.put("URI", "String"); importMapping = new HashMap<>(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java index 1f6fc32b3f2..d4e06cc01a9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java @@ -169,6 +169,7 @@ public class SwiftClientCodegen extends DefaultCodegen implements CodegenConfig typeMapping.put("binary", "NSURL"); typeMapping.put("ByteArray", "NSData"); typeMapping.put("UUID", "NSUUID"); + typeMapping.put("URI", "String"); importMapping = new HashMap(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java index efdf43561c9..814035e9e81 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java @@ -42,6 +42,7 @@ import java.util.stream.Collectors; public class ModelUtils { private static final Logger LOGGER = LoggerFactory.getLogger(ModelUtils.class); + private static final String URI_FORMAT = "uri"; private static boolean generateAliasAsModel = false; public static void setGenerateAliasAsModel(boolean value) { @@ -500,6 +501,14 @@ public class ModelUtils { return false; } + public static boolean isURISchema(Schema schema) { + if (SchemaTypeUtil.STRING_TYPE.equals(schema.getType()) + && URI_FORMAT.equals(schema.getFormat())) { // format: uri + return true; + } + return false; + } + public static boolean isEmailSchema(Schema schema) { if (schema instanceof EmailSchema) { return true;