<!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>NoReceiversWarningPanel xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/chainsaw/NoReceiversWarningPanel.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="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="comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="comment"> * </em>
<a name="9" href="#9">9</a>   <em class="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="comment"> * </em>
<a name="11" href="#11">11</a>  <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="comment"> */</em>
<a name="17" href="#17">17</a>  <strong>package</strong> org.apache.log4j.chainsaw;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong>import</strong> java.awt.Component;
<a name="20" href="#20">20</a>  <strong>import</strong> java.awt.Dimension;
<a name="21" href="#21">21</a>  <strong>import</strong> java.awt.GridBagConstraints;
<a name="22" href="#22">22</a>  <strong>import</strong> java.awt.GridBagLayout;
<a name="23" href="#23">23</a>  <strong>import</strong> java.awt.GridLayout;
<a name="24" href="#24">24</a>  <strong>import</strong> java.awt.event.ActionEvent;
<a name="25" href="#25">25</a>  <strong>import</strong> java.awt.event.ActionListener;
<a name="26" href="#26">26</a>  <strong>import</strong> java.awt.event.FocusEvent;
<a name="27" href="#27">27</a>  <strong>import</strong> java.awt.event.FocusListener;
<a name="28" href="#28">28</a>  <strong>import</strong> java.io.File;
<a name="29" href="#29">29</a>  <strong>import</strong> java.net.MalformedURLException;
<a name="30" href="#30">30</a>  <strong>import</strong> java.net.URL;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <strong>import</strong> javax.swing.AbstractAction;
<a name="33" href="#33">33</a>  <strong>import</strong> javax.swing.BorderFactory;
<a name="34" href="#34">34</a>  <strong>import</strong> javax.swing.Box;
<a name="35" href="#35">35</a>  <strong>import</strong> javax.swing.ButtonGroup;
<a name="36" href="#36">36</a>  <strong>import</strong> javax.swing.DefaultComboBoxModel;
<a name="37" href="#37">37</a>  <strong>import</strong> javax.swing.DefaultListCellRenderer;
<a name="38" href="#38">38</a>  <strong>import</strong> javax.swing.JButton;
<a name="39" href="#39">39</a>  <strong>import</strong> javax.swing.JCheckBox;
<a name="40" href="#40">40</a>  <strong>import</strong> javax.swing.JComboBox;
<a name="41" href="#41">41</a>  <strong>import</strong> javax.swing.JFileChooser;
<a name="42" href="#42">42</a>  <strong>import</strong> javax.swing.JFrame;
<a name="43" href="#43">43</a>  <strong>import</strong> javax.swing.JLabel;
<a name="44" href="#44">44</a>  <strong>import</strong> javax.swing.JList;
<a name="45" href="#45">45</a>  <strong>import</strong> javax.swing.JPanel;
<a name="46" href="#46">46</a>  <strong>import</strong> javax.swing.JRadioButton;
<a name="47" href="#47">47</a>  <strong>import</strong> javax.swing.JTextArea;
<a name="48" href="#48">48</a>  <strong>import</strong> javax.swing.SwingUtilities;
<a name="49" href="#49">49</a>  <strong>import</strong> javax.swing.event.ListDataEvent;
<a name="50" href="#50">50</a>  <strong>import</strong> javax.swing.event.ListDataListener;
<a name="51" href="#51">51</a>  <strong>import</strong> javax.swing.filechooser.FileFilter;
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>  <strong>import</strong> org.apache.log4j.LogManager;
<a name="54" href="#54">54</a>  <strong>import</strong> org.apache.log4j.Logger;
<a name="55" href="#55">55</a>  <strong>import</strong> org.apache.log4j.chainsaw.prefs.SettingsManager;
<a name="56" href="#56">56</a>  <strong>import</strong> org.apache.log4j.net.PortBased;
<a name="57" href="#57">57</a>  <strong>import</strong> org.apache.log4j.net.SocketAppender;
<a name="58" href="#58">58</a>  <strong>import</strong> org.apache.log4j.net.SocketHubReceiver;
<a name="59" href="#59">59</a>  <strong>import</strong> org.apache.log4j.net.SocketReceiver;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>  <em>/**<em>*</em></em>
<a name="63" href="#63">63</a>  <em> * A dialog panel to inform the user that they do not have</em>
<a name="64" href="#64">64</a>  <em> * Receiver's defined, and prompting them to either</em>
<a name="65" href="#65">65</a>  <em> * load a Log4j Log file, search for a Log4j configuration file</em>
<a name="66" href="#66">66</a>  <em> * or use the GUI to define the Receivers</em>
<a name="67" href="#67">67</a>  <em> *</em>
<a name="68" href="#68">68</a>  <em> * @author Paul Smith</em>
<a name="69" href="#69">69</a>  <em> */</em>
<a name="70" href="#70">70</a>  <strong>class</strong> <a href="../../../../org/apache/log4j/chainsaw/NoReceiversWarningPanel.html">NoReceiversWarningPanel</a> <strong>extends</strong> JPanel {
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong>private</strong> <strong>final</strong> JComboBox previousConfigs = <strong>new</strong> JComboBox();
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <strong>private</strong> <strong>final</strong> JRadioButton simpleReceiver = <strong>new</strong> JRadioButton(
<a name="75" href="#75">75</a>              <span class="string">"Let me use a simple Receiver:"</span>);
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>      <strong>private</strong> <strong>final</strong> JRadioButton justLoadingFile = <strong>new</strong> JRadioButton(
<a name="78" href="#78">78</a>              <span class="string">"I'm fine thanks, don't worry"</span>);
<a name="79" href="#79">79</a>      <strong>private</strong> <strong>final</strong> JRadioButton searchOption = <strong>new</strong> JRadioButton(
<a name="80" href="#80">80</a>              <span class="string">"Let me search for a configuration file"</span>);
<a name="81" href="#81">81</a>      <strong>private</strong> <strong>final</strong> JRadioButton chainsawSavedConfigOption = <strong>new</strong> JRadioButton(
<a name="82" href="#82">82</a>              <span class="string">"Load configuration file saved by Chainsaw"</span>);
<a name="83" href="#83">83</a>      <strong>private</strong> <strong>final</strong> JRadioButton manualOption = <strong>new</strong> JRadioButton(
<a name="84" href="#84">84</a>              <span class="string">"Let me define Receivers manually"</span>);
<a name="85" href="#85">85</a>      <strong>private</strong> <strong>final</strong> JButton okButton = <strong>new</strong> JButton(<span class="string">"Ok"</span>);
<a name="86" href="#86">86</a>      <strong>private</strong> <strong>final</strong> PanelModel model = <strong>new</strong> PanelModel();
<a name="87" href="#87">87</a>      <strong>final</strong> DefaultComboBoxModel configModel = <strong>new</strong> DefaultComboBoxModel();
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>      <strong>final</strong> DefaultComboBoxModel simpleReceiverModel = <strong>new</strong> DefaultComboBoxModel();
<a name="90" href="#90">90</a>      <strong>final</strong> DefaultComboBoxModel simplePortModel = <strong>new</strong> DefaultComboBoxModel();
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>      <strong>private</strong> <strong>boolean</strong> dontWarnMeAgain = false;
<a name="93" href="#93">93</a>      
<a name="94" href="#94">94</a>      <strong>private</strong> <strong>final</strong> Logger logger = LogManager.getLogger(NoReceiversWarningPanel.<strong>class</strong>);
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>      <a href="../../../../org/apache/log4j/chainsaw/NoReceiversWarningPanel.html">NoReceiversWarningPanel</a>() {
<a name="97" href="#97">97</a>          initComponents();
<a name="98" href="#98">98</a>      }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <em>/**<em>*</em></em>
<a name="101" href="#101">101</a> <em>     * Returns the current Model/state of the chosen options by the user.</em>
<a name="102" href="#102">102</a> <em>     * @return</em>
<a name="103" href="#103">103</a> <em>     */</em>
<a name="104" href="#104">104</a>     PanelModel getModel() {
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>         <strong>return</strong> model;
<a name="107" href="#107">107</a>     }
<a name="108" href="#108">108</a> 
<a name="109" href="#109">109</a>     <em>/**<em>*</em></em>
<a name="110" href="#110">110</a> <em>     * Clients of this panel can configure the ActionListener to be used</em>
<a name="111" href="#111">111</a> <em>     * when the user presses the OK button, so they can read</em>
<a name="112" href="#112">112</a> <em>     * back this Panel's model top determine what to do.</em>
<a name="113" href="#113">113</a> <em>     * @param actionListener</em>
<a name="114" href="#114">114</a> <em>     */</em>
<a name="115" href="#115">115</a>     <strong>void</strong> setOkActionListener(ActionListener actionListener) {
<a name="116" href="#116">116</a>         okButton.addActionListener(actionListener);
<a name="117" href="#117">117</a>     }
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <em>/**<em>*</em></em>
<a name="120" href="#120">120</a> <em>     * Sets up all the GUI components for this paenl</em>
<a name="121" href="#121">121</a> <em>     */</em>
<a name="122" href="#122">122</a>     <strong>private</strong> <strong>void</strong> initComponents() {
<a name="123" href="#123">123</a>         setLayout(<strong>new</strong> GridBagLayout());
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         GridBagConstraints gc = <strong>new</strong> GridBagConstraints();
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>         setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15));
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>         gc.gridx = 1;
<a name="130" href="#130">130</a>         gc.fill = GridBagConstraints.BOTH;
<a name="131" href="#131">131</a>         gc.weightx = 1.0;
<a name="132" href="#132">132</a>         gc.weighty = 1.0;
<a name="133" href="#133">133</a> 
<a name="134" href="#134">134</a>         JTextArea label = <strong>new</strong> JTextArea(
<a name="135" href="#135">135</a>                 <span class="string">"You will not be able to receive events from a Remote source unless you define one in the Log4J configuration file.\n"</span>);
<a name="136" href="#136">136</a>         label.setWrapStyleWord(<strong>true</strong>);
<a name="137" href="#137">137</a>         label.setLineWrap(<strong>true</strong>);
<a name="138" href="#138">138</a>         label.setEditable(false);
<a name="139" href="#139">139</a>         label.setOpaque(false);
<a name="140" href="#140">140</a>         label.setFont(getFont());
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>         add(label, gc);
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>         gc.weightx = 0;
<a name="145" href="#145">145</a>         gc.weighty = 0;
<a name="146" href="#146">146</a>         gc.gridy = 2;
<a name="147" href="#147">147</a>         add(Box.createVerticalStrut(20), gc);
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>         JPanel optionpanel = <strong>new</strong> JPanel();
<a name="150" href="#150">150</a>         optionpanel.setLayout(<strong>new</strong> GridLayout(5, 1, 3, 3));
<a name="151" href="#151">151</a>         optionpanel.setBackground(getBackground());
<a name="152" href="#152">152</a>         optionpanel.setBorder(BorderFactory.createEtchedBorder());
<a name="153" href="#153">153</a> 
<a name="154" href="#154">154</a>         <strong>final</strong> ButtonGroup optionGroup = <strong>new</strong> ButtonGroup();
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>         simpleReceiver.setToolTipText(
<a name="157" href="#157">157</a>             <span class="string">"Creates one of the standard Receivers on one of the standard port"</span>);
<a name="158" href="#158">158</a>         simpleReceiver.setMnemonic('p');
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>         searchOption.setToolTipText(
<a name="161" href="#161">161</a>             <span class="string">"Allows you to choose a Log4J Configuration file that contains Receiver definitions"</span>);
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>         searchOption.setMnemonic('S');
<a name="164" href="#164">164</a>         
<a name="165" href="#165">165</a>         chainsawSavedConfigOption.setToolTipText(
<a name="166" href="#166">166</a>              <span class="string">"Allows you to load Receiver definitions saved by Chanisaw previously"</span>);
<a name="167" href="#167">167</a>  
<a name="168" href="#168">168</a>         chainsawSavedConfigOption.setMnemonic('C');
<a name="169" href="#169">169</a> 
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>         manualOption.setToolTipText(
<a name="172" href="#172">172</a>             <span class="string">"Opens the Receivers panel so you can define them via a GUI"</span>);
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>         manualOption.setMnemonic('m');
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>         justLoadingFile.setToolTipText(
<a name="177" href="#177">177</a>             <span class="string">"Use this if you just want to view a Log4J Log file stored somewhere"</span>);
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>         justLoadingFile.setMnemonic('I');
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a> <em class="comment">//    searchOption.setOpaque(false);</em>
<a name="182" href="#182">182</a>         manualOption.setOpaque(false);
<a name="183" href="#183">183</a>         justLoadingFile.setOpaque(false);
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>         optionGroup.add(searchOption);
<a name="186" href="#186">186</a>         optionGroup.add(chainsawSavedConfigOption);
<a name="187" href="#187">187</a>         optionGroup.add(manualOption);
<a name="188" href="#188">188</a>         optionGroup.add(justLoadingFile);
<a name="189" href="#189">189</a>         optionGroup.add(simpleReceiver);
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a>         chainsawSavedConfigOption.setEnabled(getModel().isChinsawConfigFileExists());
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>         gc.gridy = 3;
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>         configModel.removeAllElements();
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>         previousConfigs.setModel(configModel);
<a name="199" href="#199">199</a>         previousConfigs.setOpaque(false);
<a name="200" href="#200">200</a>         previousConfigs.setBackground(getBackground());
<a name="201" href="#201">201</a>         previousConfigs.setToolTipText(
<a name="202" href="#202">202</a>             <span class="string">"Previously loaded configurations can be chosen here"</span>);
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a>         previousConfigs.setEditable(<strong>true</strong>);
<a name="205" href="#205">205</a> 
<a name="206" href="#206">206</a>         previousConfigs.getModel().addListDataListener(<strong>new</strong> ListDataListener() {
<a name="207" href="#207">207</a>                 <strong>private</strong> <strong>void</strong> validateUrl() {
<a name="208" href="#208">208</a>                     okButton.setEnabled(isValidConfigURL());
<a name="209" href="#209">209</a>                 }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a>                 <strong>public</strong> <strong>void</strong> contentsChanged(ListDataEvent e) {
<a name="212" href="#212">212</a>                     validateUrl();
<a name="213" href="#213">213</a>                 }
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>                 <strong>public</strong> <strong>void</strong> intervalAdded(ListDataEvent e) {
<a name="216" href="#216">216</a>                     validateUrl();
<a name="217" href="#217">217</a>                 }
<a name="218" href="#218">218</a> 
<a name="219" href="#219">219</a>                 <strong>public</strong> <strong>void</strong> intervalRemoved(ListDataEvent e) {
<a name="220" href="#220">220</a>                     validateUrl();
<a name="221" href="#221">221</a>                 }
<a name="222" href="#222">222</a>             });
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>         previousConfigs.setMaximumSize(<strong>new</strong> Dimension(200,
<a name="225" href="#225">225</a>                 (<strong>int</strong>) previousConfigs.getPreferredSize().getHeight()));
<a name="226" href="#226">226</a>         previousConfigs.setPreferredSize(previousConfigs.getMaximumSize());
<a name="227" href="#227">227</a>         previousConfigs.getEditor().getEditorComponent().addFocusListener(
<a name="228" href="#228">228</a>             <strong>new</strong> FocusListener() {
<a name="229" href="#229">229</a>                 <strong>public</strong> <strong>void</strong> focusGained(FocusEvent e) {
<a name="230" href="#230">230</a>                     selectAll();
<a name="231" href="#231">231</a>                 }
<a name="232" href="#232">232</a> 
<a name="233" href="#233">233</a>                 <strong>private</strong> <strong>void</strong> selectAll() {
<a name="234" href="#234">234</a>                     previousConfigs.getEditor().selectAll();
<a name="235" href="#235">235</a>                 }
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a>                 <strong>public</strong> <strong>void</strong> focusLost(FocusEvent e) {
<a name="238" href="#238">238</a>                 }
<a name="239" href="#239">239</a>             });
<a name="240" href="#240">240</a> 
<a name="241" href="#241">241</a>         <strong>final</strong> JButton searchButton = <strong>new</strong> JButton(<strong>new</strong> AbstractAction(
<a name="242" href="#242">242</a>                     <span class="string">"Browse..."</span>) {
<a name="243" href="#243">243</a>                     <strong>public</strong> <strong>void</strong> actionPerformed(ActionEvent e) {
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>                         <strong>try</strong> {
<a name="246" href="#246">246</a> 
<a name="247" href="#247">247</a>                             URL url = browseForConfig();
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a>                             <strong>if</strong> (url != <strong>null</strong>) {
<a name="250" href="#250">250</a>                                 getModel().configUrl = url;
<a name="251" href="#251">251</a>                                 configModel.addElement(url);
<a name="252" href="#252">252</a>                                 previousConfigs.getModel().setSelectedItem(
<a name="253" href="#253">253</a>                                     url);
<a name="254" href="#254">254</a>                             }
<a name="255" href="#255">255</a>                         } <strong>catch</strong> (Exception ex) {
<a name="256" href="#256">256</a>                             logger.error(
<a name="257" href="#257">257</a>                                 <span class="string">"Error browswing for Configuration file"</span>, ex);
<a name="258" href="#258">258</a>                         }
<a name="259" href="#259">259</a>                     }
<a name="260" href="#260">260</a>                 });
<a name="261" href="#261">261</a> 
<a name="262" href="#262">262</a>         searchButton.setToolTipText(
<a name="263" href="#263">263</a>             <span class="string">"Shows a File Open dialog to allow you to find a configuration file"</span>);
<a name="264" href="#264">264</a> 
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>         simplePortModel.addElement(<strong>new</strong> PortBased() {
<a name="267" href="#267">267</a> 
<a name="268" href="#268">268</a>                 <strong>private</strong> <strong>void</strong> unsupported() {
<a name="269" href="#269">269</a>                     <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(
<a name="270" href="#270">270</a>                         <span class="string">"Should not be used in this context"</span>);
<a name="271" href="#271">271</a>                 }
<a name="272" href="#272">272</a> 
<a name="273" href="#273">273</a>                 <strong>public</strong> String getName() {
<a name="274" href="#274">274</a>                     unsupported();
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>                     <strong>return</strong> <strong>null</strong>;
<a name="277" href="#277">277</a>                 }
<a name="278" href="#278">278</a> 
<a name="279" href="#279">279</a>                 <strong>public</strong> <strong>boolean</strong> isActive() {
<a name="280" href="#280">280</a>                     unsupported();
<a name="281" href="#281">281</a> 
<a name="282" href="#282">282</a>                     <strong>return</strong> false;
<a name="283" href="#283">283</a>                 }
<a name="284" href="#284">284</a> 
<a name="285" href="#285">285</a>                 <strong>public</strong> <strong>int</strong> getPort() {
<a name="286" href="#286">286</a> 
<a name="287" href="#287">287</a>                     <strong>return</strong> 4445;
<a name="288" href="#288">288</a>                 }
<a name="289" href="#289">289</a> 
<a name="290" href="#290">290</a>                 <strong>public</strong> String toString() {
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>                     <strong>return</strong> getPort() + <span class="string">" (Old style/standard Chainsaw port)"</span>;
<a name="293" href="#293">293</a>                 }
<a name="294" href="#294">294</a>             });
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a>         simplePortModel.addElement(<strong>new</strong> PortBased() {
<a name="297" href="#297">297</a> 
<a name="298" href="#298">298</a>                 <strong>private</strong> <strong>void</strong> unsupported() {
<a name="299" href="#299">299</a>                     <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(
<a name="300" href="#300">300</a>                         <span class="string">"Should not be used in this context"</span>);
<a name="301" href="#301">301</a>                 }
<a name="302" href="#302">302</a> 
<a name="303" href="#303">303</a>                 <strong>public</strong> String getName() {
<a name="304" href="#304">304</a>                     unsupported();
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>                     <strong>return</strong> <strong>null</strong>;
<a name="307" href="#307">307</a>                 }
<a name="308" href="#308">308</a> 
<a name="309" href="#309">309</a>                 <strong>public</strong> <strong>boolean</strong> isActive() {
<a name="310" href="#310">310</a>                     unsupported();
<a name="311" href="#311">311</a> 
<a name="312" href="#312">312</a>                     <strong>return</strong> false;
<a name="313" href="#313">313</a>                 }
<a name="314" href="#314">314</a> 
<a name="315" href="#315">315</a>                 <strong>public</strong> <strong>int</strong> getPort() {
<a name="316" href="#316">316</a> 
<a name="317" href="#317">317</a>                     <strong>return</strong> SocketAppender.DEFAULT_PORT;
<a name="318" href="#318">318</a>                 }
<a name="319" href="#319">319</a> 
<a name="320" href="#320">320</a>                 <strong>public</strong> String toString() {
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>                     <strong>return</strong> getPort() + <span class="string">" (Default SocketAppender port)"</span>;
<a name="323" href="#323">323</a>                 }
<a name="324" href="#324">324</a>             });
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>         JPanel simpleSocketPanel = <strong>new</strong> JPanel(<strong>new</strong> GridBagLayout());
<a name="327" href="#327">327</a> 
<a name="328" href="#328">328</a>         GridBagConstraints simpleSocketGC = <strong>new</strong> GridBagConstraints();
<a name="329" href="#329">329</a> 
<a name="330" href="#330">330</a>         simpleSocketPanel.add(simpleReceiver, simpleSocketGC);
<a name="331" href="#331">331</a> 
<a name="332" href="#332">332</a>         <strong>final</strong> JComboBox socketCombo = <strong>new</strong> JComboBox(simplePortModel);
<a name="333" href="#333">333</a> 
<a name="334" href="#334">334</a> 
<a name="335" href="#335">335</a>         simpleReceiverModel.addElement(SocketReceiver.<strong>class</strong>);
<a name="336" href="#336">336</a>         simpleReceiverModel.addElement(SocketHubReceiver.<strong>class</strong>);
<a name="337" href="#337">337</a> 
<a name="338" href="#338">338</a>         <strong>final</strong> JComboBox receiverCombo = <strong>new</strong> JComboBox(simpleReceiverModel);
<a name="339" href="#339">339</a>         receiverCombo.setEditable(false);
<a name="340" href="#340">340</a>         receiverCombo.setRenderer(<strong>new</strong> DefaultListCellRenderer() {
<a name="341" href="#341">341</a>                 <strong>public</strong> Component getListCellRendererComponent(JList list,
<a name="342" href="#342">342</a>                     Object value, <strong>int</strong> index, <strong>boolean</strong> isSelected,
<a name="343" href="#343">343</a>                     <strong>boolean</strong> cellHasFocus) {
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a>                     Component c = <strong>super</strong>.getListCellRendererComponent(list,
<a name="346" href="#346">346</a>                             value, index, isSelected, cellHasFocus);
<a name="347" href="#347">347</a> 
<a name="348" href="#348">348</a>                     <strong>if</strong> (value instanceof Class) {
<a name="349" href="#349">349</a> 
<a name="350" href="#350">350</a>                         Class receiverClass = (Class) value;
<a name="351" href="#351">351</a>                         JLabel cellLabel = (JLabel) c;
<a name="352" href="#352">352</a>                         String shortenedName = receiverClass.getName()
<a name="353" href="#353">353</a>                             .substring(
<a name="354" href="#354">354</a>                                 receiverClass.getName().lastIndexOf('.') + 1);
<a name="355" href="#355">355</a>                         cellLabel.setText(shortenedName);
<a name="356" href="#356">356</a>                     }
<a name="357" href="#357">357</a> 
<a name="358" href="#358">358</a>                     <strong>return</strong> c;
<a name="359" href="#359">359</a>                 }
<a name="360" href="#360">360</a> 
<a name="361" href="#361">361</a>             });
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>         simpleSocketPanel.add(receiverCombo);
<a name="364" href="#364">364</a>         simpleSocketPanel.add(<strong>new</strong> JLabel(<span class="string">" on port "</span>));
<a name="365" href="#365">365</a>         simpleSocketPanel.add(socketCombo, simpleSocketGC);
<a name="366" href="#366">366</a> 
<a name="367" href="#367">367</a>         <em>/**<em>*</em></em>
<a name="368" href="#368">368</a> <em>         * This listener activates/deactivates certain controls based on the current</em>
<a name="369" href="#369">369</a> <em>         * state of the options</em>
<a name="370" href="#370">370</a> <em>         */</em>
<a name="371" href="#371">371</a>         ActionListener al = <strong>new</strong> ActionListener() {
<a name="372" href="#372">372</a>                 <strong>public</strong> <strong>void</strong> actionPerformed(ActionEvent e) {
<a name="373" href="#373">373</a>                     previousConfigs.setEnabled(e.getSource() == searchOption);
<a name="374" href="#374">374</a>                     searchButton.setEnabled(e.getSource() == searchOption);
<a name="375" href="#375">375</a>                     socketCombo.setEnabled(e.getSource() == simpleReceiver);
<a name="376" href="#376">376</a>                     receiverCombo.setEnabled(e.getSource() == simpleReceiver);
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>                     <strong>if</strong> (optionGroup.isSelected(searchOption.getModel())) {
<a name="379" href="#379">379</a>                         okButton.setEnabled(isValidConfigURL());
<a name="380" href="#380">380</a>                     } <strong>else</strong> {
<a name="381" href="#381">381</a>                         okButton.setEnabled(<strong>true</strong>);
<a name="382" href="#382">382</a>                     }
<a name="383" href="#383">383</a>                 }
<a name="384" href="#384">384</a>             };
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>         searchOption.addActionListener(al);
<a name="387" href="#387">387</a>         chainsawSavedConfigOption.addActionListener(al);
<a name="388" href="#388">388</a>         manualOption.addActionListener(al);
<a name="389" href="#389">389</a>         justLoadingFile.addActionListener(al);
<a name="390" href="#390">390</a>         simpleReceiver.addActionListener(al);
<a name="391" href="#391">391</a> 
<a name="392" href="#392">392</a>         justLoadingFile.doClick();
<a name="393" href="#393">393</a> 
<a name="394" href="#394">394</a>         JPanel searchOptionPanel = <strong>new</strong> JPanel(<strong>new</strong> GridBagLayout());
<a name="395" href="#395">395</a> 
<a name="396" href="#396">396</a>         searchOptionPanel.setOpaque(false);
<a name="397" href="#397">397</a> 
<a name="398" href="#398">398</a>         GridBagConstraints searchGCC = <strong>new</strong> GridBagConstraints();
<a name="399" href="#399">399</a> 
<a name="400" href="#400">400</a>         searchGCC.fill = GridBagConstraints.HORIZONTAL;
<a name="401" href="#401">401</a>         searchGCC.gridx = 1;
<a name="402" href="#402">402</a>         searchGCC.weightx = 0.0;
<a name="403" href="#403">403</a>         searchGCC.anchor = GridBagConstraints.WEST;
<a name="404" href="#404">404</a>         searchOptionPanel.add(searchOption, searchGCC);
<a name="405" href="#405">405</a> 
<a name="406" href="#406">406</a>         searchGCC.fill = GridBagConstraints.NONE;
<a name="407" href="#407">407</a>         searchGCC.weightx = 1.0;
<a name="408" href="#408">408</a>         searchGCC.gridx = 2;
<a name="409" href="#409">409</a>         searchOptionPanel.add(Box.createHorizontalStrut(5), searchGCC);
<a name="410" href="#410">410</a> 
<a name="411" href="#411">411</a>         searchGCC.gridx = 3;
<a name="412" href="#412">412</a>         searchGCC.weightx = 0.0;
<a name="413" href="#413">413</a>         searchOptionPanel.add(previousConfigs, searchGCC);
<a name="414" href="#414">414</a> 
<a name="415" href="#415">415</a>         searchGCC.weightx = 0.0;
<a name="416" href="#416">416</a>         searchGCC.gridx = 4;
<a name="417" href="#417">417</a>         searchOptionPanel.add(Box.createHorizontalStrut(5), searchGCC);
<a name="418" href="#418">418</a>         searchGCC.gridx = 5;
<a name="419" href="#419">419</a>         searchOptionPanel.add(searchButton, searchGCC);
<a name="420" href="#420">420</a> 
<a name="421" href="#421">421</a> <em class="comment">//    searchGCC.gridx = 6;</em>
<a name="422" href="#422">422</a> <em class="comment">//    searchGCC.fill = GridBagConstraints.HORIZONTAL;</em>
<a name="423" href="#423">423</a> <em class="comment">//    searchGCC.weightx = 1.0;</em>
<a name="424" href="#424">424</a> <em class="comment">//    searchOptionPanel.add(Box.createHorizontalGlue(), searchGCC);</em>
<a name="425" href="#425">425</a> 
<a name="426" href="#426">426</a> 
<a name="427" href="#427">427</a>         optionpanel.add(justLoadingFile);
<a name="428" href="#428">428</a>         optionpanel.add(simpleSocketPanel);
<a name="429" href="#429">429</a>         optionpanel.add(searchOptionPanel);
<a name="430" href="#430">430</a>         optionpanel.add(chainsawSavedConfigOption);
<a name="431" href="#431">431</a>         optionpanel.add(manualOption);
<a name="432" href="#432">432</a> 
<a name="433" href="#433">433</a>         add(optionpanel, gc);
<a name="434" href="#434">434</a> 
<a name="435" href="#435">435</a>         gc.gridy = GridBagConstraints.RELATIVE;
<a name="436" href="#436">436</a>         gc.weightx = 0;
<a name="437" href="#437">437</a>         gc.fill = GridBagConstraints.NONE;
<a name="438" href="#438">438</a>         gc.anchor = GridBagConstraints.SOUTHEAST;
<a name="439" href="#439">439</a> 
<a name="440" href="#440">440</a>         add(Box.createVerticalStrut(20), gc);
<a name="441" href="#441">441</a> 
<a name="442" href="#442">442</a>         okButton.setMnemonic('O');
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>         <strong>final</strong> JCheckBox dontwarnIfNoReceiver = <strong>new</strong> JCheckBox(
<a name="445" href="#445">445</a>                 <span class="string">"Don't show me this again"</span>);
<a name="446" href="#446">446</a>         JPanel okPanel = <strong>new</strong> JPanel();
<a name="447" href="#447">447</a> 
<a name="448" href="#448">448</a>         okPanel.add(dontwarnIfNoReceiver);
<a name="449" href="#449">449</a>         okPanel.add(okButton);
<a name="450" href="#450">450</a>         add(okPanel, gc);
<a name="451" href="#451">451</a> 
<a name="452" href="#452">452</a>         okButton.addActionListener(<strong>new</strong> ActionListener() {
<a name="453" href="#453">453</a> 
<a name="454" href="#454">454</a>                 <strong>public</strong> <strong>void</strong> actionPerformed(ActionEvent e) {
<a name="455" href="#455">455</a>                     dontWarnMeAgain = dontwarnIfNoReceiver.isSelected();
<a name="456" href="#456">456</a>                 }
<a name="457" href="#457">457</a>             });
<a name="458" href="#458">458</a>     }
<a name="459" href="#459">459</a> 
<a name="460" href="#460">460</a>     <em>/**<em>*</em></em>
<a name="461" href="#461">461</a> <em>     * Returns the URL chosen by the user for a Configuration file</em>
<a name="462" href="#462">462</a> <em>     * or null if they cancelled.</em>
<a name="463" href="#463">463</a> <em>     */</em>
<a name="464" href="#464">464</a>     <strong>private</strong> URL browseForConfig() throws MalformedURLException {
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>         JFileChooser chooser = <strong>new</strong> JFileChooser();
<a name="467" href="#467">467</a>         chooser.setDialogTitle(<span class="string">"Search for Log4j configuration..."</span>);
<a name="468" href="#468">468</a>         chooser.setDialogType(JFileChooser.OPEN_DIALOG);
<a name="469" href="#469">469</a>         chooser.setFileFilter(<strong>new</strong> FileFilter() {
<a name="470" href="#470">470</a>                 <strong>public</strong> <strong>boolean</strong> accept(File f) {
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>                     <strong>return</strong> f.isDirectory() ||
<a name="473" href="#473">473</a>                     f.getName().endsWith(<span class="string">".properties"</span>) ||
<a name="474" href="#474">474</a>                     f.getName().endsWith(<span class="string">".xml"</span>);
<a name="475" href="#475">475</a>                 }
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>                 <strong>public</strong> String getDescription() {
<a name="478" href="#478">478</a> 
<a name="479" href="#479">479</a>                     <strong>return</strong> <span class="string">"Log4j Configuration file"</span>;
<a name="480" href="#480">480</a>                 }
<a name="481" href="#481">481</a>             });
<a name="482" href="#482">482</a> 
<a name="483" href="#483">483</a>         chooser.showOpenDialog(<strong>this</strong>);
<a name="484" href="#484">484</a> 
<a name="485" href="#485">485</a>         File selectedFile = chooser.getSelectedFile();
<a name="486" href="#486">486</a> 
<a name="487" href="#487">487</a>         <strong>if</strong> (selectedFile == <strong>null</strong>) {
<a name="488" href="#488">488</a> 
<a name="489" href="#489">489</a>             <strong>return</strong> <strong>null</strong>;
<a name="490" href="#490">490</a>         }
<a name="491" href="#491">491</a> 
<a name="492" href="#492">492</a>         <strong>if</strong> (!selectedFile.exists() || !selectedFile.canRead()) {
<a name="493" href="#493">493</a> 
<a name="494" href="#494">494</a>             <strong>return</strong> <strong>null</strong>;
<a name="495" href="#495">495</a>         }
<a name="496" href="#496">496</a> 
<a name="497" href="#497">497</a>         <strong>return</strong> chooser.getSelectedFile().toURI().toURL();
<a name="498" href="#498">498</a>     }
<a name="499" href="#499">499</a> 
<a name="500" href="#500">500</a>     <em>/**<em>*</em></em>
<a name="501" href="#501">501</a> <em>     * Determions if the Configuration URL is a valid url.</em>
<a name="502" href="#502">502</a> <em>     */</em>
<a name="503" href="#503">503</a>     <strong>private</strong> <strong>boolean</strong> isValidConfigURL() {
<a name="504" href="#504">504</a> 
<a name="505" href="#505">505</a>         <strong>if</strong> (previousConfigs.getSelectedItem() == <strong>null</strong>) {
<a name="506" href="#506">506</a> 
<a name="507" href="#507">507</a>             <strong>return</strong> false;
<a name="508" href="#508">508</a>         }
<a name="509" href="#509">509</a> 
<a name="510" href="#510">510</a>         String urlString = previousConfigs.getSelectedItem().toString();
<a name="511" href="#511">511</a> 
<a name="512" href="#512">512</a>         <strong>try</strong> {
<a name="513" href="#513">513</a>             getModel().configUrl = <strong>new</strong> URL(urlString);
<a name="514" href="#514">514</a> 
<a name="515" href="#515">515</a>             <strong>return</strong> <strong>true</strong>;
<a name="516" href="#516">516</a>         } <strong>catch</strong> (Exception ex) {
<a name="517" href="#517">517</a>         }
<a name="518" href="#518">518</a> 
<a name="519" href="#519">519</a>         <strong>return</strong> false;
<a name="520" href="#520">520</a>     }
<a name="521" href="#521">521</a> 
<a name="522" href="#522">522</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
<a name="523" href="#523">523</a> 
<a name="524" href="#524">524</a>         JFrame frame = <strong>new</strong> JFrame();
<a name="525" href="#525">525</a>         frame.getContentPane().add(<strong>new</strong> NoReceiversWarningPanel());
<a name="526" href="#526">526</a>         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
<a name="527" href="#527">527</a>         frame.pack();
<a name="528" href="#528">528</a>         frame.setVisible(<strong>true</strong>);
<a name="529" href="#529">529</a>     }
<a name="530" href="#530">530</a> 
<a name="531" href="#531">531</a>     <em>/**<em>*</em></em>
<a name="532" href="#532">532</a> <em>     * @return Returns the dontWarnMeAgain.</em>
<a name="533" href="#533">533</a> <em>     */</em>
<a name="534" href="#534">534</a>     <strong>public</strong> <strong>final</strong> <strong>boolean</strong> isDontWarnMeAgain() {
<a name="535" href="#535">535</a> 
<a name="536" href="#536">536</a>         <strong>return</strong> dontWarnMeAgain;
<a name="537" href="#537">537</a>     }
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>     <em>/**<em>*</em></em>
<a name="540" href="#540">540</a> <em>     * This class represents the model of the chosen options the user</em>
<a name="541" href="#541">541</a> <em>     * has configured.</em>
<a name="542" href="#542">542</a> <em>     *</em>
<a name="543" href="#543">543</a> <em>     */</em>
<a name="544" href="#544">544</a>     <strong>class</strong> PanelModel {
<a name="545" href="#545">545</a> 
<a name="546" href="#546">546</a>         <strong>private</strong> URL configUrl;
<a name="547" href="#547">547</a>         <strong>private</strong> File file;
<a name="548" href="#548">548</a> 
<a name="549" href="#549">549</a>         <strong>public</strong> PanelModel(){
<a name="550" href="#550">550</a>             file = <strong>new</strong> File(SettingsManager.getInstance().getSettingsDirectory(), <span class="string">"receiver-configs.xml"</span>);
<a name="551" href="#551">551</a>         }
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>         <strong>boolean</strong> isLoadLogFile() {
<a name="554" href="#554">554</a> 
<a name="555" href="#555">555</a>             <strong>return</strong> justLoadingFile.isSelected();
<a name="556" href="#556">556</a>         }
<a name="557" href="#557">557</a> 
<a name="558" href="#558">558</a>         <strong>boolean</strong> isSimpleReceiverMode() {
<a name="559" href="#559">559</a> 
<a name="560" href="#560">560</a>             <strong>return</strong> simpleReceiver.isSelected();
<a name="561" href="#561">561</a>         }
<a name="562" href="#562">562</a> 
<a name="563" href="#563">563</a>         <strong>int</strong> getSimplePort() {
<a name="564" href="#564">564</a> 
<a name="565" href="#565">565</a>             <strong>return</strong> ((PortBased) simplePortModel.getSelectedItem()).getPort();
<a name="566" href="#566">566</a>         }
<a name="567" href="#567">567</a> 
<a name="568" href="#568">568</a>         Class getSimpleReceiverClass() {
<a name="569" href="#569">569</a> 
<a name="570" href="#570">570</a>             <strong>return</strong> (Class) simpleReceiverModel.getSelectedItem();
<a name="571" href="#571">571</a>         }
<a name="572" href="#572">572</a> 
<a name="573" href="#573">573</a>         <strong>boolean</strong> isLoadConfig() {
<a name="574" href="#574">574</a> 
<a name="575" href="#575">575</a>             <strong>return</strong> searchOption.isSelected();
<a name="576" href="#576">576</a>         }
<a name="577" href="#577">577</a> 
<a name="578" href="#578">578</a>         <strong>boolean</strong> isLoadSavedConfigs() {
<a name="579" href="#579">579</a> 
<a name="580" href="#580">580</a>             <strong>return</strong> chainsawSavedConfigOption.isSelected();
<a name="581" href="#581">581</a>         }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a>         <strong>boolean</strong> isManualMode() {
<a name="584" href="#584">584</a> 
<a name="585" href="#585">585</a>             <strong>return</strong> manualOption.isSelected();
<a name="586" href="#586">586</a>         }
<a name="587" href="#587">587</a> 
<a name="588" href="#588">588</a>         <strong>public</strong> Object[] getRememberedConfigs() {
<a name="589" href="#589">589</a> 
<a name="590" href="#590">590</a>             Object[] urls = <strong>new</strong> Object[configModel.getSize()];
<a name="591" href="#591">591</a> 
<a name="592" href="#592">592</a>             <strong>for</strong> (<strong>int</strong> i = 0; i &lt; configModel.getSize(); i++) {
<a name="593" href="#593">593</a>                 urls[i] = configModel.getElementAt(i);
<a name="594" href="#594">594</a>             }
<a name="595" href="#595">595</a> 
<a name="596" href="#596">596</a>             <strong>return</strong> urls;
<a name="597" href="#597">597</a>         }
<a name="598" href="#598">598</a> 
<a name="599" href="#599">599</a>         <strong>public</strong> <strong>void</strong> setRememberedConfigs(<strong>final</strong> Object[] configs) {
<a name="600" href="#600">600</a>             SwingUtilities.invokeLater(<strong>new</strong> Runnable() {
<a name="601" href="#601">601</a>                     <strong>public</strong> <strong>void</strong> run() {
<a name="602" href="#602">602</a>                         configModel.removeAllElements();
<a name="603" href="#603">603</a> 
<a name="604" href="#604">604</a>                         <strong>for</strong> (<strong>int</strong> i = 0; i &lt; configs.length; i++) {
<a name="605" href="#605">605</a>                             configModel.addElement(configs[i]);
<a name="606" href="#606">606</a>                         }
<a name="607" href="#607">607</a>                     }
<a name="608" href="#608">608</a>                 });
<a name="609" href="#609">609</a>         }
<a name="610" href="#610">610</a> 
<a name="611" href="#611">611</a>         URL getConfigToLoad() {
<a name="612" href="#612">612</a> 
<a name="613" href="#613">613</a>             <strong>return</strong> configUrl;
<a name="614" href="#614">614</a>         }
<a name="615" href="#615">615</a> 
<a name="616" href="#616">616</a>         <strong>boolean</strong> isChinsawConfigFileExists(){
<a name="617" href="#617">617</a> 
<a name="618" href="#618">618</a>             <strong>return</strong> file.exists();
<a name="619" href="#619">619</a> 
<a name="620" href="#620">620</a>         }
<a name="621" href="#621">621</a> 
<a name="622" href="#622">622</a>         URL getSavedConfigToLoad() {
<a name="623" href="#623">623</a>             <strong>try</strong> {
<a name="624" href="#624">624</a>                 <strong>if</strong> (file.exists()){
<a name="625" href="#625">625</a>                     <strong>return</strong> file.toURL();
<a name="626" href="#626">626</a>                 } <strong>else</strong> {
<a name="627" href="#627">627</a>                     logger.debug(<span class="string">"No configuration file found"</span>);
<a name="628" href="#628">628</a>                 }
<a name="629" href="#629">629</a>             } <strong>catch</strong> (MalformedURLException e) {
<a name="630" href="#630">630</a>                 logger.error(<span class="string">"Error laoding saved configurations by Chainsaw"</span>, e);
<a name="631" href="#631">631</a>             }
<a name="632" href="#632">632</a>             <strong>return</strong> <strong>null</strong>;
<a name="633" href="#633">633</a>         }
<a name="634" href="#634">634</a>     }
<a name="635" href="#635">635</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

