add cli option to specify if to emit default values in datamember

This commit is contained in:
Tommy Alander 2016-03-03 08:32:23 +01:00
parent d89deba96c
commit 2d6dac16b7
21 changed files with 37 additions and 72 deletions

View File

@ -87,4 +87,8 @@ public class CodegenConstants {
public static final String MODEL_NAME_SUFFIX = "modelNameSuffix"; public static final String MODEL_NAME_SUFFIX = "modelNameSuffix";
public static final String MODEL_NAME_SUFFIX_DESC = "Suffix that will be appended to all model names. Default is the empty string."; public static final String MODEL_NAME_SUFFIX_DESC = "Suffix that will be appended to all model names. Default is the empty string.";
public static final String OPTIONAL_EMIT_DEFAULT_VALUES = "optionalEmitDefaultValues";
public static final String OPTIONAL_EMIT_DEFAULT_VALUES_DESC = "Set DataMember's EmitDefaultValue, default false.";
} }

View File

@ -13,6 +13,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
protected boolean optionalAssemblyInfoFlag = true; protected boolean optionalAssemblyInfoFlag = true;
protected boolean optionalProjectFileFlag = false; protected boolean optionalProjectFileFlag = false;
protected boolean optionalEmitDefaultValue = false;
protected boolean optionalMethodArgumentFlag = true; protected boolean optionalMethodArgumentFlag = true;
protected boolean useDateTimeOffsetFlag = false; protected boolean useDateTimeOffsetFlag = false;
protected boolean useCollection = false; protected boolean useCollection = false;

View File

@ -121,6 +121,10 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
addSwitch(CodegenConstants.OPTIONAL_PROJECT_FILE, addSwitch(CodegenConstants.OPTIONAL_PROJECT_FILE,
CodegenConstants.OPTIONAL_PROJECT_FILE_DESC, CodegenConstants.OPTIONAL_PROJECT_FILE_DESC,
this.optionalProjectFileFlag); this.optionalProjectFileFlag);
addSwitch(CodegenConstants.OPTIONAL_EMIT_DEFAULT_VALUES,
CodegenConstants.OPTIONAL_EMIT_DEFAULT_VALUES_DESC,
this.optionalEmitDefaultValue);
} }
@Override @Override
@ -139,6 +143,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
additionalProperties.put("packageDescription", packageDescription); additionalProperties.put("packageDescription", packageDescription);
additionalProperties.put("packageCompany", packageCompany); additionalProperties.put("packageCompany", packageCompany);
additionalProperties.put("packageCopyright", packageCopyright); additionalProperties.put("packageCopyright", packageCopyright);
additionalProperties.put("emitDefaultValue", optionalEmitDefaultValue);
if (additionalProperties.containsKey(CodegenConstants.DOTNET_FRAMEWORK)) { if (additionalProperties.containsKey(CodegenConstants.DOTNET_FRAMEWORK)) {
setTargetFramework((String) additionalProperties.get(CodegenConstants.DOTNET_FRAMEWORK)); setTargetFramework((String) additionalProperties.get(CodegenConstants.DOTNET_FRAMEWORK));

View File

@ -28,7 +28,7 @@ namespace {{packageName}}.Model
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}} /// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
/// </summary>{{#description}} /// </summary>{{#description}}
/// <value>{{{description}}}</value>{{/description}} /// <value>{{{description}}}</value>{{/description}}
[DataMember(Name="{{baseName}}", EmitDefaultValue=true)] [DataMember(Name="{{baseName}}", EmitDefaultValue={{emitDefaultValue}})]
public {{{datatypeWithEnum}}} {{name}} { get; set; } public {{{datatypeWithEnum}}} {{name}} { get; set; }
{{/isEnum}}{{/vars}} {{/isEnum}}{{/vars}}
/// <summary> /// <summary>
@ -66,7 +66,7 @@ namespace {{packageName}}.Model
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}} /// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}}
/// </summary>{{#description}} /// </summary>{{#description}}
/// <value>{{{description}}}</value>{{/description}} /// <value>{{{description}}}</value>{{/description}}
[DataMember(Name="{{baseName}}", EmitDefaultValue=true)] [DataMember(Name="{{baseName}}", EmitDefaultValue={{emitDefaultValue}})]
public {{{datatype}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; } public {{{datatype}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; }
{{/isEnum}}{{/vars}} {{/isEnum}}{{/vars}}
/// <summary> /// <summary>

View File

@ -32,6 +32,7 @@ public class CSharpClientOptionsProvider implements OptionsProvider {
.put(CodegenConstants.OPTIONAL_PROJECT_FILE, "true") .put(CodegenConstants.OPTIONAL_PROJECT_FILE, "true")
.put(CodegenConstants.OPTIONAL_PROJECT_GUID, PACKAGE_GUID_VALUE) .put(CodegenConstants.OPTIONAL_PROJECT_GUID, PACKAGE_GUID_VALUE)
.put(CodegenConstants.DOTNET_FRAMEWORK, "4.x") .put(CodegenConstants.DOTNET_FRAMEWORK, "4.x")
.put(CodegenConstants.OPTIONAL_EMIT_DEFAULT_VALUES, "false")
.build(); .build();
} }

View File

@ -9,8 +9,6 @@ using IO.Swagger.Model;
using IO.Swagger.Client; using IO.Swagger.Client;
using System.Reflection; using System.Reflection;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]
@ -68,5 +66,3 @@ namespace IO.Swagger.Test
} }
} }

