Modified: websites/production/commons/content/proper/commons-csv/cobertura/org.apache.commons.csv.CSVParser.html ============================================================================== --- websites/production/commons/content/proper/commons-csv/cobertura/org.apache.commons.csv.CSVParser.html (original) +++ websites/production/commons/content/proper/commons-csv/cobertura/org.apache.commons.csv.CSVParser.html Fri Mar 22 17:54:06 2013 @@ -156,7 +156,7 @@ <tr> <td class="numLine"> 68</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr> <tr> <td class="numLine"> 69</td> <td class="nbHits"> </td> - <td class="src"><pre class="src"> <span class="comment"> * @version $Id: CSVParser.java 1458683 2013-03-20 08:31:14Z britter $</span></pre></td></tr> + <td class="src"><pre class="src"> <span class="comment"> * @version $Id: CSVParser.java 1459447 2013-03-21 18:47:40Z ggregory $</span></pre></td></tr> <tr> <td class="numLine"> 70</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 71</td> <td class="nbHits"> </td> @@ -177,8 +177,8 @@ <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 79</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">/** A record buffer for getRecord(). Grows as necessary and is reused. */</span></pre></td></tr> -<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<String> record = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr> -<tr> <td class="numLineCover"> 81</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Token reusableToken = <span class="keyword">new</span> Token();</pre></td></tr> +<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<String> record = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr> +<tr> <td class="numLineCover"> 81</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Token reusableToken = <span class="keyword">new</span> Token();</pre></td></tr> <tr> <td class="numLine"> 82</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 83</td> <td class="nbHits"> </td> @@ -199,8 +199,8 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 91</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> CSVParser(<span class="keyword">final</span> Reader input) <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 92</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(input, CSVFormat.DEFAULT);</pre></td></tr> -<tr> <td class="numLineCover"> 93</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 92</td> <td class="nbHitsCovered"> 96</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(input, CSVFormat.DEFAULT);</pre></td></tr> +<tr> <td class="numLineCover"> 93</td> <td class="nbHitsCovered"> 96</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 94</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 95</td> <td class="nbHits"> </td> @@ -212,7 +212,7 @@ <tr> <td class="numLine"> 98</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> * @param input</span></pre></td></tr> <tr> <td class="numLine"> 99</td> <td class="nbHits"> </td> - <td class="src"><pre class="src"> <span class="comment"> * a Reader containing "csv-formatted" input</span></pre></td></tr> + <td class="src"><pre class="src"> <span class="comment"> * a Reader containing CSV-formatted input</span></pre></td></tr> <tr> <td class="numLine"> 100</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> * @param format</span></pre></td></tr> <tr> <td class="numLine"> 101</td> <td class="nbHits"> </td> @@ -223,10 +223,10 @@ <td class="src"><pre class="src"> <span class="comment"> * thrown if the parameters of the format are inconsistent</span></pre></td></tr> <tr> <td class="numLine"> 104</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> -<tr> <td class="numLineCover"> 105</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">public</span> CSVParser(<span class="keyword">final</span> Reader input, <span class="keyword">final</span> CSVFormat format) <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lexer = <span class="keyword">new</span> CSVLexer(format, <span class="keyword">new</span> ExtendedBufferedReader(input));</pre></td></tr> -<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.headerMap = initializeHeader(format);</pre></td></tr> -<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 105</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">public</span> CSVParser(<span class="keyword">final</span> Reader input, <span class="keyword">final</span> CSVFormat format) <span class="keyword">throws</span> IOException {</pre></td></tr> +<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lexer = <span class="keyword">new</span> CSVLexer(format, <span class="keyword">new</span> ExtendedBufferedReader(input));</pre></td></tr> +<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.headerMap = initializeHeader(format);</pre></td></tr> +<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 109</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 110</td> <td class="nbHits"> </td> @@ -251,8 +251,8 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 120</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> CSVParser(<span class="keyword">final</span> String input, <span class="keyword">final</span> CSVFormat format) <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 121</td> <td class="nbHitsCovered"> 60054</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(<span class="keyword">new</span> StringReader(input), format);</pre></td></tr> -<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 60054</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 121</td> <td class="nbHitsCovered"> 180162</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(<span class="keyword">new</span> StringReader(input), format);</pre></td></tr> +<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 180162</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 123</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 124</td> <td class="nbHits"> </td> @@ -294,7 +294,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 143</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">long</span> getLineNumber() {</pre></td></tr> -<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> lexer.getLineNumber();</pre></td></tr> +<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 120</td> <td class="src"><pre class="src"> <span class="keyword">return</span> lexer.getLineNumber();</pre></td></tr> <tr> <td class="numLine"> 145</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 146</td> <td class="nbHits"> </td> @@ -315,7 +315,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 154</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">long</span> getRecordNumber() {</pre></td></tr> -<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> recordNumber;</pre></td></tr> +<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 120</td> <td class="src"><pre class="src"> <span class="keyword">return</span> recordNumber;</pre></td></tr> <tr> <td class="numLine"> 156</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 157</td> <td class="nbHits"> </td> @@ -336,26 +336,26 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 165</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> CSVRecord nextRecord() <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 210699</td> <td class="src"><pre class="src"> CSVRecord result = <span class="keyword">null</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"> 210699</td> <td class="src"><pre class="src"> record.clear();</pre></td></tr> -<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 210699</td> <td class="src"><pre class="src"> StringBuilder sb = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 631343</td> <td class="src"><pre class="src"> CSVRecord result = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"> 631343</td> <td class="src"><pre class="src"> record.clear();</pre></td></tr> +<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 631343</td> <td class="src"><pre class="src"> StringBuilder sb = <span class="keyword">null</span>;</pre></td></tr> <tr> <td class="numLine"> 169</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">do</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 361192</td> <td class="src"><pre class="src"> reusableToken.reset();</pre></td></tr> -<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 361192</td> <td class="src"><pre class="src"> lexer.nextToken(reusableToken);</pre></td></tr> -<tr> <td class="numLineCover"> 172</td> <td class="nbHitsUncovered"><a title="Line 172: Conditional coverage 83% (5/6)."> 361192</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 172: Conditional coverage 83% (5/6)."> <span class="keyword">switch</span> (reusableToken.type) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 1083349</td> <td class="src"><pre class="src"> reusableToken.reset();</pre></td></tr> +<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 1083349</td> <td class="src"><pre class="src"> lexer.nextToken(reusableToken);</pre></td></tr> +<tr> <td class="numLineCover"> 172</td> <td class="nbHitsUncovered"><a title="Line 172: Conditional coverage 83% (5/6)."> 1083349</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 172: Conditional coverage 83% (5/6)."> <span class="keyword">switch</span> (reusableToken.type) {</a></span></pre></td></tr> <tr> <td class="numLine"> 173</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">case</span> TOKEN:</pre></td></tr> -<tr> <td class="numLineCover"> 174</td> <td class="nbHitsCovered"> 150453</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> -<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 150453</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 174</td> <td class="nbHitsCovered"> 451886</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> +<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 451886</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 176</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">case</span> EORECORD:</pre></td></tr> -<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 150529</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> -<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 150529</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 450833</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> +<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 450833</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 179</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">case</span> EOF:</pre></td></tr> -<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"><a title="Line 180: Conditional coverage 100% (2/2)."> 60170</a></td> <td class="src"><pre class="src"> <a title="Line 180: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (reusableToken.isReady) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> +<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"><a title="Line 180: Conditional coverage 100% (2/2)."> 180510</a></td> <td class="src"><pre class="src"> <a title="Line 180: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (reusableToken.isReady) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> record.add(reusableToken.content.toString());</pre></td></tr> <tr> <td class="numLine"> 182</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 183</td> <td class="nbHits"> </td> @@ -365,29 +365,29 @@ <tr> <td class="numLineCover"> 185</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"(line "</span> + getLineNumber() + <span class="string">") invalid parse sequence"</span>);</span></pre></td></tr> <tr> <td class="numLine"> 186</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">case</span> COMMENT: <span class="comment">// Ignored currently</span></pre></td></tr> -<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"><a title="Line 187: Conditional coverage 100% (2/2)."> 40</a></td> <td class="src"><pre class="src"> <a title="Line 187: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb == <span class="keyword">null</span>) { <span class="comment">// first comment for this record</span></a></pre></td></tr> -<tr> <td class="numLineCover"> 188</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr> +<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"><a title="Line 187: Conditional coverage 100% (2/2)."> 120</a></td> <td class="src"><pre class="src"> <a title="Line 187: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb == <span class="keyword">null</span>) { <span class="comment">// first comment for this record</span></a></pre></td></tr> +<tr> <td class="numLineCover"> 188</td> <td class="nbHitsCovered"> 90</td> <td class="src"><pre class="src"> sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr> <tr> <td class="numLine"> 189</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> sb.append(<span class="string">"\n"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> sb.append(<span class="string">"\n"</span>);</pre></td></tr> <tr> <td class="numLine"> 191</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 192</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> sb.append(reusableToken.content);</pre></td></tr> -<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> reusableToken.type = TOKEN; <span class="comment">// Read another token</span></pre></td></tr> +<tr> <td class="numLineCover"> 192</td> <td class="nbHitsCovered"> 120</td> <td class="src"><pre class="src"> sb.append(reusableToken.content);</pre></td></tr> +<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 120</td> <td class="src"><pre class="src"> reusableToken.type = TOKEN; <span class="comment">// Read another token</span></pre></td></tr> <tr> <td class="numLine"> 194</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 195</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"><a title="Line 196: Conditional coverage 100% (2/2)."> 361192</a></td> <td class="src"><pre class="src"> <a title="Line 196: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (reusableToken.type == TOKEN);</a></pre></td></tr> +<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"><a title="Line 196: Conditional coverage 100% (2/2)."> 1083349</a></td> <td class="src"><pre class="src"> <a title="Line 196: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (reusableToken.type == TOKEN);</a></pre></td></tr> <tr> <td class="numLine"> 197</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"><a title="Line 198: Conditional coverage 100% (2/2)."> 210699</a></td> <td class="src"><pre class="src"> <a title="Line 198: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!record.isEmpty()) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 150581</td> <td class="src"><pre class="src"> recordNumber++;</pre></td></tr> -<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"><a title="Line 200: Conditional coverage 100% (2/2)."> 150581</a></td> <td class="src"><pre class="src"> <a title="Line 200: Conditional coverage 100% (2/2)."> <span class="keyword">final</span> String comment = sb == <span class="keyword">null</span> ? <span class="keyword">null</span> : sb.toString();</a></pre></td></tr> -<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 150581</td> <td class="src"><pre class="src"> result = <span class="keyword">new</span> CSVRecord(record.toArray(<span class="keyword">new</span> String[record.size()]), headerMap, comment, <span class="keyword">this</span>.recordNumber);</pre></td></tr> +<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"><a title="Line 198: Conditional coverage 100% (2/2)."> 631343</a></td> <td class="src"><pre class="src"> <a title="Line 198: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!record.isEmpty()) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 450989</td> <td class="src"><pre class="src"> recordNumber++;</pre></td></tr> +<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"><a title="Line 200: Conditional coverage 100% (2/2)."> 450989</a></td> <td class="src"><pre class="src"> <a title="Line 200: Conditional coverage 100% (2/2)."> <span class="keyword">final</span> String comment = sb == <span class="keyword">null</span> ? <span class="keyword">null</span> : sb.toString();</a></pre></td></tr> +<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 450989</td> <td class="src"><pre class="src"> result = <span class="keyword">new</span> CSVRecord(record.toArray(<span class="keyword">new</span> String[record.size()]), headerMap, comment, <span class="keyword">this</span>.recordNumber);</pre></td></tr> <tr> <td class="numLine"> 202</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 210699</td> <td class="src"><pre class="src"> <span class="keyword">return</span> result;</pre></td></tr> +<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 631343</td> <td class="src"><pre class="src"> <span class="keyword">return</span> result;</pre></td></tr> <tr> <td class="numLine"> 204</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 205</td> <td class="nbHits"> </td> @@ -414,14 +414,14 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 216</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> List<CSVRecord> getRecords() <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 60072</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<CSVRecord> records = <span class="keyword">new</span> ArrayList<CSVRecord>();</pre></td></tr> +<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 180216</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<CSVRecord> records = <span class="keyword">new</span> ArrayList<CSVRecord>();</pre></td></tr> <tr> <td class="numLine"> 218</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> CSVRecord rec;</pre></td></tr> -<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"><a title="Line 219: Conditional coverage 100% (2/2)."> 210445</a></td> <td class="src"><pre class="src"> <a title="Line 219: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> ((rec = nextRecord()) != <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 150373</td> <td class="src"><pre class="src"> records.add(rec);</pre></td></tr> +<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"><a title="Line 219: Conditional coverage 100% (2/2)."> 630581</a></td> <td class="src"><pre class="src"> <a title="Line 219: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> ((rec = nextRecord()) != <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 450365</td> <td class="src"><pre class="src"> records.add(rec);</pre></td></tr> <tr> <td class="numLine"> 221</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 60072</td> <td class="src"><pre class="src"> <span class="keyword">return</span> records;</pre></td></tr> +<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 180216</td> <td class="src"><pre class="src"> <span class="keyword">return</span> records;</pre></td></tr> <tr> <td class="numLine"> 223</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 224</td> <td class="nbHits"> </td> @@ -434,38 +434,38 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 228</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">private</span> Map<String, Integer> initializeHeader(<span class="keyword">final</span> CSVFormat format) <span class="keyword">throws</span> IOException {</pre></td></tr> -<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> Map<String, Integer> hdrMap = <span class="keyword">null</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"><a title="Line 230: Conditional coverage 100% (2/2)."> 60116</a></td> <td class="src"><pre class="src"> <a title="Line 230: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (format.getHeader() != <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> hdrMap = <span class="keyword">new</span> LinkedHashMap<String, Integer>();</pre></td></tr> +<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> Map<String, Integer> hdrMap = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"><a title="Line 230: Conditional coverage 100% (2/2)."> 180348</a></td> <td class="src"><pre class="src"> <a title="Line 230: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (format.getHeader() != <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> hdrMap = <span class="keyword">new</span> LinkedHashMap<String, Integer>();</pre></td></tr> <tr> <td class="numLine"> 232</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> String[] header = <span class="keyword">null</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"><a title="Line 234: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 234: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (format.getHeader().length == 0) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> String[] header = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"><a title="Line 234: Conditional coverage 100% (2/2)."> 24</a></td> <td class="src"><pre class="src"> <a title="Line 234: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (format.getHeader().length == 0) {</a></pre></td></tr> <tr> <td class="numLine"> 235</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// read the header from the first line of the file</span></pre></td></tr> -<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> CSVRecord rec = nextRecord();</pre></td></tr> -<tr> <td class="numLineCover"> 237</td> <td class="nbHitsUncovered"><a title="Line 237: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 237: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rec != <span class="keyword">null</span>) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> header = rec.values();</pre></td></tr> +<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> CSVRecord rec = nextRecord();</pre></td></tr> +<tr> <td class="numLineCover"> 237</td> <td class="nbHitsUncovered"><a title="Line 237: Conditional coverage 50% (1/2)."> 12</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 237: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rec != <span class="keyword">null</span>) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> header = rec.values();</pre></td></tr> <tr> <td class="numLine"> 239</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> header = format.getHeader();</pre></td></tr> +<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr> +<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> header = format.getHeader();</pre></td></tr> <tr> <td class="numLine"> 242</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 243</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 244</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// build the name to index mappings</span></pre></td></tr> -<tr> <td class="numLineCover"> 245</td> <td class="nbHitsUncovered"><a title="Line 245: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 245: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (header != <span class="keyword">null</span>) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"><a title="Line 246: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 246: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < header.length; i++) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> hdrMap.put(header[i], Integer.valueOf(i));</pre></td></tr> +<tr> <td class="numLineCover"> 245</td> <td class="nbHitsUncovered"><a title="Line 245: Conditional coverage 50% (1/2)."> 24</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 245: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (header != <span class="keyword">null</span>) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"><a title="Line 246: Conditional coverage 100% (2/2)."> 96</a></td> <td class="src"><pre class="src"> <a title="Line 246: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < header.length; i++) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> hdrMap.put(header[i], Integer.valueOf(i));</pre></td></tr> <tr> <td class="numLine"> 248</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 249</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 250</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 60116</td> <td class="src"><pre class="src"> <span class="keyword">return</span> hdrMap;</pre></td></tr> +<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 180348</td> <td class="src"><pre class="src"> <span class="keyword">return</span> hdrMap;</pre></td></tr> <tr> <td class="numLine"> 252</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 253</td> <td class="nbHits"> </td> @@ -480,7 +480,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 258</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> Iterator<CSVRecord> iterator() {</pre></td></tr> -<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> Iterator<CSVRecord>() {</pre></td></tr> +<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 78</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> Iterator<CSVRecord>() {</pre></td></tr> <tr> <td class="numLine"> 260</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">private</span> CSVRecord current;</pre></td></tr> <tr> <td class="numLine"> 261</td> <td class="nbHits"> </td> @@ -489,7 +489,7 @@ <td class="src"><pre class="src"> <span class="keyword">private</span> CSVRecord getNextRecord() {</pre></td></tr> <tr> <td class="numLine"> 263</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 182</td> <td class="src"><pre class="src"> <span class="keyword">return</span> nextRecord();</pre></td></tr> +<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 546</td> <td class="src"><pre class="src"> <span class="keyword">return</span> nextRecord();</pre></td></tr> <tr> <td class="numLineCover"> 265</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (<span class="keyword">final</span> IOException e) {</span></pre></td></tr> <tr> <td class="numLine"> 266</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// TODO: This is not great, throw an ISE instead?</span></pre></td></tr> @@ -502,43 +502,43 @@ <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 271</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</pre></td></tr> -<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"><a title="Line 272: Conditional coverage 100% (2/2)."> 178</a></td> <td class="src"><pre class="src"> <a title="Line 272: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (current == <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 273</td> <td class="nbHitsCovered"> 174</td> <td class="src"><pre class="src"> current = getNextRecord();</pre></td></tr> +<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"><a title="Line 272: Conditional coverage 100% (2/2)."> 534</a></td> <td class="src"><pre class="src"> <a title="Line 272: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (current == <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 273</td> <td class="nbHitsCovered"> 522</td> <td class="src"><pre class="src"> current = getNextRecord();</pre></td></tr> <tr> <td class="numLine"> 274</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 275</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"><a title="Line 276: Conditional coverage 100% (2/2)."> 178</a></td> <td class="src"><pre class="src"> <a title="Line 276: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> current != <span class="keyword">null</span>;</a></pre></td></tr> +<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"><a title="Line 276: Conditional coverage 100% (2/2)."> 534</a></td> <td class="src"><pre class="src"> <a title="Line 276: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> current != <span class="keyword">null</span>;</a></pre></td></tr> <tr> <td class="numLine"> 277</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 278</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 279</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> CSVRecord next() {</pre></td></tr> -<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> CSVRecord next = current;</pre></td></tr> -<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> current = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 468</td> <td class="src"><pre class="src"> CSVRecord next = current;</pre></td></tr> +<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 468</td> <td class="src"><pre class="src"> current = <span class="keyword">null</span>;</pre></td></tr> <tr> <td class="numLine"> 282</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"><a title="Line 283: Conditional coverage 100% (2/2)."> 156</a></td> <td class="src"><pre class="src"> <a title="Line 283: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (next == <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"><a title="Line 283: Conditional coverage 100% (2/2)."> 468</a></td> <td class="src"><pre class="src"> <a title="Line 283: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (next == <span class="keyword">null</span>) {</a></pre></td></tr> <tr> <td class="numLine"> 284</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// hasNext() wasn't called before</span></pre></td></tr> -<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> next = getNextRecord();</pre></td></tr> -<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"><a title="Line 286: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 286: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (next == <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> NoSuchElementException(<span class="string">"No more CSV records available"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> next = getNextRecord();</pre></td></tr> +<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"><a title="Line 286: Conditional coverage 100% (2/2)."> 24</a></td> <td class="src"><pre class="src"> <a title="Line 286: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (next == <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> NoSuchElementException(<span class="string">"No more CSV records available"</span>);</pre></td></tr> <tr> <td class="numLine"> 288</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 289</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 290</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">return</span> next;</pre></td></tr> +<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 462</td> <td class="src"><pre class="src"> <span class="keyword">return</span> next;</pre></td></tr> <tr> <td class="numLine"> 292</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 293</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 294</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> remove() {</pre></td></tr> -<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</pre></td></tr> +<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</pre></td></tr> <tr> <td class="numLine"> 296</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 297</td> <td class="nbHits"> </td> @@ -549,6 +549,6 @@ <td class="src"><pre class="src"> }</pre></td></tr> </table> -<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1 on 3/21/13 1:28 PM.</div> +<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9.4.1 on 3/22/13 1:53 PM.</div> </body> </html> \ No newline at end of file