<!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>MyTableModel xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/MyTableModel.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.chainsaw;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> java.text.DateFormat;
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.util.Comparator;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.SortedSet;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.TreeSet;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> javax.swing.table.AbstractTableModel;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger;
<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"> * Represents a list of &lt;code&gt;EventDetails&lt;/code&gt; objects that are sorted on</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * logging time. Methods are provided to filter the events that are visible.</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> *</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> */</em>
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a>
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">extends</strong> AbstractTableModel
<a name="39" href="#39">39</a>  {
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to log messages **/</em>
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(MyTableModel.<strong class="jxr_keyword">class</strong>);
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use the compare logging events **/</em>
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Comparator MY_COMP = <strong class="jxr_keyword">new</strong> Comparator()
<a name="46" href="#46">46</a>      {
<a name="47" href="#47">47</a>          <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see Comparator **/</em>
<a name="48" href="#48">48</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare(Object aObj1, Object aObj2) {
<a name="49" href="#49">49</a>              <strong class="jxr_keyword">if</strong> ((aObj1 == <strong class="jxr_keyword">null</strong>) &amp;&amp; (aObj2 == <strong class="jxr_keyword">null</strong>)) {
<a name="50" href="#50">50</a>                  <strong class="jxr_keyword">return</strong> 0; <em class="jxr_comment">// treat as equal</em>
<a name="51" href="#51">51</a>              } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aObj1 == <strong class="jxr_keyword">null</strong>) {
<a name="52" href="#52">52</a>                  <strong class="jxr_keyword">return</strong> -1; <em class="jxr_comment">// null less than everything</em>
<a name="53" href="#53">53</a>              } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aObj2 == <strong class="jxr_keyword">null</strong>) {
<a name="54" href="#54">54</a>                  <strong class="jxr_keyword">return</strong> 1; <em class="jxr_comment">// think about it. :-&gt;</em>
<a name="55" href="#55">55</a>              }
<a name="56" href="#56">56</a>  
<a name="57" href="#57">57</a>              <em class="jxr_comment">// will assume only have LoggingEvent</em>
<a name="58" href="#58">58</a>              <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> le1 = (EventDetails) aObj1;
<a name="59" href="#59">59</a>              <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> le2 = (EventDetails) aObj2;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>              <strong class="jxr_keyword">if</strong> (le1.getTimeStamp() &lt; le2.getTimeStamp()) {
<a name="62" href="#62">62</a>                  <strong class="jxr_keyword">return</strong> 1;
<a name="63" href="#63">63</a>              }
<a name="64" href="#64">64</a>              <em class="jxr_comment">// assume not two events are logged at exactly the same time</em>
<a name="65" href="#65">65</a>              <strong class="jxr_keyword">return</strong> -1;
<a name="66" href="#66">66</a>          }
<a name="67" href="#67">67</a>          };
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>      <em class="jxr_javadoccomment">/**</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * Helper that actually processes incoming events.</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     */</em>
<a name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">Processor</a>
<a name="74" href="#74">74</a>          implements Runnable
<a name="75" href="#75">75</a>      {
<a name="76" href="#76">76</a>          <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> loops getting the events **/</em>
<a name="77" href="#77">77</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="78" href="#78">78</a>              <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) {
<a name="79" href="#79">79</a>                  <strong class="jxr_keyword">try</strong> {
<a name="80" href="#80">80</a>                      Thread.sleep(1000);
<a name="81" href="#81">81</a>                  } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a name="82" href="#82">82</a>                      <em class="jxr_comment">// ignore</em>
<a name="83" href="#83">83</a>                  }
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>                  <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="86" href="#86">86</a>                      <strong class="jxr_keyword">if</strong> (mPaused) {
<a name="87" href="#87">87</a>                          <strong class="jxr_keyword">continue</strong>;
<a name="88" href="#88">88</a>                      }
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>                      <strong class="jxr_keyword">boolean</strong> toHead = <strong class="jxr_keyword">true</strong>; <em class="jxr_comment">// were events added to head</em>
<a name="91" href="#91">91</a>                      <strong class="jxr_keyword">boolean</strong> needUpdate = false;
<a name="92" href="#92">92</a>                      <strong class="jxr_keyword">final</strong> Iterator it = mPendingEvents.iterator();
<a name="93" href="#93">93</a>                      <strong class="jxr_keyword">while</strong> (it.hasNext()) {
<a name="94" href="#94">94</a>                          <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = (EventDetails) it.next();
<a name="95" href="#95">95</a>                          mAllEvents.add(event);
<a name="96" href="#96">96</a>                          toHead = toHead &amp;&amp; (event == mAllEvents.first());
<a name="97" href="#97">97</a>                          needUpdate = needUpdate || matchFilter(event);
<a name="98" href="#98">98</a>                      }
<a name="99" href="#99">99</a>                      mPendingEvents.clear();
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>                     <strong class="jxr_keyword">if</strong> (needUpdate) {
<a name="102" href="#102">102</a>                         updateFilteredEvents(toHead);
<a name="103" href="#103">103</a>                     }
<a name="104" href="#104">104</a>                 }
<a name="105" href="#105">105</a>             }
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>         }
<a name="108" href="#108">108</a>     }
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> names of the columns in the table **/</em>
<a name="112" href="#112">112</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] COL_NAMES = {
<a name="113" href="#113">113</a>         <span class="jxr_string">"Time"</span>, <span class="jxr_string">"Priority"</span>, <span class="jxr_string">"Trace"</span>, <span class="jxr_string">"Category"</span>, <span class="jxr_string">"NDC"</span>, <span class="jxr_string">"Message"</span>};
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> definition of an empty list **/</em>
<a name="116" href="#116">116</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[] EMPTY_LIST =  <strong class="jxr_keyword">new</strong> EventDetails[] {};
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to format dates **/</em>
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> DateFormat DATE_FORMATTER =
<a name="120" href="#120">120</a>         DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM);
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the lock to control access **/</em>
<a name="123" href="#123">123</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object mLock = <strong class="jxr_keyword">new</strong> Object();
<a name="124" href="#124">124</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> set of all logged events - not filtered **/</em>
<a name="125" href="#125">125</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> SortedSet mAllEvents = <strong class="jxr_keyword">new</strong> TreeSet(MY_COMP);
<a name="126" href="#126">126</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> events that are visible after filtering **/</em>
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[] mFilteredEvents = EMPTY_LIST;
<a name="128" href="#128">128</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> list of events that are buffered for processing **/</em>
<a name="129" href="#129">129</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List mPendingEvents = <strong class="jxr_keyword">new</strong> ArrayList();
<a name="130" href="#130">130</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> indicates whether event collection is paused to the UI **/</em>
<a name="131" href="#131">131</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> mPaused = false;
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the thread **/</em>
<a name="134" href="#134">134</a>     <strong class="jxr_keyword">private</strong> String mThreadFilter = <span class="jxr_string">""</span>;
<a name="135" href="#135">135</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the message **/</em>
<a name="136" href="#136">136</a>     <strong class="jxr_keyword">private</strong> String mMessageFilter = <span class="jxr_string">""</span>;
<a name="137" href="#137">137</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the <a href="../../../../org/apache/log4j/NDC.html">NDC</a> **/</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">private</strong> String mNDCFilter = <span class="jxr_string">""</span>;
<a name="139" href="#139">139</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the category **/</em>
<a name="140" href="#140">140</a>     <strong class="jxr_keyword">private</strong> String mCategoryFilter = <span class="jxr_string">""</span>;
<a name="141" href="#141">141</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the priority **/</em>
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> mPriorityFilter = Priority.DEBUG;
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>     <em class="jxr_javadoccomment">/**</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * Creates a new &lt;code&gt;MyTableModel&lt;/code&gt; instance.</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     *</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     */</em>
<a name="149" href="#149">149</a>     <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a>() {
<a name="150" href="#150">150</a>         <strong class="jxr_keyword">final</strong> Thread t = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">Processor</a>());
<a name="151" href="#151">151</a>         t.setDaemon(<strong class="jxr_keyword">true</strong>);
<a name="152" href="#152">152</a>         t.start();
<a name="153" href="#153">153</a>     }
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="157" href="#157">157</a>     <em class="jxr_comment">// Table Methods</em>
<a name="158" href="#158">158</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em>
<a name="161" href="#161">161</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRowCount() {
<a name="162" href="#162">162</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="163" href="#163">163</a>             <strong class="jxr_keyword">return</strong> mFilteredEvents.length;
<a name="164" href="#164">164</a>         }
<a name="165" href="#165">165</a>     }
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em>
<a name="168" href="#168">168</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getColumnCount() {
<a name="169" href="#169">169</a>         <em class="jxr_comment">// does not need to be synchronized</em>
<a name="170" href="#170">170</a>         <strong class="jxr_keyword">return</strong> COL_NAMES.length;
<a name="171" href="#171">171</a>     }
<a name="172" href="#172">172</a> 
<a name="173" href="#173">173</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em>
<a name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> String getColumnName(<strong class="jxr_keyword">int</strong> aCol) {
<a name="175" href="#175">175</a>         <em class="jxr_comment">// does not need to be synchronized</em>
<a name="176" href="#176">176</a>         <strong class="jxr_keyword">return</strong> COL_NAMES[aCol];
<a name="177" href="#177">177</a>     }
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em>
<a name="180" href="#180">180</a>     <strong class="jxr_keyword">public</strong> Class getColumnClass(<strong class="jxr_keyword">int</strong> aCol) {
<a name="181" href="#181">181</a>         <em class="jxr_comment">// does not need to be synchronized</em>
<a name="182" href="#182">182</a>         <strong class="jxr_keyword">return</strong> (aCol == 2) ? Boolean.<strong class="jxr_keyword">class</strong> : Object.<strong class="jxr_keyword">class</strong>;
<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><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em>
<a name="186" href="#186">186</a>     <strong class="jxr_keyword">public</strong> Object getValueAt(<strong class="jxr_keyword">int</strong> aRow, <strong class="jxr_keyword">int</strong> aCol) {
<a name="187" href="#187">187</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="188" href="#188">188</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = mFilteredEvents[aRow];
<a name="189" href="#189">189</a> 
<a name="190" href="#190">190</a>             <strong class="jxr_keyword">if</strong> (aCol == 0) {
<a name="191" href="#191">191</a>                 <strong class="jxr_keyword">return</strong> DATE_FORMATTER.format(<strong class="jxr_keyword">new</strong> Date(event.getTimeStamp()));
<a name="192" href="#192">192</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 1) {
<a name="193" href="#193">193</a>                 <strong class="jxr_keyword">return</strong> event.getPriority();
<a name="194" href="#194">194</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 2) {
<a name="195" href="#195">195</a>                 <strong class="jxr_keyword">return</strong> (event.getThrowableStrRep() == <strong class="jxr_keyword">null</strong>)
<a name="196" href="#196">196</a>                     ? Boolean.FALSE : Boolean.TRUE;
<a name="197" href="#197">197</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 3) {
<a name="198" href="#198">198</a>                 <strong class="jxr_keyword">return</strong> event.getCategoryName();
<a name="199" href="#199">199</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 4) {
<a name="200" href="#200">200</a>                 <strong class="jxr_keyword">return</strong> event.getNDC();
<a name="201" href="#201">201</a>             }
<a name="202" href="#202">202</a>             <strong class="jxr_keyword">return</strong> event.getMessage();
<a name="203" href="#203">203</a>         }
<a name="204" href="#204">204</a>     }
<a name="205" href="#205">205</a> 
<a name="206" href="#206">206</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="207" href="#207">207</a>     <em class="jxr_comment">// Public Methods</em>
<a name="208" href="#208">208</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     <em class="jxr_javadoccomment">/**</em>
<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     * Sets the priority to filter events on. Only events of equal or higher</em>
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">     * property are now displayed.</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     *</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     * @param aPriority the priority to filter on</em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     */</em>
<a name="216" href="#216">216</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPriorityFilter(<a href="../../../../org/apache/log4j/Priority.html">Priority</a> aPriority) {
<a name="217" href="#217">217</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="218" href="#218">218</a>             mPriorityFilter = aPriority;
<a name="219" href="#219">219</a>             updateFilteredEvents(false);
<a name="220" href="#220">220</a>         }
<a name="221" href="#221">221</a>     }
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a>     <em class="jxr_javadoccomment">/**</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">     * Set the filter for the thread field.</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     *</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">     * @param aStr the string to match</em>
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">     */</em>
<a name="228" href="#228">228</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThreadFilter(String aStr) {
<a name="229" href="#229">229</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="230" href="#230">230</a>             mThreadFilter = aStr.trim();
<a name="231" href="#231">231</a>             updateFilteredEvents(false);
<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>     <em class="jxr_javadoccomment">/**</em>
<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">     * Set the filter for the message field.</em>
<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">     *</em>
<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">     * @param aStr the string to match</em>
<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     */</em>
<a name="240" href="#240">240</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMessageFilter(String aStr) {
<a name="241" href="#241">241</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="242" href="#242">242</a>             mMessageFilter = aStr.trim();
<a name="243" href="#243">243</a>             updateFilteredEvents(false);
<a name="244" href="#244">244</a>         }
<a name="245" href="#245">245</a>     }
<a name="246" href="#246">246</a> 
<a name="247" href="#247">247</a>     <em class="jxr_javadoccomment">/**</em>
<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">     * Set the filter for the NDC field.</em>
<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">     *</em>
<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">     * @param aStr the string to match</em>
<a name="251" href="#251">251</a> <em class="jxr_javadoccomment">     */</em>
<a name="252" href="#252">252</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNDCFilter(String aStr) {
<a name="253" href="#253">253</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="254" href="#254">254</a>             mNDCFilter = aStr.trim();
<a name="255" href="#255">255</a>             updateFilteredEvents(false);
<a name="256" href="#256">256</a>         }
<a name="257" href="#257">257</a>     }
<a name="258" href="#258">258</a> 
<a name="259" href="#259">259</a>     <em class="jxr_javadoccomment">/**</em>
<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">     * Set the filter for the category field.</em>
<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">     *</em>
<a name="262" href="#262">262</a> <em class="jxr_javadoccomment">     * @param aStr the string to match</em>
<a name="263" href="#263">263</a> <em class="jxr_javadoccomment">     */</em>
<a name="264" href="#264">264</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCategoryFilter(String aStr) {
<a name="265" href="#265">265</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="266" href="#266">266</a>             mCategoryFilter = aStr.trim();
<a name="267" href="#267">267</a>             updateFilteredEvents(false);
<a name="268" href="#268">268</a>         }
<a name="269" href="#269">269</a>     }
<a name="270" href="#270">270</a> 
<a name="271" href="#271">271</a>     <em class="jxr_javadoccomment">/**</em>
<a name="272" href="#272">272</a> <em class="jxr_javadoccomment">     * Add an event to the list.</em>
<a name="273" href="#273">273</a> <em class="jxr_javadoccomment">     *</em>
<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">     * @param aEvent a &lt;code&gt;EventDetails&lt;/code&gt; value</em>
<a name="275" href="#275">275</a> <em class="jxr_javadoccomment">     */</em>
<a name="276" href="#276">276</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addEvent(<a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> aEvent) {
<a name="277" href="#277">277</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="278" href="#278">278</a>             mPendingEvents.add(aEvent);
<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>     <em class="jxr_javadoccomment">/**</em>
<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">     * Clear the list of all events.</em>
<a name="284" href="#284">284</a> <em class="jxr_javadoccomment">     */</em>
<a name="285" href="#285">285</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
<a name="286" href="#286">286</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="287" href="#287">287</a>             mAllEvents.clear();
<a name="288" href="#288">288</a>             mFilteredEvents = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[0];
<a name="289" href="#289">289</a>             mPendingEvents.clear();
<a name="290" href="#290">290</a>             fireTableDataChanged();
<a name="291" href="#291">291</a>         }
<a name="292" href="#292">292</a>     }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Toggle whether collecting events **/</em>
<a name="295" href="#295">295</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> toggle() {
<a name="296" href="#296">296</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="297" href="#297">297</a>             mPaused = !mPaused;
<a name="298" href="#298">298</a>         }
<a name="299" href="#299">299</a>     }
<a name="300" href="#300">300</a> 
<a name="301" href="#301">301</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @return whether currently paused collecting events **/</em>
<a name="302" href="#302">302</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isPaused() {
<a name="303" href="#303">303</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="304" href="#304">304</a>             <strong class="jxr_keyword">return</strong> mPaused;
<a name="305" href="#305">305</a>         }
<a name="306" href="#306">306</a>     }
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>     <em class="jxr_javadoccomment">/**</em>
<a name="309" href="#309">309</a> <em class="jxr_javadoccomment">     * Get the throwable information at a specified row in the filtered events.</em>
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">     *</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * @param aRow the row index of the event</em>
<a name="312" href="#312">312</a> <em class="jxr_javadoccomment">     * @return the throwable information</em>
<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">     */</em>
<a name="314" href="#314">314</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> getEventDetails(<strong class="jxr_keyword">int</strong> aRow) {
<a name="315" href="#315">315</a>         <strong class="jxr_keyword">synchronized</strong> (mLock) {
<a name="316" href="#316">316</a>             <strong class="jxr_keyword">return</strong> mFilteredEvents[aRow];
<a name="317" href="#317">317</a>         }
<a name="318" href="#318">318</a>     }
<a name="319" href="#319">319</a> 
<a name="320" href="#320">320</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="321" href="#321">321</a>     <em class="jxr_comment">// Private methods</em>
<a name="322" href="#322">322</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="323" href="#323">323</a> 
<a name="324" href="#324">324</a>     <em class="jxr_javadoccomment">/**</em>
<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">     * Update the filtered events data structure.</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     * @param aInsertedToFront indicates whether events were added to front of</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     *        the events. If true, then the current first event must still exist</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     *        in the list after the filter is applied.</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     */</em>
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateFilteredEvents(<strong class="jxr_keyword">boolean</strong> aInsertedToFront) {
<a name="331" href="#331">331</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> start = System.currentTimeMillis();
<a name="332" href="#332">332</a>         <strong class="jxr_keyword">final</strong> List filtered = <strong class="jxr_keyword">new</strong> ArrayList();
<a name="333" href="#333">333</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> size = mAllEvents.size();
<a name="334" href="#334">334</a>         <strong class="jxr_keyword">final</strong> Iterator it = mAllEvents.iterator();
<a name="335" href="#335">335</a> 
<a name="336" href="#336">336</a>         <strong class="jxr_keyword">while</strong> (it.hasNext()) {
<a name="337" href="#337">337</a>             <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = (EventDetails) it.next();
<a name="338" href="#338">338</a>             <strong class="jxr_keyword">if</strong> (matchFilter(event)) {
<a name="339" href="#339">339</a>                 filtered.add(event);
<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>         <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> lastFirst = (mFilteredEvents.length == 0)
<a name="344" href="#344">344</a>             ? <strong class="jxr_keyword">null</strong>
<a name="345" href="#345">345</a>             : mFilteredEvents[0];
<a name="346" href="#346">346</a>         mFilteredEvents = (EventDetails[]) filtered.toArray(EMPTY_LIST);
<a name="347" href="#347">347</a> 
<a name="348" href="#348">348</a>         <strong class="jxr_keyword">if</strong> (aInsertedToFront &amp;&amp; (lastFirst != <strong class="jxr_keyword">null</strong>)) {
<a name="349" href="#349">349</a>             <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index = filtered.indexOf(lastFirst);
<a name="350" href="#350">350</a>             <strong class="jxr_keyword">if</strong> (index &lt; 1) {
<a name="351" href="#351">351</a>                 LOG.warn(<span class="jxr_string">"In strange state"</span>);
<a name="352" href="#352">352</a>                 fireTableDataChanged();
<a name="353" href="#353">353</a>             } <strong class="jxr_keyword">else</strong> {
<a name="354" href="#354">354</a>                 fireTableRowsInserted(0, index - 1);
<a name="355" href="#355">355</a>             }
<a name="356" href="#356">356</a>         } <strong class="jxr_keyword">else</strong> {
<a name="357" href="#357">357</a>             fireTableDataChanged();
<a name="358" href="#358">358</a>         }
<a name="359" href="#359">359</a> 
<a name="360" href="#360">360</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> end = System.currentTimeMillis();
<a name="361" href="#361">361</a>         LOG.debug(<span class="jxr_string">"Total time [ms]: "</span> + (end - start)
<a name="362" href="#362">362</a>                   + <span class="jxr_string">" in update, size: "</span> + size);
<a name="363" href="#363">363</a>     }
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>     <em class="jxr_javadoccomment">/**</em>
<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">     * Returns whether an event matches the filters.</em>
<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">     *</em>
<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">     * @param aEvent the event to check for a match</em>
<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">     * @return whether the event matches</em>
<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">     */</em>
<a name="371" href="#371">371</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> matchFilter(<a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> aEvent) {
<a name="372" href="#372">372</a>         <strong class="jxr_keyword">if</strong> (aEvent.getPriority().isGreaterOrEqual(mPriorityFilter) &amp;&amp;
<a name="373" href="#373">373</a>             (aEvent.getThreadName().indexOf(mThreadFilter) &gt;= 0) &amp;&amp;
<a name="374" href="#374">374</a>             (aEvent.getCategoryName().indexOf(mCategoryFilter) &gt;= 0) &amp;&amp;
<a name="375" href="#375">375</a>             ((mNDCFilter.length() == 0) ||
<a name="376" href="#376">376</a>              ((aEvent.getNDC() != <strong class="jxr_keyword">null</strong>) &amp;&amp;
<a name="377" href="#377">377</a>               (aEvent.getNDC().indexOf(mNDCFilter) &gt;= 0))))
<a name="378" href="#378">378</a>         {
<a name="379" href="#379">379</a>             <strong class="jxr_keyword">final</strong> String rm = aEvent.getMessage();
<a name="380" href="#380">380</a>             <strong class="jxr_keyword">if</strong> (rm == <strong class="jxr_keyword">null</strong>) {
<a name="381" href="#381">381</a>                 <em class="jxr_comment">// only match if we have not filtering in place</em>
<a name="382" href="#382">382</a>                 <strong class="jxr_keyword">return</strong> (mMessageFilter.length() == 0);
<a name="383" href="#383">383</a>             } <strong class="jxr_keyword">else</strong> {
<a name="384" href="#384">384</a>                 <strong class="jxr_keyword">return</strong> (rm.indexOf(mMessageFilter) &gt;= 0);
<a name="385" href="#385">385</a>             }
<a name="386" href="#386">386</a>         }
<a name="387" href="#387">387</a> 
<a name="388" href="#388">388</a>         <strong class="jxr_keyword">return</strong> false; <em class="jxr_comment">// by default not match</em>
<a name="389" href="#389">389</a>     }
<a name="390" href="#390">390</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