View File

@ -9,8 +9,6 @@ using IO.Swagger.Model;
using IO.Swagger.Client; using IO.Swagger.Client;
using System.Reflection; using System.Reflection;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]
@ -104,5 +102,3 @@ namespace IO.Swagger.Test
} }
} }

View File

@ -11,7 +11,6 @@ using IO.Swagger.Client;
using IO.Swagger.Api; using IO.Swagger.Api;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]

View File

@ -9,8 +9,6 @@ using IO.Swagger.Model;
using IO.Swagger.Client; using IO.Swagger.Client;
using System.Reflection; using System.Reflection;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]
@ -104,5 +102,3 @@ namespace IO.Swagger.Test
} }
} }

View File

@ -11,7 +11,6 @@ using IO.Swagger.Client;
using IO.Swagger.Api; using IO.Swagger.Api;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]

View File

@ -9,8 +9,6 @@ using IO.Swagger.Model;
using IO.Swagger.Client; using IO.Swagger.Client;
using System.Reflection; using System.Reflection;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]
@ -68,5 +66,3 @@ namespace IO.Swagger.Test
} }
} }

View File

@ -11,7 +11,6 @@ using IO.Swagger.Client;
using IO.Swagger.Api; using IO.Swagger.Api;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]

View File

@ -9,8 +9,6 @@ using IO.Swagger.Model;
using IO.Swagger.Client; using IO.Swagger.Client;
using System.Reflection; using System.Reflection;
namespace IO.Swagger.Test namespace IO.Swagger.Test
{ {
[TestFixture] [TestFixture]
@ -122,5 +120,3 @@ namespace IO.Swagger.Test
} }
} }

View File

