From c1a9b7313edb6d56aa4a48b2dfb8c890d6b98b9b Mon Sep 17 00:00:00 2001 From: fumito_ito Date: Tue, 21 Mar 2017 15:22:18 +0900 Subject: [PATCH 1/2] fix #2159 dataformatter error for iOS Swift (#5008) * fix #2159 dataformatter error for iOS Swift When trying to parse 24-hour time to 12-hour time, date formatter throws fatal error. It's caused by lack of settings locale for date formatter. * update sample code --- modules/swagger-codegen/src/main/resources/swift/Models.mustache | 1 + .../swift/default/PetstoreClient/Classes/Swaggers/Models.swift | 1 + .../promisekit/PetstoreClient/Classes/Swaggers/Models.swift | 1 + .../swift/rxswift/PetstoreClient/Classes/Swaggers/Models.swift | 1 + 4 files changed, 4 insertions(+) diff --git a/modules/swagger-codegen/src/main/resources/swift/Models.mustache b/modules/swagger-codegen/src/main/resources/swift/Models.mustache index 2d7c90940913..b91e2727b8ae 100644 --- a/modules/swagger-codegen/src/main/resources/swift/Models.mustache +++ b/modules/swagger-codegen/src/main/resources/swift/Models.mustache @@ -121,6 +121,7 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ss.SSS" ].map { (format: String) -> NSDateFormatter in let formatter = NSDateFormatter() + formatter.locale = NSLocale(localeIdentifier:"en_US_POSIX") formatter.dateFormat = format return formatter } diff --git a/samples/client/petstore/swift/default/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift/default/PetstoreClient/Classes/Swaggers/Models.swift index 32175b605a32..2748ba3db2d4 100644 --- a/samples/client/petstore/swift/default/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift/default/PetstoreClient/Classes/Swaggers/Models.swift @@ -121,6 +121,7 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ss.SSS" ].map { (format: String) -> NSDateFormatter in let formatter = NSDateFormatter() + formatter.locale = NSLocale(localeIdentifier:"en_US_POSIX") formatter.dateFormat = format return formatter } diff --git a/samples/client/petstore/swift/promisekit/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift/promisekit/PetstoreClient/Classes/Swaggers/Models.swift index 32175b605a32..2748ba3db2d4 100644 --- a/samples/client/petstore/swift/promisekit/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift/promisekit/PetstoreClient/Classes/Swaggers/Models.swift @@ -121,6 +121,7 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ss.SSS" ].map { (format: String) -> NSDateFormatter in let formatter = NSDateFormatter() + formatter.locale = NSLocale(localeIdentifier:"en_US_POSIX") formatter.dateFormat = format return formatter } diff --git a/samples/client/petstore/swift/rxswift/PetstoreClient/Classes/Swaggers/Models.swift b/samples/client/petstore/swift/rxswift/PetstoreClient/Classes/Swaggers/Models.swift index 32175b605a32..2748ba3db2d4 100644 --- a/samples/client/petstore/swift/rxswift/PetstoreClient/Classes/Swaggers/Models.swift +++ b/samples/client/petstore/swift/rxswift/PetstoreClient/Classes/Swaggers/Models.swift @@ -121,6 +121,7 @@ class Decoders { "yyyy-MM-dd'T'HH:mm:ss.SSS" ].map { (format: String) -> NSDateFormatter in let formatter = NSDateFormatter() + formatter.locale = NSLocale(localeIdentifier:"en_US_POSIX") formatter.dateFormat = format return formatter } From 7325650f2d142d3542b3a2f4273895f0af199143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Franco=20Uechi?= Date: Tue, 21 Mar 2017 03:25:10 -0300 Subject: [PATCH 2/2] solves issue #4752 (#5127) --- .../languages/FlaskConnexionCodegen.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/FlaskConnexionCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/FlaskConnexionCodegen.java index 61a624648bac..050f21b8eff9 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/FlaskConnexionCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/FlaskConnexionCodegen.java @@ -620,11 +620,26 @@ public class FlaskConnexionCodegen extends DefaultCodegen implements CodegenConf @Override public String toModelImport(String name) { - String modelImport = "from "; - if (!"".equals(modelPackage())) { - modelImport += modelPackage() + "."; + String modelImport; + if (StringUtils.startsWithAny(name,"import", "from")) { + modelImport = name; + } else { + modelImport = "from "; + if (!"".equals(modelPackage())) { + modelImport += modelPackage() + "."; + } + modelImport += toModelFilename(name)+ " import " + name; } - modelImport += toModelFilename(name)+ " import " + name; return modelImport; } + + @Override + public void postProcessModelProperty(CodegenModel model, CodegenProperty property){ + if (StringUtils.isNotEmpty(property.pattern)) { + addImport(model, "import re"); + } + } + + + }