From 246369ccdd441f1fc1e4207891158a93b1fa8439 Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 4 Feb 2016 15:35:05 +0800 Subject: [PATCH 1/5] update csharp help, fix default header --- .../src/main/java/io/swagger/codegen/CodegenConstants.java | 4 ++-- .../swagger-codegen/src/main/resources/csharp/api.mustache | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConstants.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConstants.java index ce0b9ea2d896..f0d3591ba3f4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConstants.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConstants.java @@ -60,7 +60,7 @@ public class CodegenConstants { public static final String OPTIONAL_METHOD_ARGUMENT_DESC = "Optional method argument, e.g. void square(int x=10) (.net 4.0+ only)."; public static final String OPTIONAL_ASSEMBLY_INFO = "optionalAssemblyInfo"; - public static final String OPTIONAL_ASSEMBLY_INFO_DESC = "Generate AssemblyInfo.cs (Default: true)."; + public static final String OPTIONAL_ASSEMBLY_INFO_DESC = "Generate AssemblyInfo.cs."; public static final String USE_COLLECTION = "useCollection"; public static final String USE_COLLECTION_DESC = "Deserialize array types to Collection instead of List."; @@ -69,7 +69,7 @@ public class CodegenConstants { public static final String RETURN_ICOLLECTION_DESC = "Return ICollection instead of the concrete type."; public static final String OPTIONAL_PROJECT_FILE = "optionalProjectFile"; - public static final String OPTIONAL_PROJECT_FILE_DESC = "Generate {PackageName}.csproj (Default: false)."; + public static final String OPTIONAL_PROJECT_FILE_DESC = "Generate {PackageName}.csproj."; public static final String OPTIONAL_PROJECT_GUID = "packageGuid"; public static final String OPTIONAL_PROJECT_GUID_DESC = "The GUID that will be associated with the C# project"; diff --git a/modules/swagger-codegen/src/main/resources/csharp/api.mustache b/modules/swagger-codegen/src/main/resources/csharp/api.mustache index e4e1ba7aa906..b1a6a321c56b 100644 --- a/modules/swagger-codegen/src/main/resources/csharp/api.mustache +++ b/modules/swagger-codegen/src/main/resources/csharp/api.mustache @@ -273,7 +273,7 @@ namespace {{packageName}}.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; From 5e1cb9349a2939b99fb5aa6e068260a9c2d8ffbd Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 4 Feb 2016 16:39:51 +0800 Subject: [PATCH 2/5] update exmaple, add toExampleValue --- .../io/swagger/codegen/DefaultCodegen.java | 47 ++++++++++++++++++- .../languages/CSharpClientCodegen.java | 47 +++++++++++++++++++ .../src/main/csharp/IO/Swagger/Api/PetApi.cs | 20 ++++---- .../main/csharp/IO/Swagger/Api/StoreApi.cs | 8 ++-- .../src/main/csharp/IO/Swagger/Api/UserApi.cs | 16 +++---- 5 files changed, 115 insertions(+), 23 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index a66ef6db8106..45d10c5121f9 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -585,6 +585,51 @@ public class DefaultCodegen { } } + /** + * Return the example value of the property + * + * @param p Swagger property object + * @return string presentation of the example value of the property + */ + @SuppressWarnings("static-method") + public String toExampleValue(Property p) { + if (p instanceof StringProperty) { + return "null"; + } else if (p instanceof BooleanProperty) { + return "null"; + } else if (p instanceof DateProperty) { + return "null"; + } else if (p instanceof DateTimeProperty) { + return "null"; + } else if (p instanceof DoubleProperty) { + DoubleProperty dp = (DoubleProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + return "null"; + } else if (p instanceof FloatProperty) { + FloatProperty dp = (FloatProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + return "null"; + } else if (p instanceof IntegerProperty) { + IntegerProperty dp = (IntegerProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + return "null"; + } else if (p instanceof LongProperty) { + LongProperty dp = (LongProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + return "null"; + } else { + return "null"; + } + } + /** * Return the default value of the property * @@ -927,7 +972,7 @@ public class DefaultCodegen { property.unescapedDescription = p.getDescription(); property.getter = "get" + getterAndSetterCapitalize(name); property.setter = "set" + getterAndSetterCapitalize(name); - property.example = p.getExample(); + property.example = toExampleValue(p); property.defaultValue = toDefaultValue(p); property.defaultValueWithParam = toDefaultValueWithParam(name, p); property.jsonSchema = Json.pretty(p); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 07252e685f0d..318d44f908b9 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -552,4 +552,51 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig return null; } + + /** + * Return the example value of the property + * + * @param p Swagger property object + * @return string presentation of the example value of the property + */ + @Override + public String toExampleValue(Property p) { + if (p instanceof StringProperty) { + StringProperty dp = (StringProperty) p; + if (dp.getExample() != null) { + return "\"" + dp.getExample().toString() + "\""; + } + } else if (p instanceof BooleanProperty) { + BooleanProperty dp = (BooleanProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + } else if (p instanceof DateProperty) { + // TODO + } else if (p instanceof DateTimeProperty) { + // TODO + } else if (p instanceof DoubleProperty) { + DoubleProperty dp = (DoubleProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + } else if (p instanceof FloatProperty) { + FloatProperty dp = (FloatProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + } else if (p instanceof IntegerProperty) { + IntegerProperty dp = (IntegerProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + } else if (p instanceof LongProperty) { + LongProperty dp = (LongProperty) p; + if (dp.getExample() != null) { + return dp.getExample().toString(); + } + } + + return null; + } } diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs index fa1479f50932..96f6b3a4d0f1 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/PetApi.cs @@ -623,7 +623,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -789,7 +789,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -951,7 +951,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1113,7 +1113,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1281,7 +1281,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1457,7 +1457,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1630,7 +1630,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1807,7 +1807,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1977,7 +1977,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -2143,7 +2143,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs index 69499f4fd9bd..ca876a043dbf 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/StoreApi.cs @@ -350,7 +350,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -510,7 +510,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -663,7 +663,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -814,7 +814,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs index 0c178a5637df..168ce373ef9b 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs +++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Api/UserApi.cs @@ -520,7 +520,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -671,7 +671,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -822,7 +822,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -974,7 +974,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1115,7 +1115,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1267,7 +1267,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1429,7 +1429,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; @@ -1581,7 +1581,7 @@ namespace IO.Swagger.Api var pathParams = new Dictionary(); var queryParams = new Dictionary(); - var headerParams = new Dictionary(); + var headerParams = new Dictionary(Configuration.DefaultHeader); var formParams = new Dictionary(); var fileParams = new Dictionary(); Object postBody = null; From 87253d85338075ad09e5f9629c71269bf638a7ba Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 4 Feb 2016 18:09:20 +0800 Subject: [PATCH 3/5] update sh permission, add aspnet5 bat --- bin/aspnet5-petstore-server.sh | 0 bin/go-petstore.sh | 0 bin/windows/aspnet5-petstore-server.bat | 2 +- bin/windows/go-petstore.bat | 0 4 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 bin/aspnet5-petstore-server.sh mode change 100644 => 100755 bin/go-petstore.sh mode change 100644 => 100755 bin/windows/aspnet5-petstore-server.bat mode change 100644 => 100755 bin/windows/go-petstore.bat diff --git a/bin/aspnet5-petstore-server.sh b/bin/aspnet5-petstore-server.sh old mode 100644 new mode 100755 diff --git a/bin/go-petstore.sh b/bin/go-petstore.sh old mode 100644 new mode 100755 diff --git a/bin/windows/aspnet5-petstore-server.bat b/bin/windows/aspnet5-petstore-server.bat old mode 100644 new mode 100755 index b71809f7006f..e14731fb0ef0 --- a/bin/windows/aspnet5-petstore-server.bat +++ b/bin/windows/aspnet5-petstore-server.bat @@ -5,6 +5,6 @@ If Not Exist %executable% ( ) set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties -set ags=generate -t modules\swagger-codegen\src\main\resources\aspnet5 -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l aspnet5 -o samples\server\petstore\aspnet5 +set ags=generate -t modules\swagger-codegen\src\main\resources\aspnet5 -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l aspnet5 -o samples\client\petstore\aspnet5\ java %JAVA_OPTS% -jar %executable% %ags% diff --git a/bin/windows/go-petstore.bat b/bin/windows/go-petstore.bat old mode 100644 new mode 100755 From 8d40b7a890061e73d5fb08dbed8d1a9d992f37a4 Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 4 Feb 2016 18:52:16 +0800 Subject: [PATCH 4/5] sanitize model name (C#) --- .../java/io/swagger/codegen/languages/AspNet5ServerCodegen.java | 2 ++ .../java/io/swagger/codegen/languages/CSharpClientCodegen.java | 2 ++ .../swagger/codegen/languages/CsharpDotNet2ClientCodegen.java | 2 ++ .../csharp/SwaggerClientTest/SwaggerClientTest.userprefs | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AspNet5ServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AspNet5ServerCodegen.java index 25ed44826eaf..b6339ee11c6f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AspNet5ServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AspNet5ServerCodegen.java @@ -311,6 +311,8 @@ public class AspNet5ServerCodegen extends DefaultCodegen implements CodegenConfi // TODO: Create a base C# abstract type to avoid duplication of language functionality @Override public String toModelName(String name) { + name = sanitizeName(name); + // model name cannot use reserved keyword, e.g. return if (reservedWords.contains(name)) { throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 318d44f908b9..1d6a40831b01 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -339,6 +339,8 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toModelName(String name) { + name = sanitizeName(name); + // model name cannot use reserved keyword, e.g. return if (reservedWords.contains(name)) { throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java index d3d249bfcd26..7b8dc68d1c30 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java @@ -215,6 +215,8 @@ public class CsharpDotNet2ClientCodegen extends DefaultCodegen implements Codege @Override public String toModelName(String name) { + name = sanitizeName(name); + // model name cannot use reserved keyword, e.g. return if (reservedWords.contains(name)) { throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); diff --git a/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs b/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs index 997fd368fab3..a66bf7badfa3 100644 --- a/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs +++ b/samples/client/petstore/csharp/SwaggerClientTest/SwaggerClientTest.userprefs @@ -6,7 +6,7 @@ - + From 7b678454f1acad2181fd5bdab7915b85eaf171dc Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 4 Feb 2016 19:30:30 +0800 Subject: [PATCH 5/5] fix aspnet5 batch file --- bin/windows/aspnet5-petstore-server.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/windows/aspnet5-petstore-server.bat b/bin/windows/aspnet5-petstore-server.bat index e14731fb0ef0..955ad6677b8b 100755 --- a/bin/windows/aspnet5-petstore-server.bat +++ b/bin/windows/aspnet5-petstore-server.bat @@ -5,6 +5,6 @@ If Not Exist %executable% ( ) set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties -set ags=generate -t modules\swagger-codegen\src\main\resources\aspnet5 -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l aspnet5 -o samples\client\petstore\aspnet5\ +set ags=generate -t modules\swagger-codegen\src\main\resources\aspnet5 -i modules\swagger-codegen\src\test\resources\2_0\petstore.json -l aspnet5 -o samples\server\petstore\aspnet5\ java %JAVA_OPTS% -jar %executable% %ags%