You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/03/21 17:01:31 UTC

svn commit: r1303455 - /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java

Author: sebb
Date: Wed Mar 21 16:01:31 2012
New Revision: 1303455

URL: http://svn.apache.org/viewvc?rev=1303455&view=rev
Log:
headerMapping is only created once, so make it final

Modified:
    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java

Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1303455&r1=1303454&r2=1303455&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original)
+++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Wed Mar 21 16:01:31 2012
@@ -64,7 +64,7 @@ import static org.apache.commons.csv.CSV
 public class CSVParser implements Iterable<CSVRecord> {
 
     private final CSVLexer lexer;
-    private Map<String, Integer> headerMapping;
+    private final Map<String, Integer> headerMapping;
 
     // the following objects are shared to reduce garbage
     
@@ -94,7 +94,7 @@ public class CSVParser implements Iterab
         
         this.lexer = new CSVLexer(format, new ExtendedBufferedReader(input));
         
-        initializeHeader(format);
+        this.headerMapping = initializeHeader(format);
     }
 
     /**
@@ -172,9 +172,10 @@ public class CSVParser implements Iterab
     /**
      * Initializes the name to index mapping if the format defines a header.
      */
-    private void initializeHeader(CSVFormat format) throws IOException {
+    private Map<String, Integer> initializeHeader(CSVFormat format) throws IOException {
+        Map<String, Integer> hdrMap = null;
         if (format.getHeader() != null) {
-            headerMapping = new HashMap<String, Integer>();
+            hdrMap = new HashMap<String, Integer>();
 
             String[] header = null;
             if (format.getHeader().length == 0) {
@@ -190,10 +191,11 @@ public class CSVParser implements Iterab
             // build the name to index mappings
             if (header != null) {
                 for (int i = 0; i < header.length; i++) {
-                    headerMapping.put(header[i], Integer.valueOf(i));
+                    hdrMap.put(header[i], Integer.valueOf(i));
                 }
             }
         }
+        return hdrMap;
     }
 
     /**