@ -7,7 +7,6 @@ using RestSharp;
using IO.Swagger.Client; using IO.Swagger.Client;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Api namespace IO.Swagger.Api
{ {

View File

@ -7,7 +7,6 @@ using RestSharp;
using IO.Swagger.Client; using IO.Swagger.Client;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Api namespace IO.Swagger.Api
{ {

View File

@ -7,7 +7,6 @@ using RestSharp;
using IO.Swagger.Client; using IO.Swagger.Client;
using IO.Swagger.Model; using IO.Swagger.Model;
namespace IO.Swagger.Api namespace IO.Swagger.Api
{ {

View File

@ -9,8 +9,6 @@ using System.Runtime.Serialization;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
namespace IO.Swagger.Model namespace IO.Swagger.Model
{ {
/// <summary> /// <summary>
@ -38,13 +36,13 @@ namespace IO.Swagger.Model
/// <summary> /// <summary>
/// Gets or Sets Id /// Gets or Sets Id
/// </summary> /// </summary>
[DataMember(Name="id", EmitDefaultValue=true)] [DataMember(Name="id", EmitDefaultValue=false)]
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Name /// Gets or Sets Name
/// </summary> /// </summary>
[DataMember(Name="name", EmitDefaultValue=true)] [DataMember(Name="name", EmitDefaultValue=false)]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
@ -129,6 +127,4 @@ namespace IO.Swagger.Model
} }
} }
} }

View File

@ -9,8 +9,6 @@ using System.Runtime.Serialization;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
namespace IO.Swagger.Model namespace IO.Swagger.Model
{ {
/// <summary> /// <summary>
@ -37,7 +35,7 @@ namespace IO.Swagger.Model
/// Order Status /// Order Status
/// </summary> /// </summary>
/// <value>Order Status</value> /// <value>Order Status</value>
[DataMember(Name="status", EmitDefaultValue=true)] [DataMember(Name="status", EmitDefaultValue=false)]
public StatusEnum? Status { get; set; } public StatusEnum? Status { get; set; }
/// <summary> /// <summary>
@ -64,31 +62,31 @@ namespace IO.Swagger.Model
/// <summary> /// <summary>
/// Gets or Sets Id /// Gets or Sets Id
/// </summary> /// </summary>
[DataMember(Name="id", EmitDefaultValue=true)] [DataMember(Name="id", EmitDefaultValue=false)]
public long? Id { get; private set; } public long? Id { get; private set; }
/// <summary> /// <summary>
/// Gets or Sets PetId /// Gets or Sets PetId
/// </summary> /// </summary>
[DataMember(Name="petId", EmitDefaultValue=true)] [DataMember(Name="petId", EmitDefaultValue=false)]
public long? PetId { get; set; } public long? PetId { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Quantity /// Gets or Sets Quantity
/// </summary> /// </summary>
[DataMember(Name="quantity", EmitDefaultValue=true)] [DataMember(Name="quantity", EmitDefaultValue=false)]
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary> /// <summary>
/// Gets or Sets ShipDate /// Gets or Sets ShipDate
/// </summary> /// </summary>
[DataMember(Name="shipDate", EmitDefaultValue=true)] [DataMember(Name="shipDate", EmitDefaultValue=false)]
public DateTime? ShipDate { get; set; } public DateTime? ShipDate { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Complete /// Gets or Sets Complete
/// </summary> /// </summary>
[DataMember(Name="complete", EmitDefaultValue=true)] [DataMember(Name="complete", EmitDefaultValue=false)]
public bool? Complete { get; set; } public bool? Complete { get; set; }
/// <summary> /// <summary>
@ -209,6 +207,4 @@ namespace IO.Swagger.Model
} }
} }
} }

View File

@ -9,8 +9,6 @@ using System.Runtime.Serialization;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
namespace IO.Swagger.Model namespace IO.Swagger.Model
{ {
/// <summary> /// <summary>
@ -37,7 +35,7 @@ namespace IO.Swagger.Model
/// pet status in the store /// pet status in the store
/// </summary> /// </summary>
/// <value>pet status in the store</value> /// <value>pet status in the store</value>
[DataMember(Name="status", EmitDefaultValue=true)] [DataMember(Name="status", EmitDefaultValue=false)]
public StatusEnum? Status { get; set; } public StatusEnum? Status { get; set; }
/// <summary> /// <summary>
@ -82,31 +80,31 @@ namespace IO.Swagger.Model
/// <summary> /// <summary>
/// Gets or Sets Id /// Gets or Sets Id
/// </summary> /// </summary>
[DataMember(Name="id", EmitDefaultValue=true)] [DataMember(Name="id", EmitDefaultValue=false)]
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Category /// Gets or Sets Category
/// </summary> /// </summary>
[DataMember(Name="category", EmitDefaultValue=true)] [DataMember(Name="category", EmitDefaultValue=false)]
public Category Category { get; set; } public Category Category { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Name /// Gets or Sets Name
/// </summary> /// </summary>
[DataMember(Name="name", EmitDefaultValue=true)] [DataMember(Name="name", EmitDefaultValue=false)]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// Gets or Sets PhotoUrls /// Gets or Sets PhotoUrls
/// </summary> /// </summary>
[DataMember(Name="photoUrls", EmitDefaultValue=true)] [DataMember(Name="photoUrls", EmitDefaultValue=false)]
public List<string> PhotoUrls { get; set; } public List<string> PhotoUrls { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Tags /// Gets or Sets Tags
/// </summary> /// </summary>
[DataMember(Name="tags", EmitDefaultValue=true)] [DataMember(Name="tags", EmitDefaultValue=false)]
public List<Tag> Tags { get; set; } public List<Tag> Tags { get; set; }
/// <summary> /// <summary>
@ -227,6 +225,4 @@ namespace IO.Swagger.Model
} }
} }
} }

