From 3559fb0900fe44168f8a44f8e5fbbf112738f20d Mon Sep 17 00:00:00 2001 From: Denis Karmyshakov Date: Tue, 18 Dec 2018 13:14:13 +0300 Subject: [PATCH] Converters fix --- Java/blocks/class/fields-converters.twig | 30 ++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/Java/blocks/class/fields-converters.twig b/Java/blocks/class/fields-converters.twig index 2416fb0..a0ba53a 100644 --- a/Java/blocks/class/fields-converters.twig +++ b/Java/blocks/class/fields-converters.twig @@ -16,7 +16,7 @@ return null; } try { - return LoganSquare.serialize(value); + return LoganSquare.serialize(value, {{ utils.formatValueType(field.type.type.itemsType, true, true) }}.class); } catch (final IOException exception) { return null; } @@ -45,7 +45,7 @@ return null; } try { - return LoganSquare.serialize(value); + return LoganSquare.serialize(value), {{ utils.formatValueType(field.type.type.valuesType, true, true) }}; } catch (final IOException exception) { return null; } @@ -65,6 +65,32 @@ } {%- set converters = merge(converters, field.type.type.valuesType.baseTypeName) -%} + +{%- elseif field.type.type.baseTypeName == "DateTime" %} + + @TypeConverter + @Nullable + public static String serialize{{ field.type.type.baseTypeName }}(@Nullable final {{ utils.formatValueType(field.type.type, true, true) }} value) { + if (value == null) { + return null; + } + return value.toString(); + } + + @TypeConverter + @Nullable + public static {{ utils.formatValueType(field.type.type, true, true) }} deserialize{{ field.type.type.baseTypeName }}(@Nullable final String value) { + if (value == null) { + return null; + } + try { + return DateTime.parse(value); + } catch (final Exception exception) { + return null; + } + } + + {%- set converters = merge(converters, field.type.type.baseTypeName) -%} {%- elseif field.type.type.baseTypeName != "Bool" and field.type.type.baseTypeName != "Int" and field.type.type.baseTypeName != "Long"