handle defaults

This commit is contained in:
2016-09-12 05:02:43 +02:00
committed by Andreas Billmann
parent 4002219dfe
commit 4354afdf1d
3 changed files with 26 additions and 16 deletions

View File

@@ -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<ValidationConfiguration>
@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() {