You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@batchee.apache.org by rm...@apache.org on 2015/11/20 23:41:09 UTC
incubator-batchee git commit: better validation for DefaultMapper and
allowing to create parent in CommonsCsvWriter
Repository: incubator-batchee
Updated Branches:
refs/heads/master c30a63938 -> e37f9e1ba
better validation for DefaultMapper and allowing to create parent in CommonsCsvWriter
Project: http://git-wip-us.apache.org/repos/asf/incubator-batchee/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-batchee/commit/e37f9e1b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-batchee/tree/e37f9e1b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-batchee/diff/e37f9e1b
Branch: refs/heads/master
Commit: e37f9e1ba9f980ef344c9ac71de0f4b68dc974d6
Parents: c30a639
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Fri Nov 20 14:41:00 2015 -0800
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Fri Nov 20 14:41:00 2015 -0800
----------------------------------------------------------------------
.../main/java/org/apache/batchee/csv/CommonsCsvWriter.java | 6 +++++-
.../java/org/apache/batchee/csv/mapper/DefaultMapper.java | 8 ++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/e37f9e1b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
----------------------------------------------------------------------
diff --git a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
index 8de4fa1..94c82c9 100644
--- a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
+++ b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
@@ -127,7 +127,11 @@ public class CommonsCsvWriter implements ItemWriter {
}
final CSVFormat format = newFormat();
- this.transactionalWriter = new TransactionalWriter(new File(output), encoding, checkpoint);
+ final File file = new File(output);
+ if (!file.exists() && !file.getParentFile().mkdirs()) {
+ throw new IllegalStateException("Cant create " + file);
+ }
+ this.transactionalWriter = new TransactionalWriter(file, encoding, checkpoint);
this.writer = format.print(transactionalWriter);
}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/e37f9e1b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/mapper/DefaultMapper.java
----------------------------------------------------------------------
diff --git a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/mapper/DefaultMapper.java b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/mapper/DefaultMapper.java
index 52f4552..93e59b7 100644
--- a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/mapper/DefaultMapper.java
+++ b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/mapper/DefaultMapper.java
@@ -52,12 +52,16 @@ public class DefaultMapper<T> implements CsvReaderMapper<T>, CsvWriterMapper<T>
// put each field a single time to avoid to set it twice even if position and name are filled for header output
if (pos >= 0) {
- fieldByPosition.put(pos, field);
+ if (fieldByPosition.put(pos, field) != null) {
+ throw new IllegalArgumentException("multiple field for index " + pos + " in " + type);
+ }
if (!defaultName) {
headers.put(pos, name);
}
} else if (!defaultName) {
- fieldByName.put(name, field);
+ if (fieldByName.put(name, field) != null) {
+ throw new IllegalArgumentException("multiple field for name '" + name + "' in " + type);
+ }
}
if (pos > higherIdx) {
higherIdx = pos;