mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-11 13:38:23 +02:00
added exception handling
This commit is contained in:
@@ -158,34 +158,37 @@ public class CSVModel {
|
|||||||
@Override
|
@Override
|
||||||
protected List<ValidationError> call() throws Exception {
|
protected List<ValidationError> call() throws Exception {
|
||||||
List<ValidationError> errors = new ArrayList<>();
|
List<ValidationError> errors = new ArrayList<>();
|
||||||
|
try {
|
||||||
if (header != null) {
|
if (header != null) {
|
||||||
ValidationError headerError = validator.isHeaderValid(header);
|
ValidationError headerError = validator.isHeaderValid(header);
|
||||||
if (headerError != null) {
|
if (headerError != null) {
|
||||||
logger.info("revalidate: header error found");
|
logger.info("revalidate: header error found");
|
||||||
errors.add(headerError);
|
errors.add(headerError);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for (int lineNumber = 0; lineNumber < rows.size(); lineNumber++) {
|
for (int lineNumber = 0; lineNumber < rows.size(); lineNumber++) {
|
||||||
CSVRow row = rows.get(lineNumber);
|
CSVRow row = rows.get(lineNumber);
|
||||||
row.setValidator(validator);
|
row.setValidator(validator);
|
||||||
for (String column: row.getColumns().keySet()) {
|
for (String column : row.getColumns().keySet()) {
|
||||||
CSVValue value = row.getColumns().get(column).getValue();
|
CSVValue value = row.getColumns().get(column).getValue();
|
||||||
value.setValidator(validator);
|
value.setValidator(validator);
|
||||||
if (validator != null) {
|
if (validator != null) {
|
||||||
ValidationError validationError = validator.isValid(column, value.getValue(), lineNumber);
|
ValidationError validationError = validator.isValid(column, value.getValue(), lineNumber);
|
||||||
if (validationError != null) {
|
if (validationError != null) {
|
||||||
logger.info("revalidate: {} errors found in line {}", validationError.getMessages().size(), lineNumber);
|
logger.info("revalidate: {} errors found in line {}", validationError.getMessages().size(), lineNumber);
|
||||||
errors.add(validationError);
|
errors.add(validationError);
|
||||||
value.setValidationError(validationError);
|
value.setValidationError(validationError);
|
||||||
|
} else {
|
||||||
|
value.setValidationError(null);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
value.setValidationError(null);
|
value.setValidationError(null);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
value.setValidationError(null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Throwable t) {
|
||||||
|
logger.error("validation error", t);
|
||||||
}
|
}
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user