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;
}
/**