View File

@ -9,8 +9,6 @@ using System.Runtime.Serialization;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
namespace IO.Swagger.Model namespace IO.Swagger.Model
{ {
/// <summary> /// <summary>
@ -38,13 +36,13 @@ namespace IO.Swagger.Model
/// <summary> /// <summary>
/// Gets or Sets Id /// Gets or Sets Id
/// </summary> /// </summary>
[DataMember(Name="id", EmitDefaultValue=true)] [DataMember(Name="id", EmitDefaultValue=false)]
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Name /// Gets or Sets Name
/// </summary> /// </summary>
[DataMember(Name="name", EmitDefaultValue=true)] [DataMember(Name="name", EmitDefaultValue=false)]
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
@ -129,6 +127,4 @@ namespace IO.Swagger.Model
} }
} }
} }

View File

@ -9,8 +9,6 @@ using System.Runtime.Serialization;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
namespace IO.Swagger.Model namespace IO.Swagger.Model
{ {
/// <summary> /// <summary>
@ -50,50 +48,50 @@ namespace IO.Swagger.Model
/// <summary> /// <summary>
/// Gets or Sets Id /// Gets or Sets Id
/// </summary> /// </summary>
[DataMember(Name="id", EmitDefaultValue=true)] [DataMember(Name="id", EmitDefaultValue=false)]
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Username /// Gets or Sets Username
/// </summary> /// </summary>
[DataMember(Name="username", EmitDefaultValue=true)] [DataMember(Name="username", EmitDefaultValue=false)]
public string Username { get; set; } public string Username { get; set; }
/// <summary> /// <summary>
/// Gets or Sets FirstName /// Gets or Sets FirstName
/// </summary> /// </summary>
[DataMember(Name="firstName", EmitDefaultValue=true)] [DataMember(Name="firstName", EmitDefaultValue=false)]
public string FirstName { get; set; } public string FirstName { get; set; }
/// <summary> /// <summary>
/// Gets or Sets LastName /// Gets or Sets LastName
/// </summary> /// </summary>
[DataMember(Name="lastName", EmitDefaultValue=true)] [DataMember(Name="lastName", EmitDefaultValue=false)]
public string LastName { get; set; } public string LastName { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Email /// Gets or Sets Email
/// </summary> /// </summary>
[DataMember(Name="email", EmitDefaultValue=true)] [DataMember(Name="email", EmitDefaultValue=false)]
public string Email { get; set; } public string Email { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Password /// Gets or Sets Password
/// </summary> /// </summary>
[DataMember(Name="password", EmitDefaultValue=true)] [DataMember(Name="password", EmitDefaultValue=false)]
public string Password { get; set; } public string Password { get; set; }
/// <summary> /// <summary>
/// Gets or Sets Phone /// Gets or Sets Phone
/// </summary> /// </summary>
[DataMember(Name="phone", EmitDefaultValue=true)] [DataMember(Name="phone", EmitDefaultValue=false)]
public string Phone { get; set; } public string Phone { get; set; }
/// <summary> /// <summary>
/// User Status /// User Status
/// </summary> /// </summary>
/// <value>User Status</value> /// <value>User Status</value>
[DataMember(Name="userStatus", EmitDefaultValue=true)] [DataMember(Name="userStatus", EmitDefaultValue=false)]
public int? UserStatus { get; set; } public int? UserStatus { get; set; }
/// <summary> /// <summary>
@ -232,6 +230,4 @@ namespace IO.Swagger.Model
} }
} }
} }