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()) {

Reply via email to