From b3cadf91c9b90b0b4f346d023c3454d055286a81 Mon Sep 17 00:00:00 2001 From: Michael Marner Date: Mon, 28 Oct 2019 17:52:05 +1030 Subject: [PATCH 1/3] Cast number from decoded json to double before assignment Closes #9808 --- .../swagger-codegen/src/main/resources/dart/class.mustache | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/swagger-codegen/src/main/resources/dart/class.mustache b/modules/swagger-codegen/src/main/resources/dart/class.mustache index 930bf61d2d8..93353ff3de9 100644 --- a/modules/swagger-codegen/src/main/resources/dart/class.mustache +++ b/modules/swagger-codegen/src/main/resources/dart/class.mustache @@ -28,7 +28,12 @@ class {{classname}} { (json['{{baseName}}'] as List).map((item) => item as {{items.datatype}}).toList() {{/isListContainer}} {{^isListContainer}} + {{#isDouble}} + json['{{baseName}}'].toDouble() + {{/isDouble}} + {{^isDouble}} json['{{baseName}}'] + {{/isDouble}} {{/isListContainer}} {{/complexType}}; {{/isDateTime}} From 56ed53d033dcfd8da8ec0b866f97e99015041363 Mon Sep 17 00:00:00 2001 From: Michael Marner Date: Mon, 28 Oct 2019 18:00:57 +1030 Subject: [PATCH 2/3] Update dart petstore example --- .../dart/flutter_petstore/swagger/.swagger-codegen/VERSION | 2 +- .../dart/flutter_petstore/swagger/lib/model/amount.dart | 2 +- .../dart/swagger-browser-client/.swagger-codegen/VERSION | 2 +- .../petstore/dart/swagger-browser-client/lib/model/amount.dart | 2 +- samples/client/petstore/dart/swagger/.swagger-codegen/VERSION | 2 +- samples/client/petstore/dart/swagger/lib/model/amount.dart | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/samples/client/petstore/dart/flutter_petstore/swagger/.swagger-codegen/VERSION b/samples/client/petstore/dart/flutter_petstore/swagger/.swagger-codegen/VERSION index 017674fb59d..52f864c9d49 100644 --- a/samples/client/petstore/dart/flutter_petstore/swagger/.swagger-codegen/VERSION +++ b/samples/client/petstore/dart/flutter_petstore/swagger/.swagger-codegen/VERSION @@ -1 +1 @@ -2.4.3-SNAPSHOT \ No newline at end of file +2.4.10-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart b/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart index c30804fa2c0..421524f6d56 100644 --- a/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart +++ b/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'] + json['value'].toDouble() ; currency = diff --git a/samples/client/petstore/dart/swagger-browser-client/.swagger-codegen/VERSION b/samples/client/petstore/dart/swagger-browser-client/.swagger-codegen/VERSION index 017674fb59d..52f864c9d49 100644 --- a/samples/client/petstore/dart/swagger-browser-client/.swagger-codegen/VERSION +++ b/samples/client/petstore/dart/swagger-browser-client/.swagger-codegen/VERSION @@ -1 +1 @@ -2.4.3-SNAPSHOT \ No newline at end of file +2.4.10-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart b/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart index c30804fa2c0..421524f6d56 100644 --- a/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart +++ b/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'] + json['value'].toDouble() ; currency = diff --git a/samples/client/petstore/dart/swagger/.swagger-codegen/VERSION b/samples/client/petstore/dart/swagger/.swagger-codegen/VERSION index 017674fb59d..52f864c9d49 100644 --- a/samples/client/petstore/dart/swagger/.swagger-codegen/VERSION +++ b/samples/client/petstore/dart/swagger/.swagger-codegen/VERSION @@ -1 +1 @@ -2.4.3-SNAPSHOT \ No newline at end of file +2.4.10-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/dart/swagger/lib/model/amount.dart b/samples/client/petstore/dart/swagger/lib/model/amount.dart index c30804fa2c0..421524f6d56 100644 --- a/samples/client/petstore/dart/swagger/lib/model/amount.dart +++ b/samples/client/petstore/dart/swagger/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'] + json['value'].toDouble() ; currency = From c243b6f4ebe000b186a16dcb3f1d0ea7d5e5707b Mon Sep 17 00:00:00 2001 From: Michael Marner Date: Wed, 30 Oct 2019 09:21:19 +1030 Subject: [PATCH 3/3] Check for null before parsing toDouble --- modules/swagger-codegen/src/main/resources/dart/class.mustache | 2 +- .../dart/flutter_petstore/swagger/lib/model/amount.dart | 2 +- .../petstore/dart/swagger-browser-client/lib/model/amount.dart | 2 +- samples/client/petstore/dart/swagger/lib/model/amount.dart | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/dart/class.mustache b/modules/swagger-codegen/src/main/resources/dart/class.mustache index 93353ff3de9..f940c624821 100644 --- a/modules/swagger-codegen/src/main/resources/dart/class.mustache +++ b/modules/swagger-codegen/src/main/resources/dart/class.mustache @@ -29,7 +29,7 @@ class {{classname}} { {{/isListContainer}} {{^isListContainer}} {{#isDouble}} - json['{{baseName}}'].toDouble() + json['{{baseName}}'] == null ? null : json['{{baseName}}'].toDouble() {{/isDouble}} {{^isDouble}} json['{{baseName}}'] diff --git a/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart b/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart index 421524f6d56..f17f838b90c 100644 --- a/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart +++ b/samples/client/petstore/dart/flutter_petstore/swagger/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'].toDouble() + json['value'] == null ? null : json['value'].toDouble() ; currency = diff --git a/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart b/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart index 421524f6d56..f17f838b90c 100644 --- a/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart +++ b/samples/client/petstore/dart/swagger-browser-client/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'].toDouble() + json['value'] == null ? null : json['value'].toDouble() ; currency = diff --git a/samples/client/petstore/dart/swagger/lib/model/amount.dart b/samples/client/petstore/dart/swagger/lib/model/amount.dart index 421524f6d56..f17f838b90c 100644 --- a/samples/client/petstore/dart/swagger/lib/model/amount.dart +++ b/samples/client/petstore/dart/swagger/lib/model/amount.dart @@ -17,7 +17,7 @@ class Amount { Amount.fromJson(Map json) { if (json == null) return; value = - json['value'].toDouble() + json['value'] == null ? null : json['value'].toDouble() ; currency =