blob: 1c4473500df2035d3a9146db0a93089e0151a02a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Coverage Report</title>
<link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/>
<script type="text/javascript" src="js/popup.js"></script>
</head>
<body>
<h5>Coverage Report - org.odftoolkit.simple.table.Row</h5>
<div class="separator">&nbsp;</div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tr><td><a href="org.odftoolkit.simple.table.Row.html">Row</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">73%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:73px"><span class="text">367/497</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">61%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:61px"><span class="text">176/286</span></div></div></td></tr></table></td><td class="value"><span class="hidden">6.857142857142857;</span>6,857</td></tr>
</table>
<div class="separator">&nbsp;</div>
<table cellspacing="0" cellpadding="0" class="src">
<tr> <td class="numLine">&nbsp;1</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/* </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;2</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">Licensed to the Apache Software Foundation (ASF) under one</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;3</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">or more contributor license agreements. See the NOTICE file</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;4</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">distributed with this work for additional information</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;5</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">regarding copyright ownership. The ASF licenses this file</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;6</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">to you under the Apache License, Version 2.0 (the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;7</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">"License"); you may not use this file except in compliance</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;8</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">with the License. You may obtain a copy of the License at</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;9</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;10</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> http://www.apache.org/licenses/LICENSE-2.0</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;11</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;12</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">Unless required by applicable law or agreed to in writing,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;13</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">software distributed under the License is distributed on an</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;14</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;15</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">KIND, either express or implied. See the License for the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;16</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">specific language governing permissions and limitations</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;17</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">under the License.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;18</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">*/</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;19</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;20</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.odftoolkit.simple.table;</pre></td></tr>
<tr> <td class="numLine">&nbsp;21</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;22</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.ArrayList;</pre></td></tr>
<tr> <td class="numLine">&nbsp;23</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.HashSet;</pre></td></tr>
<tr> <td class="numLine">&nbsp;24</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td></tr>
<tr> <td class="numLine">&nbsp;25</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Map;</pre></td></tr>
<tr> <td class="numLine">&nbsp;26</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Set;</pre></td></tr>
<tr> <td class="numLine">&nbsp;27</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Vector;</pre></td></tr>
<tr> <td class="numLine">&nbsp;28</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.logging.Level;</pre></td></tr>
<tr> <td class="numLine">&nbsp;29</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.logging.Logger;</pre></td></tr>
<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.xml.xpath.XPath;</pre></td></tr>
<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.xml.xpath.XPathConstants;</pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> javax.xml.xpath.XPathExpressionException;</pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.OdfContentDom;</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.OdfDocumentNamespace;</pre></td></tr>
<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableCoveredTableCellElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableCellElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;39</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableCellElementBase;</pre></td></tr>
<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableHeaderRowsElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableRowGroupElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.table.TableTableRowsElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.text.TextHElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.text.TextListElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.element.text.TextPElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.style.OdfStyleFamily;</pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.style.props.OdfStyleProperty;</pre></td></tr>
<tr> <td class="numLine">&nbsp;50</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.dom.style.props.OdfTableRowProperties;</pre></td></tr>
<tr> <td class="numLine">&nbsp;51</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.incubator.doc.style.OdfStyle;</pre></td></tr>
<tr> <td class="numLine">&nbsp;52</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.pkg.OdfElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.pkg.OdfFileDom;</pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.pkg.OdfName;</pre></td></tr>
<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.pkg.OdfXMLFactory;</pre></td></tr>
<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.type.PositiveLength;</pre></td></tr>
<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.odfdom.type.Length.Unit;</pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.simple.Component;</pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.odftoolkit.simple.Document;</pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.w3c.dom.Node;</pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Row represents table row feature in ODF document.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;65</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Row provides methods to get table cells that belong to this table row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;66</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;67</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> Row <span class="keyword">extends</span> Component {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;68</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// boolean mbVisible;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; TableTableRowElement maRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;71</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> mnRepeatedIndex;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> mRowsRepeatedNumber = -1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;73</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;74</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> String DEFAULT_HEIGHT = <span class="string">"0.30in"</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;75</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> Document mDocument;</pre></td></tr>
<tr> <td class="numLine">&nbsp;76</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;77</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;78</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Construct the &lt;code&gt;Row&lt;/code&gt; feature.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;80</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param rowElement</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the row element represent this row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param repeatedIndex</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;83</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the index in the repeated rows</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;84</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;85</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; Row(TableTableRowElement rowElement, <span class="keyword">int</span> repeatedIndex) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;86</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; maRowElement = rowElement;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;87</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; mnRepeatedIndex = repeatedIndex;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;88</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; mDocument = (Document) ((OdfFileDom) maRowElement.getOwnerDocument()).getDocument();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;89</td> <td class="nbHitsCovered">&nbsp;1501</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;91</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;92</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get the &lt;code&gt;Row&lt;/code&gt; instance from the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;93</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;code&gt;TableTableRowElement&lt;/code&gt; instance.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;94</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;95</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Each &lt;code&gt;TableTableRowElement&lt;/code&gt; instance has a one-to-one</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;96</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * relationship to a &lt;code&gt;Row&lt;/code&gt; instance.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;97</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;98</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param rowElement</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;99</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the row element that need to get the corresponding</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;100</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;code&gt;Row&lt;/code&gt; instance</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;101</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the &lt;code&gt;Row&lt;/code&gt; instance represent the specified row element</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;103</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">static</span> Row getInstance(TableTableRowElement rowElement) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; TableTableElement tableElement = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;105</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Node node = rowElement.getParentNode();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsCovered"><a title="Line 106: Conditional coverage 100% (2/2).">&nbsp;24</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 106: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (node != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;107</td> <td class="nbHitsCovered"><a title="Line 107: Conditional coverage 100% (2/2).">&nbsp;20</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 107: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> TableTableElement) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;108</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; tableElement = (TableTableElement) node;</pre></td></tr>
<tr> <td class="numLine">&nbsp;109</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;110</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; node = node.getParentNode();</pre></td></tr>
<tr> <td class="numLine">&nbsp;111</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;112</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Table table = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsUncovered"><a title="Line 113: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 113: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (tableElement != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;114</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; table = Table.getInstance(tableElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;115</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"the rowElement is not in the table dom tree"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Row row = table.getRowInstance(rowElement, 0);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;119</td> <td class="nbHitsUncovered"><a title="Line 119: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 119: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (row.getRowsRepeatedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Logger.getLogger(Row.<span class="keyword">class</span>.getName()).log(</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; Level.WARNING,</pre></td></tr>
<tr> <td class="numLine">&nbsp;122</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="string">"the row has the repeated row number, and puzzled about get which repeated index of the row,"</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; + <span class="string">"here just return the first row of the repeated rows."</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;124</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;125</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> row;</pre></td></tr>
<tr> <td class="numLine">&nbsp;126</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;127</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;128</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;129</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get the &lt;code&gt;TableTableElement&lt;/code&gt; who contains this row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;130</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;131</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the table element that contains the row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;132</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;133</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> TableTableElement getTableElement() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;134</td> <td class="nbHitsCovered">&nbsp;64229</td> <td class="src"><pre class="src">&nbsp; Node node = maRowElement.getParentNode();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;135</td> <td class="nbHitsUncovered"><a title="Line 135: Conditional coverage 50% (1/2).">&nbsp;64825</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 135: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (node != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;136</td> <td class="nbHitsCovered"><a title="Line 136: Conditional coverage 100% (2/2).">&nbsp;64825</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 136: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> TableTableElement) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;137</td> <td class="nbHitsCovered">&nbsp;64229</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> (TableTableElement) node;</pre></td></tr>
<tr> <td class="numLine">&nbsp;138</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;139</td> <td class="nbHitsCovered">&nbsp;596</td> <td class="src"><pre class="src">&nbsp; node = node.getParentNode();</pre></td></tr>
<tr> <td class="numLine">&nbsp;140</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;141</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;142</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;143</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;144</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;145</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get owner table of the current row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;147</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the parent table of this row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;148</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;149</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Table getTable() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;150</td> <td class="nbHitsCovered">&nbsp;63341</td> <td class="src"><pre class="src">&nbsp; TableTableElement tableElement = getTableElement();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;151</td> <td class="nbHitsUncovered"><a title="Line 151: Conditional coverage 50% (1/2).">&nbsp;63341</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 151: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (tableElement != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;152</td> <td class="nbHitsCovered">&nbsp;63341</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> Table.getInstance(tableElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;153</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;154</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;155</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;158</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the height of the row (in Millimeter).</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;160</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the minimal height, if the row height is not set,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the height of the current row (in Millimeter).</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;163</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;164</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">double</span> getHeight() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;165</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; String sHeight = maRowElement.getProperty(OdfTableRowProperties.RowHeight);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;166</td> <td class="nbHitsCovered"><a title="Line 166: Conditional coverage 100% (2/2).">&nbsp;16</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 166: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sHeight == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;167</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; sHeight = maRowElement.getProperty(OdfTableRowProperties.MinRowHeight);</pre></td></tr>
<tr> <td class="numLine">&nbsp;168</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;169</td> <td class="nbHitsCovered"><a title="Line 169: Conditional coverage 100% (2/2).">&nbsp;16</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 169: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sHeight == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;170</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; sHeight = DEFAULT_HEIGHT;</pre></td></tr>
<tr> <td class="numLine">&nbsp;171</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;172</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> PositiveLength.parseDouble(sHeight, Unit.MILLIMETER);</pre></td></tr>
<tr> <td class="numLine">&nbsp;173</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;174</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;175</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;176</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Set the height/minimal height of the row (in Millimeter) according to the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;177</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * second parameter.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;178</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;179</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param height</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;180</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the height/minimal height that will be set to the row (in</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;181</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Millimeter).</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;182</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param isMinHeight</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;183</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * if it is true, the row can fit the height to the text, vice</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;184</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * versa.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;185</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;186</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setHeight(<span class="keyword">double</span> height, <span class="keyword">boolean</span> isMinHeight) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;187</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">double</span> roundingFactor = 10000.0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;188</td> <td class="nbHitsCovered"><a title="Line 188: Conditional coverage 100% (2/2).">&nbsp;9</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 188: Conditional coverage 100% (2/2)."> OdfStyleProperty rowHeightProp = isMinHeight ? OdfTableRowProperties.MinRowHeight : OdfTableRowProperties.RowHeight;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;189</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// TODO:need refactor to PositiveLength.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;190</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">double</span> inValue = Math.round(roundingFactor * height / Unit.INCH.unitInMillimiter()) / roundingFactor;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;191</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; String sHeightIN = String.valueOf(inValue) + Unit.INCH.abbr();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;192</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;193</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; maRowElement.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"style-name"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; maRowElement.setProperty(rowHeightProp, sHeightIN);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;196</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;197</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// if one of the repeated row want to change something</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;198</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// then this repeated row have to split to repeated number rows</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the maRowElement/mnRepeatedIndex should also be updated according to the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;200</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// original index in the repeated column</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;201</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> splitRepeatedRows() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;202</td> <td class="nbHitsCovered">&nbsp;424</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> repeateNum = getRowsRepeatedNumber();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;203</td> <td class="nbHitsCovered"><a title="Line 203: Conditional coverage 100% (2/2).">&nbsp;424</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 203: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (repeateNum &gt; 1) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;204</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// change this repeated row to three parts: repeated row before, new</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;205</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// single row and repeated row after.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;206</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Node rowOwnerElement = maRowElement.getParentNode();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;207</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;208</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Map&lt;TableTableRowElement, Vector&lt;Row&gt;&gt; rowRepository = table.mRowRepository;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;209</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Map&lt;TableTableCellElementBase, Vector&lt;Cell&gt;&gt; cellRepository = table.mCellRepository;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;210</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; String tableNameSpaceURI = OdfDocumentNamespace.TABLE.getUri();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;211</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Vector&lt;Row&gt; oldList = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;212</td> <td class="nbHitsUncovered"><a title="Line 212: Conditional coverage 50% (1/2).">&nbsp;55</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 212: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rowRepository.containsKey(maRowElement)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;213</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; oldList = rowRepository.remove(maRowElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;214</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> offetAfterCurrentRow = repeateNum - mnRepeatedIndex - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; TableTableRowElement currentRowElement = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;217</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; TableTableRowElement newBeforeRowElement = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;218</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; TableTableRowElement newAfterRowElement = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;219</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; List&lt;TableTableCellElementBase&gt; newBeforeCellElements = <span class="keyword">new</span> ArrayList&lt;TableTableCellElementBase&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;220</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; List&lt;TableTableCellElementBase&gt; newCurrentCellElements = <span class="keyword">new</span> ArrayList&lt;TableTableCellElementBase&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;221</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; List&lt;TableTableCellElementBase&gt; newAfterCellElements = <span class="keyword">new</span> ArrayList&lt;TableTableCellElementBase&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;222</td> <td class="nbHitsCovered"><a title="Line 222: Conditional coverage 100% (2/2).">&nbsp;55</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 222: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mnRepeatedIndex &gt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; newBeforeRowElement = (TableTableRowElement) maRowElement.cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mnRepeatedIndex &gt; 1) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;225</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; newBeforeRowElement.setTableNumberRowsRepeatedAttribute(mnRepeatedIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;226</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;227</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; newBeforeRowElement.removeAttributeNS(tableNameSpaceURI, <span class="string">"number-rows-repeated"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;228</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;229</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// insert new before repeated row</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;230</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; rowOwnerElement.insertBefore(newBeforeRowElement, maRowElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;231</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update row cache</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;232</td> <td class="nbHitsUncovered"><a title="Line 232: Conditional coverage 50% (1/2).">&nbsp;12</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 232: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (oldList != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;233</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; Vector&lt;Row&gt; newBeforeList = <span class="keyword">new</span> Vector&lt;Row&gt;(mnRepeatedIndex);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;234</td> <td class="nbHitsUncovered"><a title="Line 234: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;27</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 234: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; mnRepeatedIndex &amp;&amp; i &lt; oldList.size(); i++) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;235</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; Row beforeRow = oldList.get(i);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;236</td> <td class="nbHitsCovered"><a title="Line 236: Conditional coverage 100% (2/2).">&nbsp;15</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 236: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (beforeRow != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;237</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; beforeRow.maRowElement = newBeforeRowElement;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;238</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; beforeRow.mRowsRepeatedNumber = -1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;239</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; newBeforeList.add(i, beforeRow);</pre></td></tr>
<tr> <td class="numLine">&nbsp;240</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;241</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;242</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; rowRepository.put(newBeforeRowElement, newBeforeList);</pre></td></tr>
<tr> <td class="numLine">&nbsp;243</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// create new cell element map.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;244</td> <td class="nbHitsCovered"><a title="Line 244: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 244: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(newBeforeRowElement.getChildNodes())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;245</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> columnsRepeatedNumber = ((TableTableCellElementBase) n)</pre></td></tr>
<tr> <td class="numLine">&nbsp;246</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getTableNumberColumnsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;247</td> <td class="nbHitsCovered"><a title="Line 247: Conditional coverage 100% (2/2).">&nbsp;185</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 247: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; columnsRepeatedNumber; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;248</td> <td class="nbHitsCovered">&nbsp;157</td> <td class="src"><pre class="src">&nbsp; newBeforeCellElements.add((TableTableCellElementBase) n);</pre></td></tr>
<tr> <td class="numLine">&nbsp;249</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;250</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;251</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;252</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;253</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; currentRowElement = (TableTableRowElement) maRowElement.cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;254</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; currentRowElement.removeAttributeNS(tableNameSpaceURI, <span class="string">"number-rows-repeated"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;255</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; rowOwnerElement.insertBefore(currentRowElement, maRowElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;256</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// create new cell element map.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsCovered"><a title="Line 257: Conditional coverage 100% (2/2).">&nbsp;55</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 257: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(currentRowElement.getChildNodes())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;258</td> <td class="nbHitsCovered">&nbsp;171</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> columnsRepeatedNumber = ((TableTableCellElementBase) n).getTableNumberColumnsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;259</td> <td class="nbHitsCovered"><a title="Line 259: Conditional coverage 100% (2/2).">&nbsp;575</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 259: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; columnsRepeatedNumber; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;260</td> <td class="nbHitsCovered">&nbsp;404</td> <td class="src"><pre class="src">&nbsp; newCurrentCellElements.add((TableTableCellElementBase) n);</pre></td></tr>
<tr> <td class="numLine">&nbsp;261</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;262</td> <td class="nbHitsCovered">&nbsp;171</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;263</td> <td class="nbHitsCovered"><a title="Line 263: Conditional coverage 100% (2/2).">&nbsp;55</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 263: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (offetAfterCurrentRow &gt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;264</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; newAfterRowElement = (TableTableRowElement) maRowElement.cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsCovered"><a title="Line 265: Conditional coverage 100% (2/2).">&nbsp;44</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 265: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (offetAfterCurrentRow &gt; 1) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;266</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; newAfterRowElement.setTableNumberRowsRepeatedAttribute(offetAfterCurrentRow);</pre></td></tr>
<tr> <td class="numLine">&nbsp;267</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;23</td> <td class="src"><pre class="src">&nbsp; newAfterRowElement.removeAttributeNS(tableNameSpaceURI, <span class="string">"number-rows-repeated"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;269</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; rowOwnerElement.insertBefore(newAfterRowElement, maRowElement);</pre></td></tr>
<tr> <td class="numLine">&nbsp;271</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update row cache</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;272</td> <td class="nbHitsUncovered"><a title="Line 272: Conditional coverage 50% (1/2).">&nbsp;44</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 272: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (oldList != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;273</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; Vector&lt;Row&gt; newAfterList = <span class="keyword">new</span> Vector&lt;Row&gt;(offetAfterCurrentRow);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;274</td> <td class="nbHitsCovered"><a title="Line 274: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;226</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 274: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">for</span> (<span class="keyword">int</span> i = mnRepeatedIndex + 1; i &lt; repeateNum &amp;&amp; i &lt; oldList.size(); i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;275</td> <td class="nbHitsCovered">&nbsp;182</td> <td class="src"><pre class="src">&nbsp; Row afterRow = oldList.get(i);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;276</td> <td class="nbHitsUncovered"><a title="Line 276: Conditional coverage 50% (1/2).">&nbsp;182</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 276: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (afterRow != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;277</td> <td class="nbHitsCovered">&nbsp;182</td> <td class="src"><pre class="src">&nbsp; afterRow.maRowElement = newAfterRowElement;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;278</td> <td class="nbHitsCovered">&nbsp;182</td> <td class="src"><pre class="src">&nbsp; afterRow.mnRepeatedIndex = i - mnRepeatedIndex - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsCovered">&nbsp;182</td> <td class="src"><pre class="src">&nbsp; afterRow.mRowsRepeatedNumber = -1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;280</td> <td class="nbHitsCovered">&nbsp;182</td> <td class="src"><pre class="src">&nbsp; newAfterList.add(afterRow.mnRepeatedIndex, afterRow);</pre></td></tr>
<tr> <td class="numLine">&nbsp;281</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;282</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;283</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; rowRepository.put(newAfterRowElement, newAfterList);</pre></td></tr>
<tr> <td class="numLine">&nbsp;284</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// create new cell element map.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2).">&nbsp;44</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(newAfterRowElement.getChildNodes())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsCovered">&nbsp;144</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> columnsRepeatedNumber = ((TableTableCellElementBase) n)</pre></td></tr>
<tr> <td class="numLine">&nbsp;287</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getTableNumberColumnsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;288</td> <td class="nbHitsCovered"><a title="Line 288: Conditional coverage 100% (2/2).">&nbsp;420</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 288: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; columnsRepeatedNumber; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;289</td> <td class="nbHitsCovered">&nbsp;276</td> <td class="src"><pre class="src">&nbsp; newAfterCellElements.add((TableTableCellElementBase) n);</pre></td></tr>
<tr> <td class="numLine">&nbsp;290</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;291</td> <td class="nbHitsCovered">&nbsp;144</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;292</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;293</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;294</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// this var help to avoid calling duplicate.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;295</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cellColumnIndexBase = 0;</pre></td></tr>
<tr> <td class="numLine">&nbsp;296</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update cache cell list</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;297</td> <td class="nbHitsCovered"><a title="Line 297: Conditional coverage 100% (2/2).">&nbsp;55</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 297: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(maRowElement.getChildNodes())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;298</td> <td class="nbHitsCovered"><a title="Line 298: Conditional coverage 100% (2/2).">&nbsp;171</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 298: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cellRepository.containsKey(n)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;299</td> <td class="nbHitsCovered">&nbsp;72</td> <td class="src"><pre class="src">&nbsp; Vector&lt;Cell&gt; cellList = cellRepository.get(n);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsCovered"><a title="Line 300: Conditional coverage 100% (2/2).">&nbsp;72</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 300: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Cell cell : cellList) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;301</td> <td class="nbHitsUncovered"><a title="Line 301: Conditional coverage 50% (1/2).">&nbsp;92</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 301: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cell != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;302</td> <td class="nbHitsCovered">&nbsp;92</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> oldColumnIndex = cellColumnIndexBase + cell.mnRepeatedColIndex;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;303</td> <td class="nbHitsCovered"><a title="Line 303: Conditional coverage 100% (2/2).">&nbsp;92</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 303: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cell.mnRepeatedRowIndex &gt; mnRepeatedIndex) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;304</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; cell.mnRepeatedRowIndex = cell.mnRepeatedRowIndex - mnRepeatedIndex - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;305</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; cell.mCellElement = newAfterCellElements.get(oldColumnIndex);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;306</td> <td class="nbHitsCovered"><a title="Line 306: Conditional coverage 100% (2/2).">&nbsp;78</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 306: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (cell.mnRepeatedRowIndex == mnRepeatedIndex) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;307</td> <td class="nbHitsCovered">&nbsp;73</td> <td class="src"><pre class="src">&nbsp; cell.mnRepeatedRowIndex = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;308</td> <td class="nbHitsCovered">&nbsp;73</td> <td class="src"><pre class="src">&nbsp; cell.mCellElement = newCurrentCellElements.get(oldColumnIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;309</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;310</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; cell.mCellElement = newBeforeCellElements.get(oldColumnIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;311</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;312</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;313</td> <td class="nbHitsCovered">&nbsp;92</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;314</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;315</td> <td class="nbHitsCovered">&nbsp;171</td> <td class="src"><pre class="src">&nbsp; cellColumnIndexBase += ((TableTableCellElementBase) n).getTableNumberColumnsRepeatedAttribute()</pre></td></tr>
<tr> <td class="numLine">&nbsp;316</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .intValue();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;317</td> <td class="nbHitsCovered">&nbsp;171</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;318</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update row cache</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;319</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; Vector&lt;Row&gt; currentList = <span class="keyword">new</span> Vector&lt;Row&gt;(1);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;320</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; currentList.add(0, <span class="keyword">this</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;321</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; rowRepository.put(currentRowElement, currentList);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;322</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; mRowsRepeatedNumber = -1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;323</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; mnRepeatedIndex = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;324</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; rowOwnerElement.removeChild(maRowElement);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;325</td> <td class="nbHitsCovered">&nbsp;55</td> <td class="src"><pre class="src">&nbsp; maRowElement = currentRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;326</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;327</td> <td class="nbHitsCovered">&nbsp;424</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;328</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;329</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;330</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return if the row always keeps its optimal height.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;331</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;332</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the row always keeps its optimal height; vice versa</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;333</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;334</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> isOptimalHeight() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;335</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> Boolean.parseBoolean(maRowElement.getProperty(OdfTableRowProperties.UseOptimalRowHeight));</pre></td></tr>
<tr> <td class="numLine">&nbsp;336</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;337</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;338</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;339</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Set if the row always keeps its optimal height.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;340</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;341</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param isUseOptimalHeight</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;342</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the flag that indicate row should keep its optimal height or</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;343</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * not</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;344</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;345</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setUseOptimalHeight(<span class="keyword">boolean</span> isUseOptimalHeight) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; maRowElement.setProperty(OdfTableRowProperties.UseOptimalRowHeight, String.valueOf(isUseOptimalHeight));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;348</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;349</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;350</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return an instance of &lt;code&gt;TableTableRowElement&lt;/code&gt; which represents</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * this feature.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;353</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return an instance of &lt;code&gt;TableTableRowElement&lt;/code&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;355</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> TableTableRowElement getOdfElement() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</td> <td class="nbHitsCovered">&nbsp;64650</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> maRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;357</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;358</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;359</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;360</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get a cell with a specific index. The table will be automatically</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;361</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * expanded, when the given index is outside of the original table.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;362</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;363</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param index</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;364</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the cell index in this row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;365</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the cell object in the given cell index</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;367</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Cell getCellByIndex(<span class="keyword">int</span> index) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;368</td> <td class="nbHitsCovered">&nbsp;61279</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;369</td> <td class="nbHitsUncovered"><a title="Line 369: Conditional coverage 50% (1/2).">&nbsp;61279</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 369: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (index &lt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;370</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"index should be nonnegative integer."</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;371</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;372</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// expand column as needed.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;373</td> <td class="nbHitsCovered">&nbsp;61279</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> lastColumnIndex = table.getColumnCount() - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsCovered"><a title="Line 374: Conditional coverage 100% (2/2).">&nbsp;61279</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 374: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (index &gt; lastColumnIndex) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;375</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// need clean cell style.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;376</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; table.appendColumns((index - lastColumnIndex), <span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;377</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;378</td> <td class="nbHitsUncovered"><a title="Line 378: Conditional coverage 50% (1/2).">&nbsp;61279</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 378: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(maRowElement.getChildNodes())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;379</td> <td class="nbHitsUncovered"><a title="Line 379: Conditional coverage 50% (1/2).">&nbsp;272550</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 379: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (n <span class="keyword">instanceof</span> TableTableCellElementBase) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;380</td> <td class="nbHitsCovered"><a title="Line 380: Conditional coverage 100% (2/2).">&nbsp;272550</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 380: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (index == 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;381</td> <td class="nbHitsCovered">&nbsp;60571</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> table.getCellInstance((TableTableCellElementBase) n, 0, mnRepeatedIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;383</td> <td class="nbHitsCovered">&nbsp;211979</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> nextIndex = index</pre></td></tr>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; - ((TableTableCellElementBase) n).getTableNumberColumnsRepeatedAttribute().intValue();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;385</td> <td class="nbHitsCovered"><a title="Line 385: Conditional coverage 100% (2/2).">&nbsp;211979</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 385: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (nextIndex &lt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;386</td> <td class="nbHitsCovered">&nbsp;708</td> <td class="src"><pre class="src">&nbsp; Cell cell = table.getCellInstance((TableTableCellElementBase) n, index, mnRepeatedIndex);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;387</td> <td class="nbHitsCovered">&nbsp;708</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> cell;</pre></td></tr>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;389</td> <td class="nbHitsCovered">&nbsp;211271</td> <td class="src"><pre class="src">&nbsp; index = nextIndex;</pre></td></tr>
<tr> <td class="numLine">&nbsp;390</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;391</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;392</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;393</td> <td class="nbHitsCovered">&nbsp;211271</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;394</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;395</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;396</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;397</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;398</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the count of real cells in this row. The cells covered by top</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;399</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * cells are not counted.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;400</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;401</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Please note it might not equal to the column count of the owner table,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;402</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * because some of them are the covered cells.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;403</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;404</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the cell count</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;405</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;406</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getCellCount() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;407</td> <td class="nbHitsCovered">&nbsp;878</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;408</td> <td class="nbHitsCovered">&nbsp;878</td> <td class="src"><pre class="src">&nbsp; Set&lt;Cell&gt; realCells = <span class="keyword">new</span> HashSet&lt;Cell&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;409</td> <td class="nbHitsCovered">&nbsp;878</td> <td class="src"><pre class="src">&nbsp; List&lt;CellCoverInfo&gt; coverList = table.getCellCoverInfos(0, 0, table.getColumnCount() - 1,</pre></td></tr>
<tr> <td class="numLine">&nbsp;410</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; table.getRowCount() - 1);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;411</td> <td class="nbHitsCovered">&nbsp;878</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> rowIndex = getRowIndex();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;412</td> <td class="nbHitsCovered"><a title="Line 412: Conditional coverage 100% (2/2).">&nbsp;7416</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 412: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; table.getColumnCount(); i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;413</td> <td class="nbHitsCovered">&nbsp;6538</td> <td class="src"><pre class="src">&nbsp; Cell cell = table.getOwnerCellByPosition(coverList, i, rowIndex);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;414</td> <td class="nbHitsCovered">&nbsp;6538</td> <td class="src"><pre class="src">&nbsp; realCells.add(cell);</pre></td></tr>
<tr> <td class="numLine">&nbsp;415</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;416</td> <td class="nbHitsCovered">&nbsp;878</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> realCells.size();</pre></td></tr>
<tr> <td class="numLine">&nbsp;417</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;418</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;419</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;420</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the previous row of the current row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;421</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;422</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the previous row before this row in the owner table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;423</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;424</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Row getPreviousRow() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;425</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLine">&nbsp;426</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the row has repeated row number &gt; 1</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;427</td> <td class="nbHitsUncovered"><a title="Line 427: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 427: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (getRowsRepeatedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;428</td> <td class="nbHitsUncovered"><a title="Line 428: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 428: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (mnRepeatedIndex &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;429</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> table.getRowInstance(maRowElement, mnRepeatedIndex - 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;430</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;431</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;432</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the row has repeated row number &gt; 1 &amp;&amp; the index is 0</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;433</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// or the row has repeated row num = 1</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;434</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Node aPrevNode = maRowElement.getPreviousSibling();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;435</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Node aCurNode = maRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;436</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; TableTableRowElement lastRow;</pre></td></tr>
<tr> <td class="numLine">&nbsp;437</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">while</span> (<span class="keyword">true</span>) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;438</td> <td class="nbHitsCovered"><a title="Line 438: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 438: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (aPrevNode == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;439</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// does not have previous sibling, then get the parent</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;440</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// because aCurNode might be the child element of</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;441</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// table-header-rows, table-rows, table-row-group</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;442</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; Node parentNode = aCurNode.getParentNode();</pre></td></tr>
<tr> <td class="numLine">&nbsp;443</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// if the parent is table, then it means that this row is the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;444</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// first row in this table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;445</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// it has no previous row</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;446</td> <td class="nbHitsUncovered"><a title="Line 446: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 446: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (parentNode <span class="keyword">instanceof</span> TableTableElement) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;447</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;448</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;449</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aPrevNode = parentNode.getPreviousSibling();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;450</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;451</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// else the previous node might be table-header-rows, table-rows,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;452</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// table-row-group</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;453</td> <td class="nbHitsUncovered"><a title="Line 453: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 453: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (aPrevNode != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;454</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;455</td> <td class="nbHitsCovered"><a title="Line 455: Conditional coverage 100% (2/2).">&nbsp;4</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 455: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (aPrevNode <span class="keyword">instanceof</span> TableTableRowElement) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;456</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> table</pre></td></tr>
<tr> <td class="numLine">&nbsp;457</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getRowInstance((TableTableRowElement) aPrevNode, ((TableTableRowElement) aPrevNode)</pre></td></tr>
<tr> <td class="numLine">&nbsp;458</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getTableNumberRowsRepeatedAttribute().intValue() - 1);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;459</td> <td class="nbHitsUncovered"><a title="Line 459: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 459: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (aPrevNode <span class="keyword">instanceof</span> TableTableRowsElement</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;460</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || aPrevNode <span class="keyword">instanceof</span> TableTableHeaderRowsElement</pre></td></tr>
<tr> <td class="numLine">&nbsp;461</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || aPrevNode <span class="keyword">instanceof</span> TableTableRowGroupElement) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;462</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; XPath xpath = ((OdfContentDom) aPrevNode.getOwnerDocument()).getXPath();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;463</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">synchronized</span> (mDocument) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;464</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; lastRow = (TableTableRowElement) xpath.evaluate(<span class="string">".//table:table-row[last()]"</span>, aPrevNode,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;465</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; XPathConstants.NODE);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;466</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;467</td> <td class="nbHitsUncovered"><a title="Line 467: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 467: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (lastRow != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;468</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> table.getRowInstance(lastRow, lastRow.getTableNumberRowsRepeatedAttribute()</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;469</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .intValue() - 1);</pre></td></tr>
<tr> <td class="numLine">&nbsp;470</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;471</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;472</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; aCurNode = aPrevNode;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;473</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; aPrevNode = aPrevNode.getPreviousSibling();</pre></td></tr>
<tr> <td class="numLine">&nbsp;474</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;475</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (XPathExpressionException e) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;476</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Logger.getLogger(Row.<span class="keyword">class</span>.getName()).log(Level.SEVERE, e.getMessage(), e);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;477</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;478</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;479</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;480</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;481</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;482</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;483</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the next row of the current row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;484</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;485</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the next row after this row in the owner table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;486</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;487</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> Row getNextRow() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;488</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLine">&nbsp;489</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the row has repeated row number &gt; 1</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;490</td> <td class="nbHitsUncovered"><a title="Line 490: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 490: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (getRowsRepeatedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;491</td> <td class="nbHitsUncovered"><a title="Line 491: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 491: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (mnRepeatedIndex &lt; (getRowsRepeatedNumber() - 1)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;492</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> table.getRowInstance(maRowElement, mnRepeatedIndex + 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;493</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;494</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;495</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; Node aNextNode = maRowElement.getNextSibling();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;496</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; Node aCurNode = maRowElement;</pre></td></tr>
<tr> <td class="numLine">&nbsp;497</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; TableTableRowElement firstRow;</pre></td></tr>
<tr> <td class="numLine">&nbsp;498</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">while</span> (<span class="keyword">true</span>) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;499</td> <td class="nbHitsCovered"><a title="Line 499: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 499: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (aNextNode == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;500</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// does not have next sibling, then get the parent</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;501</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// because aCurNode might be the child element of</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;502</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// table-header-rows, table-rows, table-row-group</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;503</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; Node parentNode = aCurNode.getParentNode();</pre></td></tr>
<tr> <td class="numLine">&nbsp;504</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// if the parent is table, then it means that this row is the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;505</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// last row in this table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;506</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// it has no next row</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;507</td> <td class="nbHitsUncovered"><a title="Line 507: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 507: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (parentNode <span class="keyword">instanceof</span> TableTableElement) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;508</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;509</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;510</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aNextNode = parentNode.getNextSibling();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;511</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;512</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// else the next node might be table-header-rows, table-rows,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;513</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// table-row-group</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;514</td> <td class="nbHitsUncovered"><a title="Line 514: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 514: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (aNextNode != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;515</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;516</td> <td class="nbHitsUncovered"><a title="Line 516: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 516: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (aNextNode <span class="keyword">instanceof</span> TableTableRowElement) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;517</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> table.getRowInstance((TableTableRowElement) aNextNode, 0);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;518</td> <td class="nbHitsUncovered"><a title="Line 518: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 518: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (aNextNode <span class="keyword">instanceof</span> TableTableRowsElement</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;519</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || aNextNode <span class="keyword">instanceof</span> TableTableHeaderRowsElement</pre></td></tr>
<tr> <td class="numLine">&nbsp;520</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || aNextNode <span class="keyword">instanceof</span> TableTableRowGroupElement) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;521</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; XPath xpath = ((OdfContentDom) aNextNode.getOwnerDocument()).getXPath();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;522</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">synchronized</span> (mDocument) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;523</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; firstRow = (TableTableRowElement) xpath.evaluate(<span class="string">".//table:table-row[first()]"</span>, aNextNode,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;524</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; XPathConstants.NODE);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;525</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;526</td> <td class="nbHitsUncovered"><a title="Line 526: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 526: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (firstRow != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;527</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> table.getRowInstance(firstRow, 0);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;528</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;529</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;530</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aCurNode = aNextNode;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;531</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; aNextNode = aNextNode.getNextSibling();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;532</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;533</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">catch</span> (XPathExpressionException e) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;534</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Logger.getLogger(Row.<span class="keyword">class</span>.getName()).log(Level.SEVERE, e.getMessage(), e);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;535</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;536</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;537</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;538</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;539</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;540</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;541</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Set the default cell style to this row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;542</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;543</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The style should already exist in this document.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;544</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;545</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param style</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;546</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * the cell style of the document</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;547</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;548</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setDefaultCellStyle(OdfStyle style) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;549</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;550</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; OdfStyle defaultStyle = getDefaultCellStyle();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;551</td> <td class="nbHitsUncovered"><a title="Line 551: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 551: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (defaultStyle != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;552</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; defaultStyle.removeStyleUser(maRowElement);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;553</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;554</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;555</td> <td class="nbHitsUncovered"><a title="Line 555: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 555: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (style != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;556</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; style.addStyleUser(maRowElement);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;557</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; maRowElement.setTableDefaultCellStyleNameAttribute(style.getStyleNameAttribute());</pre></td></tr>
<tr> <td class="numLine">&nbsp;558</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;559</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;560</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;561</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;562</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get the default cell style of this row.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;563</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;564</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the default cell style of this row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;565</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;566</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> OdfStyle getDefaultCellStyle() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;567</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; String styleName = maRowElement.getTableDefaultCellStyleNameAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;568</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; OdfStyle style = maRowElement.getAutomaticStyles().getStyle(styleName, OdfStyleFamily.TableCell);</pre></td></tr>
<tr> <td class="numLine">&nbsp;569</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;570</td> <td class="nbHitsUncovered"><a title="Line 570: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 570: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (style == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;571</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; style = mDocument.getDocumentStyles().getStyle(styleName, OdfStyleFamily.TableCell);</pre></td></tr>
<tr> <td class="numLine">&nbsp;572</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;573</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> style;</pre></td></tr>
<tr> <td class="numLine">&nbsp;574</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;575</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;576</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;577</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Return the index of this row in the owner table.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;578</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;579</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the index of the row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;580</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;581</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">int</span> getRowIndex() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;582</td> <td class="nbHitsCovered">&nbsp;888</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> result = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;583</td> <td class="nbHitsCovered">&nbsp;888</td> <td class="src"><pre class="src">&nbsp; TableTableElement mTableElement = getTableElement();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;584</td> <td class="nbHitsCovered">&nbsp;888</td> <td class="src"><pre class="src">&nbsp; TableTableRowElement rowEle = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;585</td> <td class="nbHitsUncovered"><a title="Line 585: Conditional coverage 50% (1/2).">&nbsp;888</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 585: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Node n : <span class="keyword">new</span> DomNodeList(mTableElement.getChildNodes())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;586</td> <td class="nbHitsCovered"><a title="Line 586: Conditional coverage 100% (2/2).">&nbsp;9175</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 586: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (n <span class="keyword">instanceof</span> TableTableHeaderRowsElement) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;587</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; TableTableHeaderRowsElement headers = (TableTableHeaderRowsElement) n;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;588</td> <td class="nbHitsCovered"><a title="Line 588: Conditional coverage 100% (2/2).">&nbsp;28</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 588: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Node m : <span class="keyword">new</span> DomNodeList(headers.getChildNodes())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;589</td> <td class="nbHitsUncovered"><a title="Line 589: Conditional coverage 50% (1/2).">&nbsp;29</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 589: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (m <span class="keyword">instanceof</span> TableTableRowElement) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;590</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; rowEle = (TableTableRowElement) m;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;591</td> <td class="nbHitsUncovered"><a title="Line 591: Conditional coverage 50% (1/2).">&nbsp;29</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 591: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (rowEle == getOdfElement()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;592</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> result + mnRepeatedIndex;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;593</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;594</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; result += rowEle.getTableNumberRowsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLine">&nbsp;595</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;596</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;597</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;598</td> <td class="nbHitsCovered"><a title="Line 598: Conditional coverage 100% (2/2).">&nbsp;9175</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 598: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (n <span class="keyword">instanceof</span> TableTableRowElement) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;599</td> <td class="nbHitsCovered">&nbsp;3735</td> <td class="src"><pre class="src">&nbsp; rowEle = (TableTableRowElement) n;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;600</td> <td class="nbHitsCovered"><a title="Line 600: Conditional coverage 100% (2/2).">&nbsp;3735</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 600: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (rowEle == getOdfElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;601</td> <td class="nbHitsCovered">&nbsp;888</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;602</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;603</td> <td class="nbHitsCovered">&nbsp;2847</td> <td class="src"><pre class="src">&nbsp; result += ((TableTableRowElement) n).getTableNumberRowsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLine">&nbsp;604</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;605</td> <td class="nbHitsCovered">&nbsp;8287</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;606</td> <td class="nbHitsCovered">&nbsp;888</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> result + mnRepeatedIndex;</pre></td></tr>
<tr> <td class="numLine">&nbsp;607</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;608</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;609</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// insert count number of cell from index</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;610</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// this is called after insertColumn has been called by Table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;611</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> insertCellByIndex(<span class="keyword">int</span> index, <span class="keyword">int</span> count) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;612</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLine">&nbsp;613</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// all insert the real cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;614</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;615</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; List&lt;CellCoverInfo&gt; coverList = table.getCellCoverInfos(0, 0, table.getColumnCount() - 1,</pre></td></tr>
<tr> <td class="numLine">&nbsp;616</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; table.getRowCount() - 1);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;617</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> rowIndex = getRowIndex();</pre></td></tr>
<tr> <td class="numLine">&nbsp;618</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; Cell preCell;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;619</td> <td class="nbHitsUncovered"><a title="Line 619: Conditional coverage 50% (1/2).">&nbsp;7</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 619: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (index == 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;620</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; preCell = table.getOwnerCellByPosition(coverList, 0, rowIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;621</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;622</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; preCell = table.getOwnerCellByPosition(coverList, index - 1, rowIndex);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;623</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;624</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; Cell nextCell = getCellByIndex(index);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;625</td> <td class="nbHitsUncovered"><a title="Line 625: Conditional coverage 50% (1/2).">&nbsp;7</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 625: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (nextCell == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;626</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; nextCell = getCellByIndex(getCellCount() - 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;627</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;628</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// add a single cell element to describe cells.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;629</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; OdfName tableCellNameSpace = OdfName.newName(OdfDocumentNamespace.TABLE, <span class="string">"table-cell"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;630</td> <td class="nbHitsUncovered"><a title="Line 630: Conditional coverage 50% (1/2).">&nbsp;7</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 630: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (table.isUseRepeat()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;631</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement newCell = (TableTableCellElement) OdfXMLFactory.newOdfElement(</pre></td></tr>
<tr> <td class="numLine">&nbsp;632</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; (OdfFileDom) maRowElement.getOwnerDocument(), tableCellNameSpace);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;633</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; newCell.setTableStyleNameAttribute(preCell.getStyleName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;634</td> <td class="nbHitsUncovered"><a title="Line 634: Conditional coverage 50% (1/2).">&nbsp;7</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 634: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (count &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;635</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; newCell.setTableNumberColumnsRepeatedAttribute(count);</pre></td></tr>
<tr> <td class="numLine">&nbsp;636</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;637</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; maRowElement.insertBefore(newCell, nextCell.getOdfElement());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;638</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;639</td> <td class="nbHitsUncovered"><a title="Line 639: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 639: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = index + count; i &gt; index; i--) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;640</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCell = (TableTableCellElement) OdfXMLFactory.newOdfElement(</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;641</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; (OdfFileDom) maRowElement.getOwnerDocument(), tableCellNameSpace);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;642</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell.setTableStyleNameAttribute(preCell.getStyleName());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;643</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; maRowElement.insertBefore(newCell, nextCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;644</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;645</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;646</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;647</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;648</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// note: we have to use this method to modify the row repeated number</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;649</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// in order to update mnRepeatedIndex of the each row</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;650</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> setRowsRepeatedNumber(<span class="keyword">int</span> num) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;651</td> <td class="nbHitsCovered">&nbsp;31</td> <td class="src"><pre class="src">&nbsp; mRowsRepeatedNumber = num;</pre></td></tr>
<tr> <td class="numLine">&nbsp;652</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update the mnRepeatedIndex for the ever repeated row</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;653</td> <td class="nbHitsCovered">&nbsp;31</td> <td class="src"><pre class="src">&nbsp; maRowElement.setTableNumberRowsRepeatedAttribute(Integer.valueOf(num));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;654</td> <td class="nbHitsCovered">&nbsp;31</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;655</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;656</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> getRowsRepeatedNumber() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;657</td> <td class="nbHitsCovered"><a title="Line 657: Conditional coverage 100% (2/2).">&nbsp;326228</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 657: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mRowsRepeatedNumber &lt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;658</td> <td class="nbHitsCovered">&nbsp;1480</td> <td class="src"><pre class="src">&nbsp; Integer count = maRowElement.getTableNumberRowsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;659</td> <td class="nbHitsUncovered"><a title="Line 659: Conditional coverage 50% (1/2).">&nbsp;1480</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 659: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (count == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;660</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; mRowsRepeatedNumber = 1;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;661</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;662</td> <td class="nbHitsCovered">&nbsp;1480</td> <td class="src"><pre class="src">&nbsp; mRowsRepeatedNumber = count.intValue();</pre></td></tr>
<tr> <td class="numLine">&nbsp;663</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;664</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;665</td> <td class="nbHitsCovered">&nbsp;326228</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> mRowsRepeatedNumber;</pre></td></tr>
<tr> <td class="numLine">&nbsp;666</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;667</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;668</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/****************************</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;669</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Moved from Table</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;670</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine">&nbsp;671</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;672</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> insertCellElementBefore(OdfElement parentEle, TableTableCellElementBase positionEle,</pre></td></tr>
<tr> <td class="numLine">&nbsp;673</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; TableTableCellElementBase cellEle, <span class="keyword">int</span> count) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;674</td> <td class="nbHitsCovered">&nbsp;136</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> isDescribedBySingleElement = getTable().isUseRepeat();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;675</td> <td class="nbHitsUncovered"><a title="Line 675: Conditional coverage 50% (1/2).">&nbsp;136</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 675: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (positionEle == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;676</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; parentEle.appendChild(cellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;677</td> <td class="nbHitsUncovered"><a title="Line 677: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 677: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (isDescribedBySingleElement &amp;&amp; count &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;678</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cellEle.setTableNumberColumnsRepeatedAttribute(count);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;679</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;680</td> <td class="nbHitsUncovered"><a title="Line 680: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 680: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 1; i &lt; count; i++) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;681</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; parentEle.appendChild(cellEle.cloneNode(<span class="keyword">true</span>));</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;682</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;683</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;684</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;685</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;686</td> <td class="nbHitsCovered">&nbsp;136</td> <td class="src"><pre class="src">&nbsp; parentEle.insertBefore(cellEle, positionEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;687</td> <td class="nbHitsCovered"><a title="Line 687: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;136</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 687: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (isDescribedBySingleElement &amp;&amp; count &gt; 1) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;688</td> <td class="nbHitsCovered">&nbsp;72</td> <td class="src"><pre class="src">&nbsp; cellEle.setTableNumberColumnsRepeatedAttribute(count);</pre></td></tr>
<tr> <td class="numLine">&nbsp;689</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;690</td> <td class="nbHitsCovered"><a title="Line 690: Conditional coverage 100% (2/2).">&nbsp;98</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 690: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 1; i &lt; count; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;691</td> <td class="nbHitsCovered">&nbsp;34</td> <td class="src"><pre class="src">&nbsp; parentEle.insertBefore(cellEle.cloneNode(<span class="keyword">true</span>), positionEle);</pre></td></tr>
<tr> <td class="numLine">&nbsp;692</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;693</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;694</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;695</td> <td class="nbHitsCovered">&nbsp;136</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;696</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;697</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> insertCellBefore(Cell refCell, Cell positionCell, <span class="keyword">int</span> count) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;698</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;699</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; Table ownerTable = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;700</td> <td class="nbHitsUncovered"><a title="Line 700: Conditional coverage 50% (1/2).">&nbsp;142</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 700: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (positionCell == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;701</td> <td class="nbHitsUncovered"><a title="Line 701: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 701: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (refCell.isCoveredElement()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;702</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement coverCellEle = (TableTableCellElement) refCell.getCoverCell().getOdfElement();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;703</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) coverCellEle.cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;704</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(newCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;705</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; insertCellElementBefore(getOdfElement(), <span class="keyword">null</span>, newCellEle, count);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;706</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;707</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement endCellEle = (TableTableCellElement) refCell.getOdfElement().cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;708</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(endCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;709</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().appendChild(endCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;710</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; reviseStyleFromLastColumnToMedium(refCell);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;711</td> <td class="nbHitsUncovered"><a title="Line 711: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 711: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (count &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;712</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) refCell.getOdfElement().cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;713</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(newCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;714</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; insertCellElementBefore(getOdfElement(), endCellEle, newCellEle, count - 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;715</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;716</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;717</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;718</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement coverRefCellEle = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;719</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement coverPosCellEle = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;720</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; Cell coverRefCell = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;721</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// get ref cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;722</td> <td class="nbHitsCovered"><a title="Line 722: Conditional coverage 100% (2/2).">&nbsp;142</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 722: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (refCell.isCoveredElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;723</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; coverRefCell = refCell.getCoverCell();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;724</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; coverRefCellEle = (TableTableCellElement) coverRefCell.getOdfElement();</pre></td></tr>
<tr> <td class="numLine">&nbsp;725</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;726</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// get position cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;727</td> <td class="nbHitsCovered"><a title="Line 727: Conditional coverage 100% (2/2).">&nbsp;142</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 727: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (positionCell.isCoveredElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;728</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; coverPosCellEle = (TableTableCellElement) positionCell.getCoverCell().getOdfElement();</pre></td></tr>
<tr> <td class="numLine">&nbsp;729</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;730</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// is cover cell and have the same cover cell</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;731</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// position cell is cover cell and refer cell covers position cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;732</td> <td class="nbHitsUncovered"><a title="Line 732: Conditional coverage 87% (7/8) [each condition: 100%, 100%, 100%, 50%].">&nbsp;142</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 732: Conditional coverage 87% (7/8) [each condition: 100%, 100%, 100%, 50%]."> <span class="keyword">if</span> ((coverRefCellEle != <span class="keyword">null</span> &amp;&amp; coverRefCellEle == coverPosCellEle)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;733</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || (coverPosCellEle != <span class="keyword">null</span> &amp;&amp; refCell.getOdfElement() == coverPosCellEle)) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;734</td> <td class="nbHitsCovered"><a title="Line 734: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 734: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (coverRefCellEle == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;735</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; coverRefCellEle = (TableTableCellElement) refCell.getOdfElement();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;736</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; coverRefCell = refCell;</pre></td></tr>
<tr> <td class="numLine">&nbsp;737</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;738</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; TableCoveredTableCellElement newCellEle = (TableCoveredTableCellElement) OdfXMLFactory.newOdfElement(</pre></td></tr>
<tr> <td class="numLine">&nbsp;739</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; (OdfFileDom) ownerTable.getOdfElement().getOwnerDocument(), OdfName.newName(</pre></td></tr>
<tr> <td class="numLine">&nbsp;740</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; OdfDocumentNamespace.TABLE, <span class="string">"covered-table-cell"</span>));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;741</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; insertCellElementBefore(getOdfElement(), positionCell.getOdfElement(), newCellEle, count);</pre></td></tr>
<tr> <td class="numLine">&nbsp;742</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the first cover line</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;743</td> <td class="nbHitsCovered"><a title="Line 743: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 743: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (refCell.getRowIndex() == coverRefCell.getRowIndex()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;744</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; coverRefCell.setColumnSpannedNumber(coverRefCell.getColumnSpannedNumber() + count);</pre></td></tr>
<tr> <td class="numLine">&nbsp;745</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;746</td> <td class="nbHitsCovered"><a title="Line 746: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 746: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (coverRefCellEle != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;747</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// This is a cover cell</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;748</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;749</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the first cover line</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;750</td> <td class="nbHitsUncovered"><a title="Line 750: Conditional coverage 50% (1/2).">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 750: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (refCell.getRowIndex() == coverRefCell.getRowIndex()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;751</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) coverRefCellEle.cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;752</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(newCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;753</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; insertCellElementBefore(getOdfElement(), positionCell.getOdfElement(), newCellEle, count);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;754</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> { <span class="comment">// the second and other cover line</span></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;755</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; TableCoveredTableCellElement newCellEle = (TableCoveredTableCellElement) refCell.getOdfElement()</pre></td></tr>
<tr> <td class="numLine">&nbsp;756</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;757</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"number-columns-repeated"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;758</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; insertCellElementBefore(getOdfElement(), positionCell.getOdfElement(), newCellEle, count);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;759</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;760</td> <td class="nbHitsUncovered"><a title="Line 760: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;137</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 760: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> ((refCell.getOdfElement() == positionCell.getOdfElement())</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;761</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; &amp;&amp; (refCell.getColumnsRepeatedNumber() &gt; 1)) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;762</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// repeated number</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;763</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> repeatNum = refCell.getColumnsRepeatedNumber();</pre></td></tr>
<tr> <td class="numLine">&nbsp;764</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update the cell that after the ref cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;765</td> <td class="nbHitsCovered"><a title="Line 765: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 765: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = repeatNum - 1; i &gt; refCell.mnRepeatedColIndex; i--) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;766</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; ownerTable.updateCellRepository(refCell.getOdfElement(), i, refCell.mnRepeatedRowIndex, refCell</pre></td></tr>
<tr> <td class="numLine">&nbsp;767</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getOdfElement(), i + count, refCell.mnRepeatedRowIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;768</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;769</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; refCell.getOdfElement().setTableNumberColumnsRepeatedAttribute(repeatNum + count);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;770</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;771</td> <td class="nbHitsCovered">&nbsp;131</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) refCell.getOdfElement().cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;772</td> <td class="nbHitsCovered">&nbsp;131</td> <td class="src"><pre class="src">&nbsp; cleanCell(newCellEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;773</td> <td class="nbHitsCovered">&nbsp;131</td> <td class="src"><pre class="src">&nbsp; insertCellElementBefore(getOdfElement(), positionCell.getOdfElement(), newCellEle, count);</pre></td></tr>
<tr> <td class="numLine">&nbsp;774</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;775</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;776</td> <td class="nbHitsCovered">&nbsp;142</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;777</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;778</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;779</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This method is to insert a cell same as refCell before positionCell.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;780</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * &lt;p&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;781</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This method is invoked by appendColumn and insertColumnBefore.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;782</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;783</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; Cell insertCellBefore(Cell refCell, Cell positionCell) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;784</td> <td class="nbHitsCovered">&nbsp;218</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;785</td> <td class="nbHitsCovered">&nbsp;218</td> <td class="src"><pre class="src">&nbsp; Cell newCell = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;786</td> <td class="nbHitsCovered">&nbsp;218</td> <td class="src"><pre class="src">&nbsp; Table ownerTable = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;787</td> <td class="nbHitsUncovered"><a title="Line 787: Conditional coverage 50% (1/2).">&nbsp;218</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 787: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (positionCell == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;788</td> <td class="nbHitsCovered"><a title="Line 788: Conditional coverage 100% (2/2).">&nbsp;218</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 788: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (refCell.isCoveredElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;789</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement coverCellEle = (TableTableCellElement) refCell.getCoverCell().getOdfElement();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;790</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) coverCellEle.cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;791</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; cleanCell(newCellEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;792</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; getOdfElement().appendChild(newCellEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;793</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;794</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;795</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) refCell.getOdfElement().cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;796</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; cleanCell(newCellEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;797</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; getOdfElement().appendChild(newCellEle);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;798</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;799</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; reviseStyleFromLastColumnToMedium(refCell);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;800</td> <td class="nbHitsCovered">&nbsp;217</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;801</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;802</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement coverRefCellEle = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;803</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement coverPosCellEle = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;804</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Cell coverRefCell = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;805</td> <td class="nbHitsUncovered"><a title="Line 805: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 805: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (refCell.isCoveredElement()) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;806</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// get ref cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;807</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverRefCell = refCell.getCoverCell();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;808</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverRefCellEle = (TableTableCellElement) coverRefCell.getOdfElement();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;809</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;810</td> <td class="nbHitsUncovered"><a title="Line 810: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 810: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (positionCell.isCoveredElement()) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;811</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// get position cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;812</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverPosCellEle = (TableTableCellElement) positionCell.getCoverCell().getOdfElement();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;813</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;814</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// is cover cell and have the same cover cell</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;815</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// position cell is cover cell and refer cell covers position cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;816</td> <td class="nbHitsUncovered"><a title="Line 816: Conditional coverage 0% (0/8) [each condition: 0%, 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 816: Conditional coverage 0% (0/8) [each condition: 0%, 0%, 0%, 0%]."> <span class="keyword">if</span> ((coverRefCellEle != <span class="keyword">null</span> &amp;&amp; coverRefCellEle == coverPosCellEle)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;817</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || (coverPosCellEle != <span class="keyword">null</span> &amp;&amp; refCell.getOdfElement() == coverPosCellEle)) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;818</td> <td class="nbHitsUncovered"><a title="Line 818: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 818: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (coverRefCellEle == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;819</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverRefCellEle = (TableTableCellElement) refCell.getOdfElement();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;820</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverRefCell = refCell;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;821</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;822</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableCoveredTableCellElement newCellEle = (TableCoveredTableCellElement) OdfXMLFactory.newOdfElement(</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;823</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; (OdfFileDom) ownerTable.getOdfElement().getOwnerDocument(), OdfName.newName(</pre></td></tr>
<tr> <td class="numLine">&nbsp;824</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; OdfDocumentNamespace.TABLE, <span class="string">"covered-table-cell"</span>));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;825</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().insertBefore(newCellEle, positionCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;826</td> <td class="nbHitsUncovered"><a title="Line 826: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 826: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (refCell.getRowIndex() == coverRefCell.getRowIndex()) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;827</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the first cover line</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;828</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverRefCell.setColumnSpannedNumber(coverRefCell.getColumnSpannedNumber() + 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;829</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;830</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;831</td> <td class="nbHitsUncovered"><a title="Line 831: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 831: Conditional coverage 0% (0/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (coverRefCellEle != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;832</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// This is cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;833</td> <td class="nbHitsUncovered"><a title="Line 833: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 833: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (refCell.getRowIndex() == coverRefCell.getRowIndex()) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;834</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// the first cover line</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;835</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) coverRefCellEle.cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;836</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(newCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;837</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().insertBefore(newCellEle, positionCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;838</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;839</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> { <span class="comment">// the second and other cover line</span></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;840</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableCoveredTableCellElement newCellEle = (TableCoveredTableCellElement) refCell.getOdfElement()</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;841</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .cloneNode(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;842</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"number-columns-repeated"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;843</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().insertBefore(newCellEle, positionCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;844</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;845</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;846</td> <td class="nbHitsUncovered"><a title="Line 846: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 846: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> } <span class="keyword">else</span> <span class="keyword">if</span> ((refCell.getOdfElement() == positionCell.getOdfElement())</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;847</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; &amp;&amp; (refCell.getColumnsRepeatedNumber() &gt; 1)) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;848</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// repeated number</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;849</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;850</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">int</span> repeatNum = refCell.getColumnsRepeatedNumber();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;851</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update the cell that after the ref cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;852</td> <td class="nbHitsUncovered"><a title="Line 852: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 852: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = repeatNum - 1; i &gt; refCell.mnRepeatedColIndex; i--) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;853</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; ownerTable.updateCellRepository(refCell.getOdfElement(), i, refCell.mnRepeatedRowIndex, refCell</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;854</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; .getOdfElement(), i + 1, refCell.mnRepeatedRowIndex);</pre></td></tr>
<tr> <td class="numLine">&nbsp;855</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;856</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; refCell.getOdfElement().setTableNumberColumnsRepeatedAttribute(repeatNum + 1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;857</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell = ownerTable.getCellInstance(refCell.getOdfElement(), refCell.mnRepeatedColIndex + 1,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;858</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; refCell.mnRepeatedRowIndex);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;859</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;860</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) refCell.getOdfElement().cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;861</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cleanCell(newCellEle);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;862</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().insertBefore(newCellEle, positionCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;863</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCell = ownerTable.getCellInstance(newCellEle, 0, 0);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;864</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;865</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;866</td> <td class="nbHitsCovered">&nbsp;218</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> newCell;</pre></td></tr>
<tr> <td class="numLine">&nbsp;867</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;868</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;869</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> cleanCell(TableTableCellElement newCellEle) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;870</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.OFFICE.getUri(), <span class="string">"value"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;871</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.OFFICE.getUri(), <span class="string">"date-value"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;872</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.OFFICE.getUri(), <span class="string">"time-value"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;873</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.OFFICE.getUri(), <span class="string">"boolean-value"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;874</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.OFFICE.getUri(), <span class="string">"string-value"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;875</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"formula"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;876</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"number-columns-repeated"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;877</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"number-columns-spanned"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;878</td> <td class="nbHitsCovered"><a title="Line 878: Conditional coverage 100% (2/2).">&nbsp;349</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 878: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!getTable().isCellStyleInheritance()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;879</td> <td class="nbHitsCovered">&nbsp;18</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeAttributeNS(OdfDocumentNamespace.TABLE.getUri(), <span class="string">"style-name"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;880</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;881</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; Node n = newCellEle.getFirstChild();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;882</td> <td class="nbHitsCovered"><a title="Line 882: Conditional coverage 100% (2/2).">&nbsp;469</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 882: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (n != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;883</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; Node m = n.getNextSibling();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;884</td> <td class="nbHitsUncovered"><a title="Line 884: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%].">&nbsp;120</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 884: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%]."> <span class="keyword">if</span> (n <span class="keyword">instanceof</span> TextPElement || n <span class="keyword">instanceof</span> TextHElement || n <span class="keyword">instanceof</span> TextListElement) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;885</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; newCellEle.removeChild(n);</pre></td></tr>
<tr> <td class="numLine">&nbsp;886</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;887</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; n = m;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;888</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;889</td> <td class="nbHitsCovered">&nbsp;349</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;890</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;891</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> reviseStyleFromLastColumnToMedium(Cell oldLastCell) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;892</td> <td class="nbHitsCovered"><a title="Line 892: Conditional coverage 100% (2/2).">&nbsp;217</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 892: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (getTable().mIsSpreadsheet) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;893</td> <td class="nbHitsCovered">&nbsp;109</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;894</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;895</td> <td class="nbHitsCovered">&nbsp;108</td> <td class="src"><pre class="src">&nbsp; OdfStyle styleEle = oldLastCell.getStyleHandler().getStyleElementForWrite();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;896</td> <td class="nbHitsUncovered"><a title="Line 896: Conditional coverage 50% (1/2).">&nbsp;108</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 896: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (styleEle != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;897</td> <td class="nbHitsCovered"><a title="Line 897: Conditional coverage 100% (2/2).">&nbsp;108</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 897: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (oldLastCell.getRowIndex() == 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;898</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; Table.setLeftTopBorderStyleProperties(styleEle);</pre></td></tr>
<tr> <td class="numLine">&nbsp;899</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;900</td> <td class="nbHitsCovered">&nbsp;93</td> <td class="src"><pre class="src">&nbsp; Table.setLeftBottomBorderStylesProperties(styleEle);</pre></td></tr>
<tr> <td class="numLine">&nbsp;901</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;902</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;903</td> <td class="nbHitsCovered">&nbsp;108</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;904</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;905</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">void</span> reviseStyleFromMediumColumnToLast(Cell newLastCell) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;906</td> <td class="nbHitsUncovered"><a title="Line 906: Conditional coverage 50% (1/2).">&nbsp;9</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 906: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (getTable().mIsSpreadsheet) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;907</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;908</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;909</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; OdfStyle styleEle = newLastCell.getStyleHandler().getStyleElementForWrite();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;910</td> <td class="nbHitsUncovered"><a title="Line 910: Conditional coverage 50% (1/2).">&nbsp;9</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 910: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (styleEle != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;911</td> <td class="nbHitsCovered"><a title="Line 911: Conditional coverage 100% (2/2).">&nbsp;9</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 911: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (newLastCell.getRowIndex() == 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;912</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; Table.setRightTopBorderStyleProperties(styleEle);</pre></td></tr>
<tr> <td class="numLine">&nbsp;913</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;914</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; Table.setRightBottomBorderStylesProperties(styleEle);</pre></td></tr>
<tr> <td class="numLine">&nbsp;915</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;916</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;917</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;918</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;919</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;920</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This method is invoked by removeColumnByIndex So we don't need to care</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;921</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * about the covered and spanned cell in a same column</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;922</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;923</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> removeCellByIndex(<span class="keyword">int</span> nStart, <span class="keyword">int</span> nCount) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;924</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; splitRepeatedRows();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;925</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; Cell startCell = getCellByIndex(nStart);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;926</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; Cell coverCell = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;927</td> <td class="nbHitsCovered"><a title="Line 927: Conditional coverage 100% (2/2).">&nbsp;29</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 927: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (startCell.isCoveredElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;928</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; coverCell = startCell.getCoverCellInSameRow();</pre></td></tr>
<tr> <td class="numLine">&nbsp;929</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;930</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> index = nStart;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;931</td> <td class="nbHitsCovered"><a title="Line 931: Conditional coverage 100% (2/2).">&nbsp;76</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 931: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; nCount; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;932</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; Cell cell = getCellByIndex(index);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;933</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; cell.splitRepeatedCells();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;934</td> <td class="nbHitsCovered"><a title="Line 934: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;47</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 934: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (cell.isCoveredElement() &amp;&amp; coverCell != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;935</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; coverCell.setColumnSpannedNumber(coverCell.getColumnSpannedNumber() - cell.getColumnsRepeatedNumber());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;936</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; maRowElement.removeChild(cell.getOdfElement());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;937</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; i += cell.getColumnsRepeatedNumber() - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;938</td> <td class="nbHitsCovered"><a title="Line 938: Conditional coverage 100% (2/2).">&nbsp;46</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 938: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (cell.isCoveredElement()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;939</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; maRowElement.removeChild(cell.getOdfElement());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;940</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; i += cell.getColumnsRepeatedNumber() - 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;941</td> <td class="nbHitsUncovered"><a title="Line 941: Conditional coverage 50% (1/2).">&nbsp;39</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 941: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (!cell.isCoveredElement()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;942</td> <td class="nbHitsUncovered"><a title="Line 942: Conditional coverage 50% (1/2).">&nbsp;39</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 942: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (i + cell.getColumnSpannedNumber() &lt;= nCount) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;943</td> <td class="nbHitsCovered">&nbsp;39</td> <td class="src"><pre class="src">&nbsp; maRowElement.removeChild(cell.getOdfElement());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;944</td> <td class="nbHitsCovered">&nbsp;39</td> <td class="src"><pre class="src">&nbsp; i += cell.getColumnSpannedNumber() - 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;945</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;946</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; removeCellByIndex(index + 1, nCount - i);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;947</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;948</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;949</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;950</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> clmnum = getTable().getColumnCount();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;951</td> <td class="nbHitsCovered"><a title="Line 951: Conditional coverage 100% (2/2).">&nbsp;29</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 951: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (nStart + nCount &gt;= clmnum) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;952</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; Cell cell = getCellByIndex(nStart - 1);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;953</td> <td class="nbHitsCovered">&nbsp;9</td> <td class="src"><pre class="src">&nbsp; reviseStyleFromMediumColumnToLast(cell);</pre></td></tr>
<tr> <td class="numLine">&nbsp;954</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;955</td> <td class="nbHitsCovered">&nbsp;29</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;956</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;957</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">void</span> removeAllCellsRelationship() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;958</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; Table table = getTable();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;959</td> <td class="nbHitsCovered"><a title="Line 959: Conditional coverage 100% (2/2).">&nbsp;16</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 959: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; table.getColumnCount();) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;960</td> <td class="nbHitsCovered">&nbsp;72</td> <td class="src"><pre class="src">&nbsp; Cell cell = getCellByIndex(i);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;961</td> <td class="nbHitsUncovered"><a title="Line 961: Conditional coverage 50% (1/2).">&nbsp;72</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 961: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cell.isCoveredElement()) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;962</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// cell is a cover cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;963</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Cell coverCell = cell.getCoverCellInSameColumn();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;964</td> <td class="nbHitsUncovered"><a title="Line 964: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 964: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (coverCell != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;965</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coverCell.setRowSpannedNumber(coverCell.getRowSpannedNumber() - getRowsRepeatedNumber());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;966</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;967</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; getOdfElement().removeChild(cell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;968</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; } <span class="keyword">else</span> {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;969</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// cell is not a cover cell and it span more rows</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;970</td> <td class="nbHitsUncovered"><a title="Line 970: Conditional coverage 50% (1/2).">&nbsp;72</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 970: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cell.getRowSpannedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;971</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// split the cell under this cell to a single cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;972</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Row nextRow = table.getRowByIndex(getRowIndex() + 1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;973</td> <td class="nbHitsUncovered"><a title="Line 973: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 973: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (nextRow.getRowsRepeatedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;974</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; nextRow.splitRepeatedRows();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;975</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;976</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; Cell coveredCell = table.getCellByPosition(cell.getColumnIndex(), getRowIndex() + 1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;977</td> <td class="nbHitsUncovered"><a title="Line 977: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 977: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (coveredCell.getColumnsRepeatedNumber() &gt; 1) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;978</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coveredCell.splitRepeatedCells();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;979</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coveredCell = table.getCellByPosition(cell.getColumnIndex(), getRowIndex() + 1);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;980</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;981</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// create a new cell</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;982</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; TableTableCellElement newCellEle = (TableTableCellElement) cell.getOdfElement().cloneNode(<span class="keyword">true</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;983</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; newCellEle.setTableNumberRowsSpannedAttribute(cell.getRowSpannedNumber() - getRowsRepeatedNumber());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;984</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// update repository</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;985</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">int</span> startRow = coveredCell.getRowIndex();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;986</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">int</span> endRow = coveredCell.getRowIndex() + newCellEle.getTableNumberRowsSpannedAttribute();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;987</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">int</span> startClm = coveredCell.getColumnIndex();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;988</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">int</span> endClm = coveredCell.getColumnIndex() + newCellEle.getTableNumberColumnsSpannedAttribute()</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;989</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; * newCellEle.getTableNumberColumnsRepeatedAttribute();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;990</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; coveredCell.getOdfElement().getParentNode().replaceChild(newCellEle, coveredCell.getOdfElement());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;991</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; table.updateRepositoryWhenCellElementChanged(startRow, endRow, startClm, endClm, newCellEle);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;992</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;993</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;994</td> <td class="nbHitsCovered">&nbsp;72</td> <td class="src"><pre class="src">&nbsp; i += cell.getColumnSpannedNumber();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;995</td> <td class="nbHitsCovered">&nbsp;72</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;996</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;997</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</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 22.02.13 10:35.</div>
</body>
</html>