Modified: websites/production/commons/content/proper/commons-configuration/cobertura/org.apache.commons.configuration2.tree.InMemoryNodeModel.html ============================================================================== --- websites/production/commons/content/proper/commons-configuration/cobertura/org.apache.commons.configuration2.tree.InMemoryNodeModel.html (original) +++ websites/production/commons/content/proper/commons-configuration/cobertura/org.apache.commons.configuration2.tree.InMemoryNodeModel.html Tue Nov 29 21:10:49 2016 @@ -129,7 +129,7 @@ <td class="src"><pre class="src"> <span class="comment"> * @since 2.0</span></pre></td></tr> <tr> <td class="numLine"> 52</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> -<tr> <td class="numLineCover"> 53</td> <td class="nbHitsCovered"> 24685</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> InMemoryNodeModel <span class="keyword">implements</span> NodeModel<ImmutableNode></pre></td></tr> +<tr> <td class="numLineCover"> 53</td> <td class="nbHitsCovered"> 24582</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> InMemoryNodeModel <span class="keyword">implements</span> NodeModel<ImmutableNode></pre></td></tr> <tr> <td class="numLine"> 54</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 55</td> <td class="nbHits"> </td> @@ -185,12 +185,12 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 83</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> InMemoryNodeModel(ImmutableNode root)</pre></td></tr> -<tr> <td class="numLineCover"> 84</td> <td class="nbHitsCovered"> 11727</td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 85</td> <td class="nbHitsCovered"> 11727</td> <td class="src"><pre class="src"> structure =</pre></td></tr> +<tr> <td class="numLineCover"> 84</td> <td class="nbHitsCovered"> 11564</td> <td class="src"><pre class="src"> {</pre></td></tr> +<tr> <td class="numLineCover"> 85</td> <td class="nbHitsCovered"> 11564</td> <td class="src"><pre class="src"> structure =</pre></td></tr> <tr> <td class="numLine"> 86</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">new</span> AtomicReference<TreeData>(</pre></td></tr> -<tr> <td class="numLineCover"> 87</td> <td class="nbHitsCovered"> 11727</td> <td class="src"><pre class="src"> createTreeData(initialRootNode(root), <span class="keyword">null</span>));</pre></td></tr> -<tr> <td class="numLineCover"> 88</td> <td class="nbHitsCovered"> 11727</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 87</td> <td class="nbHitsCovered"> 11564</td> <td class="src"><pre class="src"> createTreeData(initialRootNode(root), <span class="keyword">null</span>));</pre></td></tr> +<tr> <td class="numLineCover"> 88</td> <td class="nbHitsCovered"> 11564</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 89</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 90</td> <td class="nbHits"> </td> @@ -242,7 +242,7 @@ <td class="src"><pre class="src"> <span class="keyword">public</span> NodeHandler<ImmutableNode> getNodeHandler()</pre></td></tr> <tr> <td class="numLine"> 114</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 115</td> <td class="nbHitsCovered"> 100480</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getReferenceNodeHandler();</pre></td></tr> +<tr> <td class="numLineCover"> 115</td> <td class="nbHitsCovered"> 100674</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getReferenceNodeHandler();</pre></td></tr> <tr> <td class="numLine"> 116</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 117</td> <td class="nbHits"> </td> @@ -295,19 +295,19 @@ <td class="src"><pre class="src"> <span class="keyword">final</span> NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 142</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"><a title="Line 143: Conditional coverage 100% (2/2)."> 6120</a></td> <td class="src"><pre class="src"> <a title="Line 143: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (valuesNotEmpty(values))</a></pre></td></tr> +<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"><a title="Line 143: Conditional coverage 100% (2/2)."> 6121</a></td> <td class="src"><pre class="src"> <a title="Line 143: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (valuesNotEmpty(values))</a></pre></td></tr> <tr> <td class="numLine"> 144</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 6120</td> <td class="src"><pre class="src"> updateModel(<span class="keyword">new</span> TransactionInitializer()</pre></td></tr> -<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"> 6119</td> <td class="src"><pre class="src"> {</pre></td></tr> +<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"> 6120</td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 147</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> @Override</pre></td></tr> <tr> <td class="numLine"> 148</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> initTransaction(ModelTransaction tx)</pre></td></tr> <tr> <td class="numLine"> 149</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 6183</td> <td class="src"><pre class="src"> initializeAddTransaction(tx, key, values, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 6185</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 6212</td> <td class="src"><pre class="src"> initializeAddTransaction(tx, key, values, resolver);</pre></td></tr> +<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 6210</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr> <tr> <td class="numLine"> 152</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 153</td> <td class="nbHits"> </td> @@ -430,8 +430,8 @@ <td class="src"><pre class="src"> NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 225</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 226</td> <td class="nbHitsCovered"> 4637</td> <td class="src"><pre class="src"> setProperty(key, <span class="keyword">null</span>, value, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 4637</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 226</td> <td class="nbHitsCovered"> 4609</td> <td class="src"><pre class="src"> setProperty(key, <span class="keyword">null</span>, value, resolver);</pre></td></tr> +<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 4609</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 228</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 229</td> <td class="nbHits"> </td> @@ -468,38 +468,38 @@ <td class="src"><pre class="src"> <span class="keyword">final</span> Object value, <span class="keyword">final</span> NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 245</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> updateModel(<span class="keyword">new</span> TransactionInitializer()</pre></td></tr> -<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> {</pre></td></tr> +<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> updateModel(<span class="keyword">new</span> TransactionInitializer()</pre></td></tr> +<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 248</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> @Override</pre></td></tr> <tr> <td class="numLine"> 249</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> initTransaction(ModelTransaction tx)</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"> 4649</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> added = <span class="keyword">false</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> NodeUpdateData<ImmutableNode> updateData =</pre></td></tr> -<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"> 9298</td> <td class="src"><pre class="src"> resolver.resolveUpdateKey(tx.getQueryRoot(), key,</pre></td></tr> -<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> value, tx.getCurrentData());</pre></td></tr> -<tr> <td class="numLineCover"> 255</td> <td class="nbHitsCovered"><a title="Line 255: Conditional coverage 100% (2/2)."> 4649</a></td> <td class="src"><pre class="src"> <a title="Line 255: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!updateData.getNewValues().isEmpty())</a></pre></td></tr> +<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> added = <span class="keyword">false</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> NodeUpdateData<ImmutableNode> updateData =</pre></td></tr> +<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"> 9242</td> <td class="src"><pre class="src"> resolver.resolveUpdateKey(tx.getQueryRoot(), key,</pre></td></tr> +<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> value, tx.getCurrentData());</pre></td></tr> +<tr> <td class="numLineCover"> 255</td> <td class="nbHitsCovered"><a title="Line 255: Conditional coverage 100% (2/2)."> 4621</a></td> <td class="src"><pre class="src"> <a title="Line 255: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!updateData.getNewValues().isEmpty())</a></pre></td></tr> <tr> <td class="numLine"> 256</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 9058</td> <td class="src"><pre class="src"> initializeAddTransaction(tx, key,</pre></td></tr> -<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 4529</td> <td class="src"><pre class="src"> updateData.getNewValues(), resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 4529</td> <td class="src"><pre class="src"> added = <span class="keyword">true</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 9002</td> <td class="src"><pre class="src"> initializeAddTransaction(tx, key,</pre></td></tr> +<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 4501</td> <td class="src"><pre class="src"> updateData.getNewValues(), resolver);</pre></td></tr> +<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 4501</td> <td class="src"><pre class="src"> added = <span class="keyword">true</span>;</pre></td></tr> <tr> <td class="numLine"> 260</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> cleared =</pre></td></tr> -<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> initializeClearTransaction(tx,</pre></td></tr> -<tr> <td class="numLineCover"> 263</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> updateData.getRemovedNodes());</pre></td></tr> -<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> updated =</pre></td></tr> -<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> initializeUpdateTransaction(tx,</pre></td></tr> -<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> updateData.getChangedValues());</pre></td></tr> -<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"><a title="Line 267: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> 4649</a></td> <td class="src"><pre class="src"> <a title="Line 267: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> <span class="keyword">return</span> added || cleared || updated;</a></pre></td></tr> +<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> cleared =</pre></td></tr> +<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> initializeClearTransaction(tx,</pre></td></tr> +<tr> <td class="numLineCover"> 263</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> updateData.getRemovedNodes());</pre></td></tr> +<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> updated =</pre></td></tr> +<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> initializeUpdateTransaction(tx,</pre></td></tr> +<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> updateData.getChangedValues());</pre></td></tr> +<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"><a title="Line 267: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> 4621</a></td> <td class="src"><pre class="src"> <a title="Line 267: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> <span class="keyword">return</span> added || cleared || updated;</a></pre></td></tr> <tr> <td class="numLine"> 268</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 269</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }, selector, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 4621</td> <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"> </pre></td></tr> <tr> <td class="numLine"> 272</td> <td class="nbHits"> </td> @@ -732,7 +732,7 @@ <td class="src"><pre class="src"> <span class="keyword">public</span> ImmutableNode getInMemoryRepresentation()</pre></td></tr> <tr> <td class="numLine"> 405</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 406</td> <td class="nbHitsCovered"> 2732</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getTreeData().getRootNode();</pre></td></tr> +<tr> <td class="numLineCover"> 406</td> <td class="nbHitsCovered"> 2492</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getTreeData().getRootNode();</pre></td></tr> <tr> <td class="numLine"> 407</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 408</td> <td class="nbHits"> </td> @@ -799,7 +799,7 @@ <td class="src"><pre class="src"> NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 440</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"><a title="Line 441: Conditional coverage 100% (2/2)."> 1805</a></td> <td class="src"><pre class="src"> <a title="Line 441: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (newRoot == <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"><a title="Line 441: Conditional coverage 100% (2/2)."> 1746</a></td> <td class="src"><pre class="src"> <a title="Line 441: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (newRoot == <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 442</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 443</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</pre></td></tr> @@ -809,16 +809,16 @@ <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 446</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 447</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> TreeData current = structure.get();</pre></td></tr> +<tr> <td class="numLineCover"> 447</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> TreeData current = structure.get();</pre></td></tr> <tr> <td class="numLine"> 448</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// this step is needed to get a valid NodeHandler</span></pre></td></tr> -<tr> <td class="numLineCover"> 449</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> TreeData temp =</pre></td></tr> -<tr> <td class="numLineCover"> 450</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> createTreeDataForRootAndTracker(newRoot,</pre></td></tr> -<tr> <td class="numLineCover"> 451</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> current.getNodeTracker());</pre></td></tr> -<tr> <td class="numLineCover"> 452</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> structure.set(temp.updateNodeTracker(temp.getNodeTracker().update(</pre></td></tr> +<tr> <td class="numLineCover"> 449</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> TreeData temp =</pre></td></tr> +<tr> <td class="numLineCover"> 450</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> createTreeDataForRootAndTracker(newRoot,</pre></td></tr> +<tr> <td class="numLineCover"> 451</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> current.getNodeTracker());</pre></td></tr> +<tr> <td class="numLineCover"> 452</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> structure.set(temp.updateNodeTracker(temp.getNodeTracker().update(</pre></td></tr> <tr> <td class="numLine"> 453</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> newRoot, <span class="keyword">null</span>, resolver, temp)));</pre></td></tr> -<tr> <td class="numLineCover"> 454</td> <td class="nbHitsCovered"> 1804</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 454</td> <td class="nbHitsCovered"> 1745</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 455</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 456</td> <td class="nbHits"> </td> @@ -857,54 +857,54 @@ <td class="src"><pre class="src"> NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 473</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> updateModel(<span class="keyword">new</span> TransactionInitializer()</pre></td></tr> -<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> {</pre></td></tr> +<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> updateModel(<span class="keyword">new</span> TransactionInitializer()</pre></td></tr> +<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 476</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> @Override</pre></td></tr> <tr> <td class="numLine"> 477</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> initTransaction(ModelTransaction tx)</pre></td></tr> <tr> <td class="numLine"> 478</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> TreeData current = tx.getCurrentData();</pre></td></tr> -<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> String newRootName =</pre></td></tr> -<tr> <td class="numLineCover"> 481</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> determineRootName(current.getRootNode(), node, rootName);</pre></td></tr> -<tr> <td class="numLineCover"> 482</td> <td class="nbHitsCovered"><a title="Line 482: Conditional coverage 100% (2/2)."> 1806</a></td> <td class="src"><pre class="src"> <a title="Line 482: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (newRootName != <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> TreeData current = tx.getCurrentData();</pre></td></tr> +<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> String newRootName =</pre></td></tr> +<tr> <td class="numLineCover"> 481</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> determineRootName(current.getRootNode(), node, rootName);</pre></td></tr> +<tr> <td class="numLineCover"> 482</td> <td class="nbHitsCovered"><a title="Line 482: Conditional coverage 100% (2/2)."> 1758</a></td> <td class="src"><pre class="src"> <a title="Line 482: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (newRootName != <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 483</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 484</td> <td class="nbHitsCovered"> 1763</td> <td class="src"><pre class="src"> tx.addChangeNodeNameOperation(current.getRootNode(),</pre></td></tr> +<tr> <td class="numLineCover"> 484</td> <td class="nbHitsCovered"> 1715</td> <td class="src"><pre class="src"> tx.addChangeNodeNameOperation(current.getRootNode(),</pre></td></tr> <tr> <td class="numLine"> 485</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> newRootName);</pre></td></tr> <tr> <td class="numLine"> 486</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 487</td> <td class="nbHitsCovered"> 3612</td> <td class="src"><pre class="src"> tx.addAddNodesOperation(current.getRootNode(),</pre></td></tr> -<tr> <td class="numLineCover"> 488</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> node.getChildren());</pre></td></tr> -<tr> <td class="numLineCover"> 489</td> <td class="nbHitsCovered"> 3612</td> <td class="src"><pre class="src"> tx.addAttributesOperation(current.getRootNode(),</pre></td></tr> -<tr> <td class="numLineCover"> 490</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> node.getAttributes());</pre></td></tr> -<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"><a title="Line 491: Conditional coverage 100% (2/2)."> 1806</a></td> <td class="src"><pre class="src"> <a title="Line 491: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (node.getValue() != <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 487</td> <td class="nbHitsCovered"> 3516</td> <td class="src"><pre class="src"> tx.addAddNodesOperation(current.getRootNode(),</pre></td></tr> +<tr> <td class="numLineCover"> 488</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> node.getChildren());</pre></td></tr> +<tr> <td class="numLineCover"> 489</td> <td class="nbHitsCovered"> 3516</td> <td class="src"><pre class="src"> tx.addAttributesOperation(current.getRootNode(),</pre></td></tr> +<tr> <td class="numLineCover"> 490</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> node.getAttributes());</pre></td></tr> +<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"><a title="Line 491: Conditional coverage 100% (2/2)."> 1758</a></td> <td class="src"><pre class="src"> <a title="Line 491: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (node.getValue() != <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 492</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 493</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> tx.addChangeNodeValueOperation(current.getRootNode(),</pre></td></tr> <tr> <td class="numLineCover"> 494</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> node.getValue());</pre></td></tr> <tr> <td class="numLine"> 495</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 496</td> <td class="nbHitsCovered"><a title="Line 496: Conditional coverage 100% (2/2)."> 1806</a></td> <td class="src"><pre class="src"> <a title="Line 496: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (references != <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 496</td> <td class="nbHitsCovered"><a title="Line 496: Conditional coverage 100% (2/2)."> 1758</a></td> <td class="src"><pre class="src"> <a title="Line 496: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (references != <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 497</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 498</td> <td class="nbHitsCovered"> 1761</td> <td class="src"><pre class="src"> tx.addNewReferences(references);</pre></td></tr> +<tr> <td class="numLineCover"> 498</td> <td class="nbHitsCovered"> 1713</td> <td class="src"><pre class="src"> tx.addNewReferences(references);</pre></td></tr> <tr> <td class="numLine"> 499</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"><a title="Line 500: Conditional coverage 100% (2/2)."> 1806</a></td> <td class="src"><pre class="src"> <a title="Line 500: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rootRef != <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"><a title="Line 500: Conditional coverage 100% (2/2)."> 1758</a></td> <td class="src"><pre class="src"> <a title="Line 500: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rootRef != <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 501</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 502</td> <td class="nbHitsCovered"> 1762</td> <td class="src"><pre class="src"> tx.addNewReference(current.getRootNode(), rootRef);</pre></td></tr> +<tr> <td class="numLineCover"> 502</td> <td class="nbHitsCovered"> 1714</td> <td class="src"><pre class="src"> tx.addNewReference(current.getRootNode(), rootRef);</pre></td></tr> <tr> <td class="numLine"> 503</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 504</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 504</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr> <tr> <td class="numLine"> 505</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 506</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }, <span class="keyword">null</span>, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 507</td> <td class="nbHitsCovered"> 1806</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 507</td> <td class="nbHitsCovered"> 1758</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 508</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 509</td> <td class="nbHits"> </td> @@ -949,15 +949,15 @@ <td class="src"><pre class="src"> <span class="keyword">do</span></pre></td></tr> <tr> <td class="numLine"> 529</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"> 6009</td> <td class="src"><pre class="src"> TreeData current = structure.get();</pre></td></tr> -<tr> <td class="numLineCover"> 531</td> <td class="nbHitsCovered"> 6066</td> <td class="src"><pre class="src"> NodeTracker newTracker =</pre></td></tr> -<tr> <td class="numLineCover"> 532</td> <td class="nbHitsCovered"> 6122</td> <td class="src"><pre class="src"> current.getNodeTracker().trackNode(current.getRootNode(),</pre></td></tr> +<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"> 7064</td> <td class="src"><pre class="src"> TreeData current = structure.get();</pre></td></tr> +<tr> <td class="numLineCover"> 531</td> <td class="nbHitsCovered"> 7101</td> <td class="src"><pre class="src"> NodeTracker newTracker =</pre></td></tr> +<tr> <td class="numLineCover"> 532</td> <td class="nbHitsCovered"> 7108</td> <td class="src"><pre class="src"> current.getNodeTracker().trackNode(current.getRootNode(),</pre></td></tr> <tr> <td class="numLine"> 533</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> selector, resolver, current);</pre></td></tr> -<tr> <td class="numLineCover"> 534</td> <td class="nbHitsCovered"> 6023</td> <td class="src"><pre class="src"> done =</pre></td></tr> -<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"> 6209</td> <td class="src"><pre class="src"> structure.compareAndSet(current,</pre></td></tr> -<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"> 6080</td> <td class="src"><pre class="src"> current.updateNodeTracker(newTracker));</pre></td></tr> -<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"><a title="Line 537: Conditional coverage 100% (2/2)."> 5983</a></td> <td class="src"><pre class="src"> <a title="Line 537: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (!done);</a></pre></td></tr> +<tr> <td class="numLineCover"> 534</td> <td class="nbHitsCovered"> 6958</td> <td class="src"><pre class="src"> done =</pre></td></tr> +<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"> 7097</td> <td class="src"><pre class="src"> structure.compareAndSet(current,</pre></td></tr> +<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"> 7001</td> <td class="src"><pre class="src"> current.updateNodeTracker(newTracker));</pre></td></tr> +<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"><a title="Line 537: Conditional coverage 100% (2/2)."> 7029</a></td> <td class="src"><pre class="src"> <a title="Line 537: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (!done);</a></pre></td></tr> <tr> <td class="numLineCover"> 538</td> <td class="nbHitsCovered"> 2599</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 539</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> @@ -1285,10 +1285,10 @@ <td class="src"><pre class="src"> NodeSelector selector)</pre></td></tr> <tr> <td class="numLine"> 725</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 726</td> <td class="nbHitsCovered"> 162</td> <td class="src"><pre class="src"> TreeData currentData = structure.get();</pre></td></tr> +<tr> <td class="numLineCover"> 726</td> <td class="nbHitsCovered"> 163</td> <td class="src"><pre class="src"> TreeData currentData = structure.get();</pre></td></tr> <tr> <td class="numLineCover"> 727</td> <td class="nbHitsCovered"> 163</td> <td class="src"><pre class="src"> InMemoryNodeModel detachedNodeModel =</pre></td></tr> <tr> <td class="numLineCover"> 728</td> <td class="nbHitsCovered"> 163</td> <td class="src"><pre class="src"> currentData.getNodeTracker().getDetachedNodeModel(selector);</pre></td></tr> -<tr> <td class="numLineCover"> 729</td> <td class="nbHitsCovered"><a title="Line 729: Conditional coverage 100% (2/2)."> 325</a></td> <td class="src"><pre class="src"> <a title="Line 729: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> (detachedNodeModel != <span class="keyword">null</span>) ? detachedNodeModel.getNodeHandler()</a></pre></td></tr> +<tr> <td class="numLineCover"> 729</td> <td class="nbHitsCovered"><a title="Line 729: Conditional coverage 100% (2/2)."> 326</a></td> <td class="src"><pre class="src"> <a title="Line 729: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> (detachedNodeModel != <span class="keyword">null</span>) ? detachedNodeModel.getNodeHandler()</a></pre></td></tr> <tr> <td class="numLineCover"> 730</td> <td class="nbHitsCovered"> 151</td> <td class="src"><pre class="src"> : <span class="keyword">new</span> TrackedNodeHandler(currentData.getNodeTracker()</pre></td></tr> <tr> <td class="numLineCover"> 731</td> <td class="nbHitsCovered"> 151</td> <td class="src"><pre class="src"> .getTrackedNode(selector), currentData);</pre></td></tr> <tr> <td class="numLine"> 732</td> <td class="nbHits"> </td> @@ -1396,7 +1396,7 @@ <td class="src"><pre class="src"> <span class="keyword">public</span> ReferenceNodeHandler getReferenceNodeHandler()</pre></td></tr> <tr> <td class="numLine"> 788</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 789</td> <td class="nbHitsCovered"> 102390</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getTreeData();</pre></td></tr> +<tr> <td class="numLineCover"> 789</td> <td class="nbHitsCovered"> 102516</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getTreeData();</pre></td></tr> <tr> <td class="numLine"> 790</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 791</td> <td class="nbHits"> </td> @@ -1417,7 +1417,7 @@ <td class="src"><pre class="src"> TreeData getTreeData()</pre></td></tr> <tr> <td class="numLine"> 799</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 800</td> <td class="nbHitsCovered"> 121443</td> <td class="src"><pre class="src"> <span class="keyword">return</span> structure.get();</pre></td></tr> +<tr> <td class="numLineCover"> 800</td> <td class="nbHitsCovered"> 121198</td> <td class="src"><pre class="src"> <span class="keyword">return</span> structure.get();</pre></td></tr> <tr> <td class="numLine"> 801</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 802</td> <td class="nbHits"> </td> @@ -1446,10 +1446,10 @@ <td class="src"><pre class="src"> ImmutableNode root)</pre></td></tr> <tr> <td class="numLine"> 814</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 815</td> <td class="nbHitsCovered"> 36528</td> <td class="src"><pre class="src"> NodeTreeWalker.INSTANCE.walkBFS(root,</pre></td></tr> +<tr> <td class="numLineCover"> 815</td> <td class="nbHitsCovered"> 35505</td> <td class="src"><pre class="src"> NodeTreeWalker.INSTANCE.walkBFS(root,</pre></td></tr> <tr> <td class="numLine"> 816</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">new</span> ConfigurationNodeVisitorAdapter<ImmutableNode>()</pre></td></tr> -<tr> <td class="numLineCover"> 817</td> <td class="nbHitsCovered"> 182907</td> <td class="src"><pre class="src"> {</pre></td></tr> +<tr> <td class="numLineCover"> 817</td> <td class="nbHitsCovered"> 177060</td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 818</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> @Override</pre></td></tr> <tr> <td class="numLine"> 819</td> <td class="nbHits"> </td> @@ -1458,15 +1458,15 @@ <td class="src"><pre class="src"> NodeHandler<ImmutableNode> handler)</pre></td></tr> <tr> <td class="numLine"> 821</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 822</td> <td class="nbHitsCovered"><a title="Line 822: Conditional coverage 100% (2/2)."> 146379</a></td> <td class="src"><pre class="src"> <a title="Line 822: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ImmutableNode c : node.getChildren())</a></pre></td></tr> +<tr> <td class="numLineCover"> 822</td> <td class="nbHitsCovered"><a title="Line 822: Conditional coverage 100% (2/2)."> 141555</a></td> <td class="src"><pre class="src"> <a title="Line 822: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ImmutableNode c : node.getChildren())</a></pre></td></tr> <tr> <td class="numLine"> 823</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 824</td> <td class="nbHitsCovered"> 109851</td> <td class="src"><pre class="src"> parents.put(c, node);</pre></td></tr> -<tr> <td class="numLineCover"> 825</td> <td class="nbHitsCovered"> 109851</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 826</td> <td class="nbHitsCovered"> 146378</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 824</td> <td class="nbHitsCovered"> 106050</td> <td class="src"><pre class="src"> parents.put(c, node);</pre></td></tr> +<tr> <td class="numLineCover"> 825</td> <td class="nbHitsCovered"> 106049</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 826</td> <td class="nbHitsCovered"> 141554</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 827</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }, DUMMY_HANDLER);</pre></td></tr> -<tr> <td class="numLineCover"> 828</td> <td class="nbHitsCovered"> 36527</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 828</td> <td class="nbHitsCovered"> 35505</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 829</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 830</td> <td class="nbHits"> </td> @@ -1515,10 +1515,10 @@ <td class="src"><pre class="src"> Iterable<?> values, NodeKeyResolver<ImmutableNode> resolver)</pre></td></tr> <tr> <td class="numLine"> 853</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 854</td> <td class="nbHitsCovered"> 10711</td> <td class="src"><pre class="src"> NodeAddData<ImmutableNode> addData =</pre></td></tr> -<tr> <td class="numLineCover"> 855</td> <td class="nbHitsCovered"> 21423</td> <td class="src"><pre class="src"> resolver.resolveAddKey(tx.getQueryRoot(), key,</pre></td></tr> -<tr> <td class="numLineCover"> 856</td> <td class="nbHitsCovered"> 10712</td> <td class="src"><pre class="src"> tx.getCurrentData());</pre></td></tr> -<tr> <td class="numLineCover"> 857</td> <td class="nbHitsCovered"><a title="Line 857: Conditional coverage 100% (2/2)."> 10714</a></td> <td class="src"><pre class="src"> <a title="Line 857: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (addData.isAttribute())</a></pre></td></tr> +<tr> <td class="numLineCover"> 854</td> <td class="nbHitsCovered"> 10713</td> <td class="src"><pre class="src"> NodeAddData<ImmutableNode> addData =</pre></td></tr> +<tr> <td class="numLineCover"> 855</td> <td class="nbHitsCovered"> 21426</td> <td class="src"><pre class="src"> resolver.resolveAddKey(tx.getQueryRoot(), key,</pre></td></tr> +<tr> <td class="numLineCover"> 856</td> <td class="nbHitsCovered"> 10713</td> <td class="src"><pre class="src"> tx.getCurrentData());</pre></td></tr> +<tr> <td class="numLineCover"> 857</td> <td class="nbHitsCovered"><a title="Line 857: Conditional coverage 100% (2/2)."> 10712</a></td> <td class="src"><pre class="src"> <a title="Line 857: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (addData.isAttribute())</a></pre></td></tr> <tr> <td class="numLine"> 858</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 859</td> <td class="nbHitsCovered"> 256</td> <td class="src"><pre class="src"> addAttributeProperty(tx, addData, values);</pre></td></tr> @@ -1528,10 +1528,10 @@ <td class="src"><pre class="src"> <span class="keyword">else</span></pre></td></tr> <tr> <td class="numLine"> 862</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 863</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> addNodeProperty(tx, addData, values);</pre></td></tr> +<tr> <td class="numLineCover"> 863</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> addNodeProperty(tx, addData, values);</pre></td></tr> <tr> <td class="numLine"> 864</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 865</td> <td class="nbHitsCovered"> 10714</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 865</td> <td class="nbHitsCovered"> 10712</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 866</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 867</td> <td class="nbHits"> </td> @@ -1552,10 +1552,10 @@ <td class="src"><pre class="src"> <span class="keyword">private</span> TreeData createTreeData(ImmutableNode root, TreeData current)</pre></td></tr> <tr> <td class="numLine"> 875</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 876</td> <td class="nbHitsCovered"><a title="Line 876: Conditional coverage 100% (2/2)."> 11883</a></td> <td class="src"><pre class="src"> <a title="Line 876: Conditional coverage 100% (2/2)."> NodeTracker newTracker =</a></pre></td></tr> +<tr> <td class="numLineCover"> 876</td> <td class="nbHitsCovered"><a title="Line 876: Conditional coverage 100% (2/2)."> 11720</a></td> <td class="src"><pre class="src"> <a title="Line 876: Conditional coverage 100% (2/2)."> NodeTracker newTracker =</a></pre></td></tr> <tr> <td class="numLineCover"> 877</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> (current != <span class="keyword">null</span>) ? current.getNodeTracker()</pre></td></tr> <tr> <td class="numLineCover"> 878</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> .detachAllTrackedNodes() : <span class="keyword">new</span> NodeTracker();</pre></td></tr> -<tr> <td class="numLineCover"> 879</td> <td class="nbHitsCovered"> 11883</td> <td class="src"><pre class="src"> <span class="keyword">return</span> createTreeDataForRootAndTracker(root, newTracker);</pre></td></tr> +<tr> <td class="numLineCover"> 879</td> <td class="nbHitsCovered"> 11720</td> <td class="src"><pre class="src"> <span class="keyword">return</span> createTreeDataForRootAndTracker(root, newTracker);</pre></td></tr> <tr> <td class="numLine"> 880</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 881</td> <td class="nbHits"> </td> @@ -1582,8 +1582,8 @@ <td class="src"><pre class="src"> NodeTracker newTracker)</pre></td></tr> <tr> <td class="numLine"> 892</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 893</td> <td class="nbHitsCovered"> 27374</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> TreeData(root, createParentMapping(root),</pre></td></tr> -<tr> <td class="numLineCover"> 894</td> <td class="nbHitsCovered"> 13687</td> <td class="src"><pre class="src"> Collections.<ImmutableNode, ImmutableNode> emptyMap(),</pre></td></tr> +<tr> <td class="numLineCover"> 893</td> <td class="nbHitsCovered"> 26930</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> TreeData(root, createParentMapping(root),</pre></td></tr> +<tr> <td class="numLineCover"> 894</td> <td class="nbHitsCovered"> 13465</td> <td class="src"><pre class="src"> Collections.<ImmutableNode, ImmutableNode> emptyMap(),</pre></td></tr> <tr> <td class="numLine"> 895</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> newTracker, <span class="keyword">new</span> ReferenceTracker());</pre></td></tr> <tr> <td class="numLine"> 896</td> <td class="nbHits"> </td> @@ -1610,10 +1610,10 @@ <td class="src"><pre class="src"> NodeAddData<ImmutableNode> addData, Iterable<?> values)</pre></td></tr> <tr> <td class="numLine"> 907</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 908</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> Collection<ImmutableNode> newNodes =</pre></td></tr> -<tr> <td class="numLineCover"> 909</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> createNodesToAdd(addData.getNewNodeName(), values);</pre></td></tr> -<tr> <td class="numLineCover"> 910</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> addNodesByAddData(tx, addData, newNodes);</pre></td></tr> -<tr> <td class="numLineCover"> 911</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 908</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> Collection<ImmutableNode> newNodes =</pre></td></tr> +<tr> <td class="numLineCover"> 909</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> createNodesToAdd(addData.getNewNodeName(), values);</pre></td></tr> +<tr> <td class="numLineCover"> 910</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> addNodesByAddData(tx, addData, newNodes);</pre></td></tr> +<tr> <td class="numLineCover"> 911</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 912</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 913</td> <td class="nbHits"> </td> @@ -1644,21 +1644,21 @@ <td class="src"><pre class="src"> Collection<ImmutableNode> newNodes)</pre></td></tr> <tr> <td class="numLine"> 926</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 927</td> <td class="nbHitsCovered"><a title="Line 927: Conditional coverage 100% (2/2)."> 10467</a></td> <td class="src"><pre class="src"> <a title="Line 927: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (addData.getPathNodes().isEmpty())</a></pre></td></tr> +<tr> <td class="numLineCover"> 927</td> <td class="nbHitsCovered"><a title="Line 927: Conditional coverage 100% (2/2)."> 10465</a></td> <td class="src"><pre class="src"> <a title="Line 927: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (addData.getPathNodes().isEmpty())</a></pre></td></tr> <tr> <td class="numLine"> 928</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 929</td> <td class="nbHitsCovered"> 6217</td> <td class="src"><pre class="src"> tx.addAddNodesOperation(addData.getParent(), newNodes);</pre></td></tr> +<tr> <td class="numLineCover"> 929</td> <td class="nbHitsCovered"> 6209</td> <td class="src"><pre class="src"> tx.addAddNodesOperation(addData.getParent(), newNodes);</pre></td></tr> <tr> <td class="numLine"> 930</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 931</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">else</span></pre></td></tr> <tr> <td class="numLine"> 932</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 933</td> <td class="nbHitsCovered"> 4250</td> <td class="src"><pre class="src"> ImmutableNode newChild = createNodeToAddWithPath(addData, newNodes);</pre></td></tr> -<tr> <td class="numLineCover"> 934</td> <td class="nbHitsCovered"> 4250</td> <td class="src"><pre class="src"> tx.addAddNodeOperation(addData.getParent(), newChild);</pre></td></tr> +<tr> <td class="numLineCover"> 933</td> <td class="nbHitsCovered"> 4256</td> <td class="src"><pre class="src"> ImmutableNode newChild = createNodeToAddWithPath(addData, newNodes);</pre></td></tr> +<tr> <td class="numLineCover"> 934</td> <td class="nbHitsCovered"> 4256</td> <td class="src"><pre class="src"> tx.addAddNodeOperation(addData.getParent(), newChild);</pre></td></tr> <tr> <td class="numLine"> 935</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 936</td> <td class="nbHitsCovered"> 10467</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 936</td> <td class="nbHitsCovered"> 10465</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 937</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 938</td> <td class="nbHits"> </td> @@ -1736,14 +1736,14 @@ <td class="src"><pre class="src"> String newNodeName, Iterable<?> values)</pre></td></tr> <tr> <td class="numLine"> 982</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 983</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> Collection<ImmutableNode> nodes = <span class="keyword">new</span> LinkedList<ImmutableNode>();</pre></td></tr> -<tr> <td class="numLineCover"> 984</td> <td class="nbHitsCovered"><a title="Line 984: Conditional coverage 100% (2/2)."> 10458</a></td> <td class="src"><pre class="src"> <a title="Line 984: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Object value : values)</a></pre></td></tr> +<tr> <td class="numLineCover"> 983</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> Collection<ImmutableNode> nodes = <span class="keyword">new</span> LinkedList<ImmutableNode>();</pre></td></tr> +<tr> <td class="numLineCover"> 984</td> <td class="nbHitsCovered"><a title="Line 984: Conditional coverage 100% (2/2)."> 10456</a></td> <td class="src"><pre class="src"> <a title="Line 984: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Object value : values)</a></pre></td></tr> <tr> <td class="numLine"> 985</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 986</td> <td class="nbHitsCovered"> 22522</td> <td class="src"><pre class="src"> nodes.add(<span class="keyword">new</span> ImmutableNode.Builder().name(newNodeName)</pre></td></tr> -<tr> <td class="numLineCover"> 987</td> <td class="nbHitsCovered"> 11261</td> <td class="src"><pre class="src"> .value(value).create());</pre></td></tr> -<tr> <td class="numLineCover"> 988</td> <td class="nbHitsCovered"> 11261</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 989</td> <td class="nbHitsCovered"> 10458</td> <td class="src"><pre class="src"> <span class="keyword">return</span> nodes;</pre></td></tr> +<tr> <td class="numLineCover"> 986</td> <td class="nbHitsCovered"> 22518</td> <td class="src"><pre class="src"> nodes.add(<span class="keyword">new</span> ImmutableNode.Builder().name(newNodeName)</pre></td></tr> +<tr> <td class="numLineCover"> 987</td> <td class="nbHitsCovered"> 11259</td> <td class="src"><pre class="src"> .value(value).create());</pre></td></tr> +<tr> <td class="numLineCover"> 988</td> <td class="nbHitsCovered"> 11259</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 989</td> <td class="nbHitsCovered"> 10456</td> <td class="src"><pre class="src"> <span class="keyword">return</span> nodes;</pre></td></tr> <tr> <td class="numLine"> 990</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 991</td> <td class="nbHits"> </td> @@ -1772,7 +1772,7 @@ <td class="src"><pre class="src"> Collection<ImmutableNode> newNodes)</pre></td></tr> <tr> <td class="numLine"> 1003</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1004</td> <td class="nbHitsCovered"> 4250</td> <td class="src"><pre class="src"> <span class="keyword">return</span> createNodeOnPath(addData.getPathNodes().iterator(), newNodes);</pre></td></tr> +<tr> <td class="numLineCover"> 1004</td> <td class="nbHitsCovered"> 4256</td> <td class="src"><pre class="src"> <span class="keyword">return</span> createNodeOnPath(addData.getPathNodes().iterator(), newNodes);</pre></td></tr> <tr> <td class="numLine"> 1005</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1006</td> <td class="nbHits"> </td> @@ -1801,25 +1801,25 @@ <td class="src"><pre class="src"> Collection<ImmutableNode> newNodes)</pre></td></tr> <tr> <td class="numLine"> 1018</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1019</td> <td class="nbHitsCovered"> 7255</td> <td class="src"><pre class="src"> String nodeName = it.next();</pre></td></tr> +<tr> <td class="numLineCover"> 1019</td> <td class="nbHitsCovered"> 7259</td> <td class="src"><pre class="src"> String nodeName = it.next();</pre></td></tr> <tr> <td class="numLine"> 1020</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> ImmutableNode.Builder builder;</pre></td></tr> -<tr> <td class="numLineCover"> 1021</td> <td class="nbHitsCovered"><a title="Line 1021: Conditional coverage 100% (2/2)."> 7255</a></td> <td class="src"><pre class="src"> <a title="Line 1021: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (it.hasNext())</a></pre></td></tr> +<tr> <td class="numLineCover"> 1021</td> <td class="nbHitsCovered"><a title="Line 1021: Conditional coverage 100% (2/2)."> 7259</a></td> <td class="src"><pre class="src"> <a title="Line 1021: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (it.hasNext())</a></pre></td></tr> <tr> <td class="numLine"> 1022</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1023</td> <td class="nbHitsCovered"> 2972</td> <td class="src"><pre class="src"> builder = <span class="keyword">new</span> ImmutableNode.Builder(1);</pre></td></tr> -<tr> <td class="numLineCover"> 1024</td> <td class="nbHitsCovered"> 2972</td> <td class="src"><pre class="src"> builder.addChild(createNodeOnPath(it, newNodes));</pre></td></tr> +<tr> <td class="numLineCover"> 1023</td> <td class="nbHitsCovered"> 2970</td> <td class="src"><pre class="src"> builder = <span class="keyword">new</span> ImmutableNode.Builder(1);</pre></td></tr> +<tr> <td class="numLineCover"> 1024</td> <td class="nbHitsCovered"> 2970</td> <td class="src"><pre class="src"> builder.addChild(createNodeOnPath(it, newNodes));</pre></td></tr> <tr> <td class="numLine"> 1025</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1026</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">else</span></pre></td></tr> <tr> <td class="numLine"> 1027</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1028</td> <td class="nbHitsCovered"> 4283</td> <td class="src"><pre class="src"> builder = <span class="keyword">new</span> ImmutableNode.Builder(newNodes.size());</pre></td></tr> -<tr> <td class="numLineCover"> 1029</td> <td class="nbHitsCovered"> 4283</td> <td class="src"><pre class="src"> builder.addChildren(newNodes);</pre></td></tr> +<tr> <td class="numLineCover"> 1028</td> <td class="nbHitsCovered"> 4289</td> <td class="src"><pre class="src"> builder = <span class="keyword">new</span> ImmutableNode.Builder(newNodes.size());</pre></td></tr> +<tr> <td class="numLineCover"> 1029</td> <td class="nbHitsCovered"> 4289</td> <td class="src"><pre class="src"> builder.addChildren(newNodes);</pre></td></tr> <tr> <td class="numLine"> 1030</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 1031</td> <td class="nbHitsCovered"> 7255</td> <td class="src"><pre class="src"> <span class="keyword">return</span> builder.name(nodeName).create();</pre></td></tr> +<tr> <td class="numLineCover"> 1031</td> <td class="nbHitsCovered"> 7259</td> <td class="src"><pre class="src"> <span class="keyword">return</span> builder.name(nodeName).create();</pre></td></tr> <tr> <td class="numLine"> 1032</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1033</td> <td class="nbHits"> </td> @@ -1848,7 +1848,7 @@ <td class="src"><pre class="src"> Collection<QueryResult<ImmutableNode>> results)</pre></td></tr> <tr> <td class="numLine"> 1045</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1046</td> <td class="nbHitsCovered"><a title="Line 1046: Conditional coverage 100% (2/2)."> 7425</a></td> <td class="src"><pre class="src"> <a title="Line 1046: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (QueryResult<ImmutableNode> result : results)</a></pre></td></tr> +<tr> <td class="numLineCover"> 1046</td> <td class="nbHitsCovered"><a title="Line 1046: Conditional coverage 100% (2/2)."> 7397</a></td> <td class="src"><pre class="src"> <a title="Line 1046: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (QueryResult<ImmutableNode> result : results)</a></pre></td></tr> <tr> <td class="numLine"> 1047</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 1048</td> <td class="nbHitsCovered"><a title="Line 1048: Conditional coverage 100% (2/2)."> 2785</a></td> <td class="src"><pre class="src"> <a title="Line 1048: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (result.isAttributeResult())</a></pre></td></tr> @@ -1868,7 +1868,7 @@ <tr> <td class="numLineCover"> 1057</td> <td class="nbHitsCovered"> 2785</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1058</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 1059</td> <td class="nbHitsCovered"><a title="Line 1059: Conditional coverage 100% (2/2)."> 7425</a></td> <td class="src"><pre class="src"> <a title="Line 1059: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> !results.isEmpty();</a></pre></td></tr> +<tr> <td class="numLineCover"> 1059</td> <td class="nbHitsCovered"><a title="Line 1059: Conditional coverage 100% (2/2)."> 7397</a></td> <td class="src"><pre class="src"> <a title="Line 1059: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> !results.isEmpty();</a></pre></td></tr> <tr> <td class="numLine"> 1060</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1061</td> <td class="nbHits"> </td> @@ -1895,8 +1895,8 @@ <td class="src"><pre class="src"> Map<QueryResult<ImmutableNode>, Object> changedValues)</pre></td></tr> <tr> <td class="numLine"> 1072</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1073</td> <td class="nbHitsCovered"><a title="Line 1073: Conditional coverage 100% (2/2)."> 9298</a></td> <td class="src"><pre class="src"> <a title="Line 1073: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Map.Entry<QueryResult<ImmutableNode>, Object> e : changedValues</a></pre></td></tr> -<tr> <td class="numLineCover"> 1074</td> <td class="nbHitsCovered"> 4649</td> <td class="src"><pre class="src"> .entrySet())</pre></td></tr> +<tr> <td class="numLineCover"> 1073</td> <td class="nbHitsCovered"><a title="Line 1073: Conditional coverage 100% (2/2)."> 9242</a></td> <td class="src"><pre class="src"> <a title="Line 1073: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Map.Entry<QueryResult<ImmutableNode>, Object> e : changedValues</a></pre></td></tr> +<tr> <td class="numLineCover"> 1074</td> <td class="nbHitsCovered"> 4621</td> <td class="src"><pre class="src"> .entrySet())</pre></td></tr> <tr> <td class="numLine"> 1075</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 1076</td> <td class="nbHitsCovered"><a title="Line 1076: Conditional coverage 100% (2/2)."> 158</a></td> <td class="src"><pre class="src"> <a title="Line 1076: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (e.getKey().isAttributeResult())</a></pre></td></tr> @@ -1917,7 +1917,7 @@ <tr> <td class="numLineCover"> 1086</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1087</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 1088</td> <td class="nbHitsCovered"><a title="Line 1088: Conditional coverage 100% (2/2)."> 4649</a></td> <td class="src"><pre class="src"> <a title="Line 1088: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> !changedValues.isEmpty();</a></pre></td></tr> +<tr> <td class="numLineCover"> 1088</td> <td class="nbHitsCovered"><a title="Line 1088: Conditional coverage 100% (2/2)."> 4621</a></td> <td class="src"><pre class="src"> <a title="Line 1088: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> !changedValues.isEmpty();</a></pre></td></tr> <tr> <td class="numLine"> 1089</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1090</td> <td class="nbHits"> </td> @@ -1940,8 +1940,8 @@ <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> ImmutableNode initialRootNode(ImmutableNode providedRoot)</pre></td></tr> <tr> <td class="numLine"> 1099</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1100</td> <td class="nbHitsCovered"><a title="Line 1100: Conditional coverage 100% (2/2)."> 23766</a></td> <td class="src"><pre class="src"> <a title="Line 1100: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> (providedRoot != <span class="keyword">null</span>) ? providedRoot</a></pre></td></tr> -<tr> <td class="numLineCover"> 1101</td> <td class="nbHitsCovered"> 4205</td> <td class="src"><pre class="src"> : <span class="keyword">new</span> ImmutableNode.Builder().create();</pre></td></tr> +<tr> <td class="numLineCover"> 1100</td> <td class="nbHitsCovered"><a title="Line 1100: Conditional coverage 100% (2/2)."> 23440</a></td> <td class="src"><pre class="src"> <a title="Line 1100: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> (providedRoot != <span class="keyword">null</span>) ? providedRoot</a></pre></td></tr> +<tr> <td class="numLineCover"> 1101</td> <td class="nbHitsCovered"> 4110</td> <td class="src"><pre class="src"> : <span class="keyword">new</span> ImmutableNode.Builder().create();</pre></td></tr> <tr> <td class="numLine"> 1102</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1103</td> <td class="nbHits"> </td> @@ -1974,10 +1974,10 @@ <td class="src"><pre class="src"> ImmutableNode node, String rootName)</pre></td></tr> <tr> <td class="numLine"> 1117</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1118</td> <td class="nbHitsCovered"><a title="Line 1118: Conditional coverage 100% (2/2)."> 1806</a></td> <td class="src"><pre class="src"> <a title="Line 1118: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rootName != <span class="keyword">null</span>)</a></pre></td></tr> +<tr> <td class="numLineCover"> 1118</td> <td class="nbHitsCovered"><a title="Line 1118: Conditional coverage 100% (2/2)."> 1758</a></td> <td class="src"><pre class="src"> <a title="Line 1118: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rootName != <span class="keyword">null</span>)</a></pre></td></tr> <tr> <td class="numLine"> 1119</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1120</td> <td class="nbHitsCovered"> 1751</td> <td class="src"><pre class="src"> <span class="keyword">return</span> rootName;</pre></td></tr> +<tr> <td class="numLineCover"> 1120</td> <td class="nbHitsCovered"> 1703</td> <td class="src"><pre class="src"> <span class="keyword">return</span> rootName;</pre></td></tr> <tr> <td class="numLine"> 1121</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLineCover"> 1122</td> <td class="nbHitsCovered"><a title="Line 1122: Conditional coverage 100% (2/2)."> 55</a></td> <td class="src"><pre class="src"> <a title="Line 1122: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rootNode.getNodeName() == <span class="keyword">null</span>)</a></pre></td></tr> @@ -2015,11 +2015,11 @@ <td class="src"><pre class="src"> ImmutableNode root)</pre></td></tr> <tr> <td class="numLine"> 1140</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1141</td> <td class="nbHitsCovered"> 13687</td> <td class="src"><pre class="src"> Map<ImmutableNode, ImmutableNode> parents =</pre></td></tr> +<tr> <td class="numLineCover"> 1141</td> <td class="nbHitsCovered"> 13465</td> <td class="src"><pre class="src"> Map<ImmutableNode, ImmutableNode> parents =</pre></td></tr> <tr> <td class="numLine"> 1142</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">new</span> HashMap<ImmutableNode, ImmutableNode>();</pre></td></tr> -<tr> <td class="numLineCover"> 1143</td> <td class="nbHitsCovered"> 13687</td> <td class="src"><pre class="src"> updateParentMapping(parents, root);</pre></td></tr> -<tr> <td class="numLineCover"> 1144</td> <td class="nbHitsCovered"> 13687</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parents;</pre></td></tr> +<tr> <td class="numLineCover"> 1143</td> <td class="nbHitsCovered"> 13465</td> <td class="src"><pre class="src"> updateParentMapping(parents, root);</pre></td></tr> +<tr> <td class="numLineCover"> 1144</td> <td class="nbHitsCovered"> 13465</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parents;</pre></td></tr> <tr> <td class="numLine"> 1145</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1146</td> <td class="nbHits"> </td> @@ -2060,16 +2060,16 @@ <td class="src"><pre class="src"> <span class="keyword">do</span></pre></td></tr> <tr> <td class="numLine"> 1164</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1165</td> <td class="nbHitsCovered"> 15573</td> <td class="src"><pre class="src"> TreeData currentData = getTreeData();</pre></td></tr> -<tr> <td class="numLineCover"> 1166</td> <td class="nbHitsCovered"> 15573</td> <td class="src"><pre class="src"> done =</pre></td></tr> -<tr> <td class="numLineCover"> 1167</td> <td class="nbHitsCovered"><a title="Line 1167: Conditional coverage 100% (2/2)."> 15572</a></td> <td class="src"><pre class="src"> <a title="Line 1167: Conditional coverage 100% (2/2)."> executeTransactionOnDetachedTrackedNode(txInit, selector,</a></pre></td></tr> +<tr> <td class="numLineCover"> 1165</td> <td class="nbHitsCovered"> 15523</td> <td class="src"><pre class="src"> TreeData currentData = getTreeData();</pre></td></tr> +<tr> <td class="numLineCover"> 1166</td> <td class="nbHitsCovered"> 15523</td> <td class="src"><pre class="src"> done =</pre></td></tr> +<tr> <td class="numLineCover"> 1167</td> <td class="nbHitsCovered"><a title="Line 1167: Conditional coverage 100% (2/2)."> 15523</a></td> <td class="src"><pre class="src"> <a title="Line 1167: Conditional coverage 100% (2/2)."> executeTransactionOnDetachedTrackedNode(txInit, selector,</a></pre></td></tr> <tr> <td class="numLine"> 1168</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> currentData, resolver)</pre></td></tr> -<tr> <td class="numLineCover"> 1169</td> <td class="nbHitsCovered"><a title="Line 1169: Conditional coverage 100% (2/2)."> 15566</a></td> <td class="src"><pre class="src"> <a title="Line 1169: Conditional coverage 100% (2/2)."> || executeTransactionOnCurrentStructure(txInit,</a></pre></td></tr> +<tr> <td class="numLineCover"> 1169</td> <td class="nbHitsCovered"><a title="Line 1169: Conditional coverage 100% (2/2)."> 15517</a></td> <td class="src"><pre class="src"> <a title="Line 1169: Conditional coverage 100% (2/2)."> || executeTransactionOnCurrentStructure(txInit,</a></pre></td></tr> <tr> <td class="numLine"> 1170</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> selector, currentData, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 1171</td> <td class="nbHitsCovered"><a title="Line 1171: Conditional coverage 100% (2/2)."> 15569</a></td> <td class="src"><pre class="src"> <a title="Line 1171: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (!done);</a></pre></td></tr> -<tr> <td class="numLineCover"> 1172</td> <td class="nbHitsCovered"> 15503</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 1171</td> <td class="nbHitsCovered"><a title="Line 1171: Conditional coverage 100% (2/2)."> 15519</a></td> <td class="src"><pre class="src"> <a title="Line 1171: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> (!done);</a></pre></td></tr> +<tr> <td class="numLineCover"> 1172</td> <td class="nbHitsCovered"> 15427</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 1173</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 1174</td> <td class="nbHits"> </td> @@ -2104,10 +2104,10 @@ <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLine"> 1189</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> done;</pre></td></tr> -<tr> <td class="numLineCover"> 1190</td> <td class="nbHitsCovered"> 15566</td> <td class="src"><pre class="src"> ModelTransaction tx =</pre></td></tr> +<tr> <td class="numLineCover"> 1190</td> <td class="nbHitsCovered"> 15517</td> <td class="src"><pre class="src"> ModelTransaction tx =</pre></td></tr> <tr> <td class="numLine"> 1191</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">new</span> ModelTransaction(currentData, selector, resolver);</pre></td></tr> -<tr> <td class="numLineCover"> 1192</td> <td class="nbHitsCovered"><a title="Line 1192: Conditional coverage 100% (2/2)."> 15565</a></td> <td class="src"><pre class="src"> <a title="Line 1192: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!txInit.initTransaction(tx))</a></pre></td></tr> +<tr> <td class="numLineCover"> 1192</td> <td class="nbHitsCovered"><a title="Line 1192: Conditional coverage 100% (2/2)."> 15517</a></td> <td class="src"><pre class="src"> <a title="Line 1192: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!txInit.initTransaction(tx))</a></pre></td></tr> <tr> <td class="numLine"> 1193</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> <tr> <td class="numLineCover"> 1194</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> done = <span class="keyword">true</span>;</pre></td></tr> @@ -2117,11 +2117,11 @@ <td class="src"><pre class="src"> <span class="keyword">else</span></pre></td></tr> <tr> <td class="numLine"> 1197</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> {</pre></td></tr> -<tr> <td class="numLineCover"> 1198</td> <td class="nbHitsCovered"> 15549</td> <td class="src"><pre class="src"> TreeData newData = tx.execute();</pre></td></tr> -<tr> <td class="numLineCover"> 1199</td> <td class="nbHitsCovered"> 15549</td> <td class="src"><pre class="src"> done = structure.compareAndSet(tx.getCurrentData(), newData);</pre></td></tr> +<tr> <td class="numLineCover"> 1198</td> <td class="nbHitsCovered"> 15498</td> <td class="src"><pre class="src"> TreeData newData = tx.execute();</pre></td></tr> +<tr> <td class="numLineCover"> 1199</td> <td class="nbHitsCovered"> 15499</td> <td class="src"><pre class="src"> done = structure.compareAndSet(tx.getCurrentData(), newData);</pre></td></tr> <tr> <td class="numLine"> 1200</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 1201</td> <td class="nbHitsCovered"> 15563</td> <td class="src"><pre class="src"> <span class="keyword">return</span> done;</pre></td></tr>
[... 32 lines stripped ...]