From 4354afdf1d10cb13999c23bd5090001a454c0b85 Mon Sep 17 00:00:00 2001 From: Andreas Billmann Date: Mon, 12 Sep 2016 05:02:43 +0200 Subject: [PATCH] handle defaults --- .../ValidationEditorController.java | 4 +-- .../validation/ValidationFileReader.java | 25 +++++++++++++++++++ .../configuration/FieldConfiguration.java | 13 ---------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/main/java/ninja/javafx/smartcsv/fx/validation/ValidationEditorController.java b/src/main/java/ninja/javafx/smartcsv/fx/validation/ValidationEditorController.java index 2df9405..9842395 100644 --- a/src/main/java/ninja/javafx/smartcsv/fx/validation/ValidationEditorController.java +++ b/src/main/java/ninja/javafx/smartcsv/fx/validation/ValidationEditorController.java @@ -289,15 +289,13 @@ public class ValidationEditorController extends FXMLController { case STRING: updateFormatComboBox(getStringFormats()); break; - case NUMBER: - updateFormatComboBox(getNumberFormats()); - break; case DATE: case DATETIME: case TIME: updateFormatComboBox(getDateFormats()); break; case INTEGER: + case NUMBER: default: // format: no options formatComboBox.setDisable(true); diff --git a/src/main/java/ninja/javafx/smartcsv/validation/ValidationFileReader.java b/src/main/java/ninja/javafx/smartcsv/validation/ValidationFileReader.java index b81f1cc..0f735e1 100644 --- a/src/main/java/ninja/javafx/smartcsv/validation/ValidationFileReader.java +++ b/src/main/java/ninja/javafx/smartcsv/validation/ValidationFileReader.java @@ -28,6 +28,7 @@ package ninja.javafx.smartcsv.validation; import com.google.gson.GsonBuilder; import ninja.javafx.smartcsv.FileReader; +import ninja.javafx.smartcsv.validation.configuration.FieldConfiguration; import ninja.javafx.smartcsv.validation.configuration.ValidationConfiguration; import java.io.File; @@ -43,6 +44,30 @@ public class ValidationFileReader implements FileReader @Override public void read(File file) throws IOException { config = new GsonBuilder().create().fromJson(new java.io.FileReader(file), ValidationConfiguration.class); + setDefaults(); + } + + private void setDefaults() { + for (FieldConfiguration fieldConfiguration: config.getFieldConfigurations()) { + if (fieldConfiguration.getType() == null) { + fieldConfiguration.setType(FieldConfiguration.Type.STRING); + } + if (fieldConfiguration.getType() == FieldConfiguration.Type.DATE) { + if (fieldConfiguration.getFormat() == null) { + fieldConfiguration.setFormat("yyyy-MM-dd"); + } + } + if (fieldConfiguration.getType() == FieldConfiguration.Type.DATETIME) { + if (fieldConfiguration.getFormat() == null) { + fieldConfiguration.setFormat("yyyy-MM-ddThh:mm:ssZ"); + } + } + if (fieldConfiguration.getType() == FieldConfiguration.Type.TIME) { + if (fieldConfiguration.getFormat() == null) { + fieldConfiguration.setFormat("hh:mm:ss"); + } + } + } } public ValidationConfiguration getContent() { diff --git a/src/main/java/ninja/javafx/smartcsv/validation/configuration/FieldConfiguration.java b/src/main/java/ninja/javafx/smartcsv/validation/configuration/FieldConfiguration.java index 3ebedff..7801788 100644 --- a/src/main/java/ninja/javafx/smartcsv/validation/configuration/FieldConfiguration.java +++ b/src/main/java/ninja/javafx/smartcsv/validation/configuration/FieldConfiguration.java @@ -40,19 +40,6 @@ public class FieldConfiguration { .collect(Collectors.toList()); } - public enum NumberFormat { - @SerializedName("decimalChar") DECIMAL_CHAR, - @SerializedName("groupChar") GROUP_CHAR, - @SerializedName("currency") CURRENCY - } - - public static List getNumberFormats() { - return Stream.of(NumberFormat.values()) - .map(NumberFormat::name) - .collect(Collectors.toList()); - } - - public enum DateFormat { @SerializedName("default") DEFAULT, @SerializedName("any") ANY,