Repository: sqoop Updated Branches: refs/heads/sqoop2 452791676 -> 5abcdd4d6
SQOOP-1899: Minor change to CSVIDF to use Set instead of Lists (Veena Basavaraj via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/5abcdd4d Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/5abcdd4d Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/5abcdd4d Branch: refs/heads/sqoop2 Commit: 5abcdd4d6dc7e0f65c0fca7c62d7a81c415cf526 Parents: 4527916 Author: Jarek Jarcec Cecho <[email protected]> Authored: Sun Dec 14 22:41:41 2014 -0800 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Sun Dec 14 22:41:41 2014 -0800 ---------------------------------------------------------------------- .../idf/CSVIntermediateDataFormat.java | 28 +++++++++----------- 1 file changed, 13 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/5abcdd4d/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java ---------------------------------------------------------------------- diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java index 275321a..73691ae 100644 --- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java +++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java @@ -37,7 +37,6 @@ import org.json.simple.JSONValue; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -57,14 +56,14 @@ public class CSVIntermediateDataFormat extends IntermediateDataFormat<String> { public static final Logger LOG = Logger.getLogger(CSVIntermediateDataFormat.class); - private final List<Integer> stringTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> bitTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> byteTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> listTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> mapTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> dateTimeTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> dateTypeColumnIndices = new ArrayList<Integer>(); - private final List<Integer> timeColumnIndices = new ArrayList<Integer>(); + private final Set<Integer> stringTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> bitTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> byteTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> listTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> mapTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> dateTimeTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> dateTypeColumnIndices = new HashSet<Integer>(); + private final Set<Integer> timeColumnIndices = new HashSet<Integer>(); private Schema schema; @@ -126,12 +125,11 @@ public class CSVIntermediateDataFormat extends IntermediateDataFormat<String> { } /** - * Custom CSV parser that honors quoting and escaped quotes. All other - * escaping is handled elsewhere. + * Custom CSV Text parser that honors quoting and escaped quotes. * * @return String[] */ - private String[] getFieldStringArray() { + private String[] parseCSVString() { if (data == null) { return null; } @@ -188,7 +186,7 @@ public class CSVIntermediateDataFormat extends IntermediateDataFormat<String> { } // fieldStringArray represents the csv fields parsed into string array - String[] fieldStringArray = getFieldStringArray(); + String[] fieldStringArray = parseCSVString(); if (fieldStringArray == null) { return null; @@ -207,12 +205,12 @@ public class CSVIntermediateDataFormat extends IntermediateDataFormat<String> { objectArray[i] = null; continue; } - objectArray[i] = parseCSVStringArrayElement(fieldStringArray[i], columnArray[i]); + objectArray[i] = toObject(fieldStringArray[i], columnArray[i]); } return objectArray; } - private Object parseCSVStringArrayElement(String csvString, Column column) { + private Object toObject(String csvString, Column column) { Object returnValue = null; switch (column.getType()) {
