<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>CategoryExplorerModel xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> java.awt.AWTEventMulticaster;
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Enumeration;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeModel;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeNode;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment">/**</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * CategoryExplorerModel</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> *</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * @author Robert Shaw</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @author Brent Sprecher</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @author Richard Hurst</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> */</em>
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>  <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em>
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> <strong class="jxr_keyword">extends</strong> DefaultTreeModel {
<a name="43" href="#43">43</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -3413887384316015901L;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="46" href="#46">46</a>    <em class="jxr_comment">//   Constants:</em>
<a name="47" href="#47">47</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="50" href="#50">50</a>    <em class="jxr_comment">//   Protected Variables:</em>
<a name="51" href="#51">51</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _renderFatal = <strong class="jxr_keyword">true</strong>;
<a name="54" href="#54">54</a>    <strong class="jxr_keyword">protected</strong> ActionListener _listener = <strong class="jxr_keyword">null</strong>;
<a name="55" href="#55">55</a>    <strong class="jxr_keyword">protected</strong> ActionEvent _event = <strong class="jxr_keyword">new</strong> ActionEvent(<strong class="jxr_keyword">this</strong>,
<a name="56" href="#56">56</a>        ActionEvent.ACTION_PERFORMED,
<a name="57" href="#57">57</a>        <span class="jxr_string">"Nodes Selection changed"</span>);
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="60" href="#60">60</a>    <em class="jxr_comment">//   Private Variables:</em>
<a name="61" href="#61">61</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="64" href="#64">64</a>    <em class="jxr_comment">//   Constructors:</em>
<a name="65" href="#65">65</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>    <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) {
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">super</strong>(node);
<a name="69" href="#69">69</a>    }
<a name="70" href="#70">70</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="71" href="#71">71</a>    <em class="jxr_comment">//   Public Methods:</em>
<a name="72" href="#72">72</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLogRecord(<a href="../../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> lr) {
<a name="75" href="#75">75</a>      <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(lr.getCategory());
<a name="76" href="#76">76</a>      addCategory(path); <em class="jxr_comment">// create category path if it is new</em>
<a name="77" href="#77">77</a>      <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = getCategoryNode(path);
<a name="78" href="#78">78</a>      node.addRecord(); <em class="jxr_comment">// update category node</em>
<a name="79" href="#79">79</a>      <strong class="jxr_keyword">if</strong> (_renderFatal &amp;&amp; lr.isFatal()) {
<a name="80" href="#80">80</a>        TreeNode[] nodes = getPathToRoot(node);
<a name="81" href="#81">81</a>        <strong class="jxr_keyword">int</strong> len = nodes.length;
<a name="82" href="#82">82</a>        <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent;
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>        <em class="jxr_comment">// i = 0 gives root node</em>
<a name="85" href="#85">85</a>        <em class="jxr_comment">// skip node and root, loop through "parents" in between</em>
<a name="86" href="#86">86</a>        <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; len - 1; i++) {
<a name="87" href="#87">87</a>          parent = (CategoryNode) nodes[i];
<a name="88" href="#88">88</a>          parent.setHasFatalChildren(<strong class="jxr_keyword">true</strong>);
<a name="89" href="#89">89</a>          nodeChanged(parent);
<a name="90" href="#90">90</a>        }
<a name="91" href="#91">91</a>        node.setHasFatalRecords(<strong class="jxr_keyword">true</strong>);
<a name="92" href="#92">92</a>        nodeChanged(node);
<a name="93" href="#93">93</a>      }
<a name="94" href="#94">94</a>    }
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>    <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getRootCategoryNode() {
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">return</strong> (CategoryNode) getRoot();
<a name="98" href="#98">98</a>    }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getCategoryNode(String category) {
<a name="101" href="#101">101</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(category);
<a name="102" href="#102">102</a>     <strong class="jxr_keyword">return</strong> (getCategoryNode(path));
<a name="103" href="#103">103</a>   }
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>   <em class="jxr_javadoccomment">/**</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">   * returns null if no CategoryNode exists.</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">   */</em>
<a name="108" href="#108">108</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getCategoryNode(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) {
<a name="109" href="#109">109</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot();
<a name="110" href="#110">110</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em>
<a name="111" href="#111">111</a> 
<a name="112" href="#112">112</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) {
<a name="113" href="#113">113</a>       <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i);
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>       <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em>
<a name="116" href="#116">116</a>       Enumeration children = parent.children();
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>       <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false;
<a name="119" href="#119">119</a>       <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) {
<a name="120" href="#120">120</a>         <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement();
<a name="121" href="#121">121</a>         String title = node.getTitle().toLowerCase();
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>         String pathLC = element.getTitle().toLowerCase();
<a name="124" href="#124">124</a>         <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) {
<a name="125" href="#125">125</a>           categoryAlreadyExists = <strong class="jxr_keyword">true</strong>;
<a name="126" href="#126">126</a>           <em class="jxr_comment">// This is now the new parent node.</em>
<a name="127" href="#127">127</a>           parent = node;
<a name="128" href="#128">128</a>           <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// out of the while, and back to the for().</em>
<a name="129" href="#129">129</a>         }
<a name="130" href="#130">130</a>       }
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>       <strong class="jxr_keyword">if</strong> (categoryAlreadyExists == false) {
<a name="133" href="#133">133</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// Didn't find the Node.</em>
<a name="134" href="#134">134</a>       }
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     <strong class="jxr_keyword">return</strong> (parent);
<a name="138" href="#138">138</a>   }
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>   <em class="jxr_javadoccomment">/**</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">   * @return true if all the nodes in the specified CategoryPath are</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">   * selected.</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">   */</em>
<a name="144" href="#144">144</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isCategoryPathActive(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) {
<a name="145" href="#145">145</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot();
<a name="146" href="#146">146</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em>
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">boolean</strong> active = false;
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) {
<a name="150" href="#150">150</a>       <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i);
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>       <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em>
<a name="153" href="#153">153</a>       Enumeration children = parent.children();
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>       <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false;
<a name="156" href="#156">156</a>       active = false;
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>       <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) {
<a name="159" href="#159">159</a>         <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement();
<a name="160" href="#160">160</a>         String title = node.getTitle().toLowerCase();
<a name="161" href="#161">161</a> 
<a name="162" href="#162">162</a>         String pathLC = element.getTitle().toLowerCase();
<a name="163" href="#163">163</a>         <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) {
<a name="164" href="#164">164</a>           categoryAlreadyExists = <strong class="jxr_keyword">true</strong>;
<a name="165" href="#165">165</a>           <em class="jxr_comment">// This is now the new parent node.</em>
<a name="166" href="#166">166</a>           parent = node;
<a name="167" href="#167">167</a> 
<a name="168" href="#168">168</a>           <strong class="jxr_keyword">if</strong> (parent.isSelected()) {
<a name="169" href="#169">169</a>             active = <strong class="jxr_keyword">true</strong>;
<a name="170" href="#170">170</a>           }
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>           <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// out of the while, and back to the for().</em>
<a name="173" href="#173">173</a>         }
<a name="174" href="#174">174</a>       }
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>       <strong class="jxr_keyword">if</strong> (active == false || categoryAlreadyExists == false) {
<a name="177" href="#177">177</a>         <strong class="jxr_keyword">return</strong> false;
<a name="178" href="#178">178</a>       }
<a name="179" href="#179">179</a>     }
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     <strong class="jxr_keyword">return</strong> (active);
<a name="182" href="#182">182</a>   }
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>   <em class="jxr_javadoccomment">/**</em>
<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">   * &lt;p&gt;Method altered by Richard Hurst such that it returns the CategoryNode</em>
<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">   * corresponding to the CategoryPath&lt;/p&gt;</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">   *</em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">   * @param path category path.</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">   * @return CategoryNode</em>
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">   */</em>
<a name="192" href="#192">192</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> addCategory(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) {
<a name="193" href="#193">193</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot();
<a name="194" href="#194">194</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em>
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) {
<a name="197" href="#197">197</a>       <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i);
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>       <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em>
<a name="200" href="#200">200</a>       Enumeration children = parent.children();
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a>       <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false;
<a name="203" href="#203">203</a>       <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) {
<a name="204" href="#204">204</a>         <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement();
<a name="205" href="#205">205</a>         String title = node.getTitle().toLowerCase();
<a name="206" href="#206">206</a> 
<a name="207" href="#207">207</a>         String pathLC = element.getTitle().toLowerCase();
<a name="208" href="#208">208</a>         <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) {
<a name="209" href="#209">209</a>           categoryAlreadyExists = <strong class="jxr_keyword">true</strong>;
<a name="210" href="#210">210</a>           <em class="jxr_comment">// This is now the new parent node.</em>
<a name="211" href="#211">211</a>           parent = node;
<a name="212" href="#212">212</a>           <strong class="jxr_keyword">break</strong>;
<a name="213" href="#213">213</a>         }
<a name="214" href="#214">214</a>       }
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>       <strong class="jxr_keyword">if</strong> (categoryAlreadyExists == false) {
<a name="217" href="#217">217</a>         <em class="jxr_comment">// We need to add the node.</em>
<a name="218" href="#218">218</a>         <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> newNode = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a>(element.getTitle());
<a name="219" href="#219">219</a> 
<a name="220" href="#220">220</a>         <em class="jxr_comment">//This method of adding a new node cause parent roots to be</em>
<a name="221" href="#221">221</a>         <em class="jxr_comment">// collapsed.</em>
<a name="222" href="#222">222</a>         <em class="jxr_comment">//parent.add( newNode );</em>
<a name="223" href="#223">223</a>         <em class="jxr_comment">//reload(parent);</em>
<a name="224" href="#224">224</a> 
<a name="225" href="#225">225</a>         <em class="jxr_comment">// This doesn't force the nodes to collapse.</em>
<a name="226" href="#226">226</a>         insertNodeInto(newNode, parent, parent.getChildCount());
<a name="227" href="#227">227</a>         refresh(newNode);
<a name="228" href="#228">228</a> 
<a name="229" href="#229">229</a>         <em class="jxr_comment">// The newly added node is now the parent.</em>
<a name="230" href="#230">230</a>         parent = newNode;
<a name="231" href="#231">231</a> 
<a name="232" href="#232">232</a>       }
<a name="233" href="#233">233</a>     }
<a name="234" href="#234">234</a> 
<a name="235" href="#235">235</a>     <strong class="jxr_keyword">return</strong> parent;
<a name="236" href="#236">236</a>   }
<a name="237" href="#237">237</a> 
<a name="238" href="#238">238</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> update(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) {
<a name="239" href="#239">239</a>     <strong class="jxr_keyword">if</strong> (node.isSelected() == selected) {
<a name="240" href="#240">240</a>       <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// nothing was changed, nothing to do</em>
<a name="241" href="#241">241</a>     }
<a name="242" href="#242">242</a>     <em class="jxr_comment">// select parents or deselect children</em>
<a name="243" href="#243">243</a>     <strong class="jxr_keyword">if</strong> (selected) {
<a name="244" href="#244">244</a>       setParentSelection(node, <strong class="jxr_keyword">true</strong>);
<a name="245" href="#245">245</a>     } <strong class="jxr_keyword">else</strong> {
<a name="246" href="#246">246</a>       setDescendantSelection(node, false);
<a name="247" href="#247">247</a>     }
<a name="248" href="#248">248</a>   }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDescendantSelection(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) {
<a name="251" href="#251">251</a>     Enumeration descendants = node.depthFirstEnumeration();
<a name="252" href="#252">252</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current;
<a name="253" href="#253">253</a>     <strong class="jxr_keyword">while</strong> (descendants.hasMoreElements()) {
<a name="254" href="#254">254</a>       current = (CategoryNode) descendants.nextElement();
<a name="255" href="#255">255</a>       <em class="jxr_comment">// does the current node need to be changed?</em>
<a name="256" href="#256">256</a>       <strong class="jxr_keyword">if</strong> (current.isSelected() != selected) {
<a name="257" href="#257">257</a>         current.setSelected(selected);
<a name="258" href="#258">258</a>         nodeChanged(current);
<a name="259" href="#259">259</a>       }
<a name="260" href="#260">260</a>     }
<a name="261" href="#261">261</a>     notifyActionListeners();
<a name="262" href="#262">262</a>   }
<a name="263" href="#263">263</a> 
<a name="264" href="#264">264</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setParentSelection(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) {
<a name="265" href="#265">265</a>     TreeNode[] nodes = getPathToRoot(node);
<a name="266" href="#266">266</a>     <strong class="jxr_keyword">int</strong> len = nodes.length;
<a name="267" href="#267">267</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent;
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>     <em class="jxr_comment">// i = 0 gives root node, i=len-1 gives this node</em>
<a name="270" href="#270">270</a>     <em class="jxr_comment">// skip the root node</em>
<a name="271" href="#271">271</a>     <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; len; i++) {
<a name="272" href="#272">272</a>       parent = (CategoryNode) nodes[i];
<a name="273" href="#273">273</a>       <strong class="jxr_keyword">if</strong> (parent.isSelected() != selected) {
<a name="274" href="#274">274</a>         parent.setSelected(selected);
<a name="275" href="#275">275</a>         nodeChanged(parent);
<a name="276" href="#276">276</a>       }
<a name="277" href="#277">277</a>     }
<a name="278" href="#278">278</a>     notifyActionListeners();
<a name="279" href="#279">279</a>   }
<a name="280" href="#280">280</a> 
<a name="281" href="#281">281</a> 
<a name="282" href="#282">282</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addActionListener(ActionListener l) {
<a name="283" href="#283">283</a>     _listener = AWTEventMulticaster.add(_listener, l);
<a name="284" href="#284">284</a>   }
<a name="285" href="#285">285</a> 
<a name="286" href="#286">286</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> removeActionListener(ActionListener l) {
<a name="287" href="#287">287</a>     _listener = AWTEventMulticaster.remove(_listener, l);
<a name="288" href="#288">288</a>   }
<a name="289" href="#289">289</a> 
<a name="290" href="#290">290</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> resetAllNodeCounts() {
<a name="291" href="#291">291</a>     Enumeration nodes = getRootCategoryNode().depthFirstEnumeration();
<a name="292" href="#292">292</a>     <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current;
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">while</strong> (nodes.hasMoreElements()) {
<a name="294" href="#294">294</a>       current = (CategoryNode) nodes.nextElement();
<a name="295" href="#295">295</a>       current.resetNumberOfContainedRecords();
<a name="296" href="#296">296</a>       nodeChanged(current);
<a name="297" href="#297">297</a>     }
<a name="298" href="#298">298</a>   }
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>   <em class="jxr_javadoccomment">/**</em>
<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">   * &lt;p&gt;Returns the CategoryPath to the specified CategoryNode&lt;/p&gt;</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">   *</em>
<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">   * @param node The target CategoryNode</em>
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">   * @return CategoryPath</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">   */</em>
<a name="306" href="#306">306</a>   <strong class="jxr_keyword">public</strong> TreePath getTreePathToRoot(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) {
<a name="307" href="#307">307</a>     <strong class="jxr_keyword">if</strong> (node == <strong class="jxr_keyword">null</strong>) {
<a name="308" href="#308">308</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="309" href="#309">309</a>     }
<a name="310" href="#310">310</a>     <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">new</strong> TreePath(getPathToRoot(node)));
<a name="311" href="#311">311</a>   }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="314" href="#314">314</a>   <em class="jxr_comment">//   Protected Methods:</em>
<a name="315" href="#315">315</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="316" href="#316">316</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> notifyActionListeners() {
<a name="317" href="#317">317</a>     <strong class="jxr_keyword">if</strong> (_listener != <strong class="jxr_keyword">null</strong>) {
<a name="318" href="#318">318</a>       _listener.actionPerformed(_event);
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a>   }
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>   <em class="jxr_javadoccomment">/**</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">   * Fires a nodechanged event on the SwingThread.</em>
<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">   */</em>
<a name="325" href="#325">325</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> refresh(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) {
<a name="326" href="#326">326</a>     SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() {
<a name="327" href="#327">327</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="328" href="#328">328</a>         nodeChanged(node); <em class="jxr_comment">// remind the tree to render the new node</em>
<a name="329" href="#329">329</a>       }
<a name="330" href="#330">330</a>     });
<a name="331" href="#331">331</a>   }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="334" href="#334">334</a>   <em class="jxr_comment">//   Private Methods:</em>
<a name="335" href="#335">335</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="336" href="#336">336</a> 
<a name="337" href="#337">337</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="338" href="#338">338</a>   <em class="jxr_comment">//   Nested Top-Level Classes or Interfaces:</em>
<a name="339" href="#339">339</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="340" href="#340">340</a> 
<a name="341" href="#341">341</a> }
<a name="342" href="#342">342</a> 
<a name="343" href="#343">343</a> 
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a> 
<a name="346" href="#346">346</a> 
<a name="347" href="#347">347</a> 
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

