Author: tchemit Date: 2012-08-16 17:18:59 +0200 (Thu, 16 Aug 2012) New Revision: 2399 Url: http://nuiton.org/repositories/revision/nuiton-utils/2399 Log: #2263: Be able to change the *safetySwitch* configuration on import Modified: trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Import.java Modified: trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Import.java =================================================================== --- trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Import.java 2012-08-16 15:16:28 UTC (rev 2398) +++ trunk/nuiton-csv/src/main/java/org/nuiton/util/csv/Import.java 2012-08-16 15:18:59 UTC (rev 2399) @@ -89,6 +89,18 @@ return new Import<E>(model, reader); } + public static <E> Import<E> newImport(ImportModel<E> model, + InputStream inputStream, + boolean safetySwitch) { + return new Import<E>(model, inputStream, safetySwitch); + } + + public static <E> Import<E> newImport(ImportModel<E> model, + Reader reader, + boolean safetySwitch) { + return new Import<E>(model, reader, safetySwitch); + } + /** * Define iterator over import. First of all, the input stream will be * validated based on defined model. Iteration will be done on all csv @@ -185,7 +197,7 @@ if (log.isTraceEnabled()) { log.trace("headers of the CSV file are : " + - Arrays.toString(headers)); + Arrays.toString(headers)); } // hook to do some stuff from the model @@ -223,7 +235,7 @@ } catch (Exception e) { String message = _("csv.import.error.unableToParseValue", value, field.getHeaderName(), lineNumber) - + "\n" + e.getMessage(); + + "\n" + e.getMessage(); throw new ImportRuntimeException(message, e); } } @@ -350,21 +362,31 @@ } protected Import(ImportModel<E> model, InputStream inputStream) { + this(model, inputStream, true); + } + + protected Import(ImportModel<E> model, Reader reader) { + this(model, reader, true); + } + + protected Import(ImportModel<E> model, InputStream inputStream, boolean safetySwitch) { if (inputStream == null) { throw new NullPointerException("inputStream is null"); } this.model = model; reader = new CsvReader(inputStream, model.getSeparator(), Charset.forName("UTF-8")); reader.setTrimWhitespace(true); + this.reader.setSafetySwitch(safetySwitch); } - protected Import(ImportModel<E> model, Reader reader) { + protected Import(ImportModel<E> model, Reader reader, boolean safetySwitch) { if (reader == null) { throw new NullPointerException("reader is null"); } this.model = model; this.reader = new CsvReader(reader, model.getSeparator()); this.reader.setTrimWhitespace(true); + this.reader.setSafetySwitch(safetySwitch); } /**