From f173089b14634cc2938785e842f5b7889784bec1 Mon Sep 17 00:00:00 2001 From: Andreas Billmann Date: Sun, 24 Jul 2016 11:21:45 +0200 Subject: [PATCH] added exception handling --- .../smartcsv/fx/table/model/CSVModel.java | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/main/java/ninja/javafx/smartcsv/fx/table/model/CSVModel.java b/src/main/java/ninja/javafx/smartcsv/fx/table/model/CSVModel.java index 72e97f0..33a65b5 100644 --- a/src/main/java/ninja/javafx/smartcsv/fx/table/model/CSVModel.java +++ b/src/main/java/ninja/javafx/smartcsv/fx/table/model/CSVModel.java @@ -158,34 +158,37 @@ public class CSVModel { @Override protected List call() throws Exception { List errors = new ArrayList<>(); - - if (header != null) { - ValidationError headerError = validator.isHeaderValid(header); - if (headerError != null) { - logger.info("revalidate: header error found"); - errors.add(headerError); + try { + if (header != null) { + ValidationError headerError = validator.isHeaderValid(header); + if (headerError != null) { + logger.info("revalidate: header error found"); + errors.add(headerError); + } } - } - for (int lineNumber = 0; lineNumber < rows.size(); lineNumber++) { - CSVRow row = rows.get(lineNumber); - row.setValidator(validator); - for (String column: row.getColumns().keySet()) { - CSVValue value = row.getColumns().get(column).getValue(); - value.setValidator(validator); - if (validator != null) { - ValidationError validationError = validator.isValid(column, value.getValue(), lineNumber); - if (validationError != null) { - logger.info("revalidate: {} errors found in line {}", validationError.getMessages().size(), lineNumber); - errors.add(validationError); - value.setValidationError(validationError); + for (int lineNumber = 0; lineNumber < rows.size(); lineNumber++) { + CSVRow row = rows.get(lineNumber); + row.setValidator(validator); + for (String column : row.getColumns().keySet()) { + CSVValue value = row.getColumns().get(column).getValue(); + value.setValidator(validator); + if (validator != null) { + ValidationError validationError = validator.isValid(column, value.getValue(), lineNumber); + if (validationError != null) { + logger.info("revalidate: {} errors found in line {}", validationError.getMessages().size(), lineNumber); + errors.add(validationError); + value.setValidationError(validationError); + } else { + value.setValidationError(null); + } } else { value.setValidationError(null); } - } else { - value.setValidationError(null); } } + } catch (Throwable t) { + logger.error("validation error", t); } return errors; }