From 16e367bdc827726c1102e9928fb85cbfb726256f Mon Sep 17 00:00:00 2001 From: xhh Date: Fri, 22 Jan 2016 11:23:45 +0800 Subject: [PATCH] JavaScript: fix constructFromObject for Array fields Closes #1721 --- .../io/swagger/codegen/DefaultCodegen.java | 36 +------------------ .../languages/JavascriptClientCodegen.java | 15 ++------ .../petstore/javascript/src/model/Pet.js | 4 +-- .../javascript/test/api/PetApiTest.js | 1 + 4 files changed, 6 insertions(+), 50 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 f9bd468a25b..0415cfb5975 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 @@ -624,41 +624,7 @@ public class DefaultCodegen { * @return string presentation of the default value of the property */ public String toDefaultValueWithParam(String name, Property p) { - if (p instanceof StringProperty) { - return " = data." + name + ";"; - } else if (p instanceof BooleanProperty) { - return " = data." + name + ";"; - } else if (p instanceof DateProperty) { - return " = data." + name + ";"; - } else if (p instanceof DateTimeProperty) { - return " = data." + name + ";"; - } else if (p instanceof DoubleProperty) { - DoubleProperty dp = (DoubleProperty) p; - if (dp.getDefault() != null) { - return dp.getDefault().toString(); - } - return " = data." + name + ";"; - } else if (p instanceof FloatProperty) { - FloatProperty dp = (FloatProperty) p; - if (dp.getDefault() != null) { - return dp.getDefault().toString(); - } - return " = data." + name + ";"; - } else if (p instanceof IntegerProperty) { - IntegerProperty dp = (IntegerProperty) p; - if (dp.getDefault() != null) { - return dp.getDefault().toString(); - } - return " = data." + name + ";"; - } else if (p instanceof LongProperty) { - LongProperty dp = (LongProperty) p; - if (dp.getDefault() != null) { - return dp.getDefault().toString(); - } - return " = data." + name + ";"; - } else { - return " = data." + name + ";"; - } + return " = data." + name + ";"; } /** diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java index fbf8b1adae5..c6b381a5632 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java @@ -324,27 +324,16 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo return super.toDefaultValue(p); } - @Override public String toDefaultValueWithParam(String name, Property p) { - if (p instanceof ArrayProperty) { - return " = new Array();"; - } else if (p instanceof MapProperty) { - return " = {}"; - } else if (p instanceof LongProperty) { - LongProperty dp = (LongProperty) p; - return " = data." + name + ";"; - - // added for Javascript - } else if (p instanceof RefProperty) { - RefProperty rp = (RefProperty)p; + if (p instanceof RefProperty) { + RefProperty rp = (RefProperty) p; return ".constructFromObject(data." + name + ");"; } return super.toDefaultValueWithParam(name, p); } - @Override public String getSwaggerType(Property p) { String swaggerType = super.getSwaggerType(p); diff --git a/samples/client/petstore/javascript/src/model/Pet.js b/samples/client/petstore/javascript/src/model/Pet.js index 88674c64bc9..392007d6a54 100644 --- a/samples/client/petstore/javascript/src/model/Pet.js +++ b/samples/client/petstore/javascript/src/model/Pet.js @@ -95,9 +95,9 @@ var StatusEnum = function StatusEnum() { self.name = data.name; - self.photoUrls = new Array(); + self.photoUrls = data.photoUrls; - self.tags = new Array(); + self.tags = data.tags; self.status = data.status; diff --git a/samples/client/petstore/javascript/test/api/PetApiTest.js b/samples/client/petstore/javascript/test/api/PetApiTest.js index f2c72bb8011..9385cf2701b 100644 --- a/samples/client/petstore/javascript/test/api/PetApiTest.js +++ b/samples/client/petstore/javascript/test/api/PetApiTest.js @@ -40,6 +40,7 @@ describe('PetApi', function() { expect(fetched).to.be.ok(); expect(fetched.id).to.be(pet.id); + expect(fetched.getPhotoUrls()).to.eql(pet.getPhotoUrls()); expect(fetched.getCategory()).to.be.ok(); expect(fetched.getCategory().getName()).to.be(pet.getCategory().getName());