<!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>IoFilterChainTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: IoFilterChainTest.java 165586 2005-05-02 06:27:27Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</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="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../org/apache/mina/io/package-summary.html">org.apache.mina.io</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.net.SocketAddress;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong>import</strong> junit.framework.Assert;
<a name="24" href="#24">24</a>  <strong>import</strong> junit.framework.TestCase;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.common.BaseSession;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.common.IdleStatus;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.common.SessionConfig;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.common.TransportType;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <em>/**<em>*</em></em>
<a name="33" href="#33">33</a>  <em> * Tests {@link AbstractIoFilterChain}.</em>
<a name="34" href="#34">34</a>  <em> * </em>
<a name="35" href="#35">35</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="36" href="#36">36</a>  <em> * @version $Rev: 165586 $, $Date: 2005-05-02 15:27:27 +0900 (월, 02  5월 2005) $ </em>
<a name="37" href="#37">37</a>  <em> */</em>
<a name="38" href="#38">38</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/io/IoFilterChainTest.html">IoFilterChainTest</a> <strong>extends</strong> TestCase
<a name="39" href="#39">39</a>  {
<a name="40" href="#40">40</a>      <strong>private</strong> IoFilterChainImpl chain;
<a name="41" href="#41">41</a>      <strong>private</strong> IoSession session;
<a name="42" href="#42">42</a>      <strong>private</strong> String result;
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> setUp()
<a name="45" href="#45">45</a>      {
<a name="46" href="#46">46</a>          chain = <strong>new</strong> IoFilterChainImpl();
<a name="47" href="#47">47</a>          session = <strong>new</strong> TestSession();
<a name="48" href="#48">48</a>          result = <span class="string">""</span>;
<a name="49" href="#49">49</a>      }
<a name="50" href="#50">50</a>      
<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> tearDown()
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>      }
<a name="54" href="#54">54</a>      
<a name="55" href="#55">55</a>      <strong>public</strong> <strong>void</strong> testDefault()
<a name="56" href="#56">56</a>      {
<a name="57" href="#57">57</a>          run( <span class="string">"HSO HDR HDW HSI HEC HSC"</span> );
<a name="58" href="#58">58</a>      }
<a name="59" href="#59">59</a>      
<a name="60" href="#60">60</a>      <strong>public</strong> <strong>void</strong> testChained()
<a name="61" href="#61">61</a>      {
<a name="62" href="#62">62</a>          chain.addLast( <span class="string">"A"</span>, <strong>new</strong> TestFilter( 'A' ) );
<a name="63" href="#63">63</a>          chain.addLast( <span class="string">"B"</span>, <strong>new</strong> TestFilter( 'B' ) );
<a name="64" href="#64">64</a>          run( <span class="string">"ASO BSO HSO"</span> +
<a name="65" href="#65">65</a>               <span class="string">"ADR BDR HDR"</span> +
<a name="66" href="#66">66</a>               <span class="string">"BFW AFW ADW BDW HDW"</span> +
<a name="67" href="#67">67</a>               <span class="string">"ASI BSI HSI"</span> +
<a name="68" href="#68">68</a>               <span class="string">"AEC BEC HEC"</span> +
<a name="69" href="#69">69</a>               <span class="string">"ASC BSC HSC"</span> );
<a name="70" href="#70">70</a>      }
<a name="71" href="#71">71</a>      
<a name="72" href="#72">72</a>      <strong>private</strong> <strong>void</strong> run( String expectedResult )
<a name="73" href="#73">73</a>      {
<a name="74" href="#74">74</a>          chain.sessionOpened( session );
<a name="75" href="#75">75</a>          chain.dataRead( session, ByteBuffer.allocate( 16 ) );
<a name="76" href="#76">76</a>          chain.filterWrite( session, ByteBuffer.allocate( 16 ), <strong>null</strong> );
<a name="77" href="#77">77</a>          chain.sessionIdle( session, IdleStatus.READER_IDLE );
<a name="78" href="#78">78</a>          chain.exceptionCaught( session, <strong>new</strong> Exception() );
<a name="79" href="#79">79</a>          chain.sessionClosed( session );
<a name="80" href="#80">80</a>          
<a name="81" href="#81">81</a>          result = formatResult( result );
<a name="82" href="#82">82</a>          expectedResult = formatResult( expectedResult );
<a name="83" href="#83">83</a>          
<a name="84" href="#84">84</a>          System.out.println( <span class="string">"Expected: "</span> + expectedResult );
<a name="85" href="#85">85</a>          System.out.println( <span class="string">"Actual:   "</span> + result );
<a name="86" href="#86">86</a>          Assert.assertEquals( expectedResult, result );
<a name="87" href="#87">87</a>      }
<a name="88" href="#88">88</a>      
<a name="89" href="#89">89</a>      <strong>private</strong> String formatResult( String result )
<a name="90" href="#90">90</a>      {
<a name="91" href="#91">91</a>          result = result.replaceAll( <span class="string">"&#47;&#47;s"</span>, <span class="string">""</span> );
<a name="92" href="#92">92</a>          StringBuffer buf = <strong>new</strong> StringBuffer( result.length() * 4 / 3 );
<a name="93" href="#93">93</a>          <strong>for</strong>( <strong>int</strong> i = 0; i &lt; result.length(); i++ )
<a name="94" href="#94">94</a>          {
<a name="95" href="#95">95</a>              buf.append( result.charAt( i ) );
<a name="96" href="#96">96</a>              <strong>if</strong>( i % 3 == 2 )
<a name="97" href="#97">97</a>              {
<a name="98" href="#98">98</a>                  buf.append(' ');
<a name="99" href="#99">99</a>              }
<a name="100" href="#100">100</a>         }
<a name="101" href="#101">101</a>         
<a name="102" href="#102">102</a>         <strong>return</strong> buf.toString();
<a name="103" href="#103">103</a>     }
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>     <strong>private</strong> <strong>class</strong> TestSession <strong>extends</strong> BaseSession implements IoSession
<a name="106" href="#106">106</a>     {
<a name="107" href="#107">107</a>         <strong>private</strong> IoHandler handler = <strong>new</strong> IoHandlerAdapter()
<a name="108" href="#108">108</a>         {
<a name="109" href="#109">109</a>             <strong>public</strong> <strong>void</strong> sessionOpened(IoSession session) {
<a name="110" href="#110">110</a>                 result += <span class="string">"HSO "</span>;
<a name="111" href="#111">111</a>             }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>             <strong>public</strong> <strong>void</strong> dataRead(IoSession session, ByteBuffer buf) {
<a name="114" href="#114">114</a>                 result += <span class="string">"HDR "</span>;
<a name="115" href="#115">115</a>             }
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>             <strong>public</strong> <strong>void</strong> dataWritten(IoSession session, Object marker) {
<a name="118" href="#118">118</a>                 result += <span class="string">"HDW "</span>;
<a name="119" href="#119">119</a>             }
<a name="120" href="#120">120</a>             
<a name="121" href="#121">121</a>             <strong>public</strong> <strong>void</strong> sessionIdle(IoSession session, IdleStatus status) {
<a name="122" href="#122">122</a>                 result += <span class="string">"HSI "</span>;
<a name="123" href="#123">123</a>             }
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>             <strong>public</strong> <strong>void</strong> exceptionCaught(IoSession session, Throwable cause) {
<a name="126" href="#126">126</a>                 result += <span class="string">"HEC "</span>;
<a name="127" href="#127">127</a>                 <strong>if</strong>( cause.getClass() != Exception.<strong>class</strong> )
<a name="128" href="#128">128</a>                 {
<a name="129" href="#129">129</a>                     cause.printStackTrace( System.out );
<a name="130" href="#130">130</a>                 }
<a name="131" href="#131">131</a>             }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>             <strong>public</strong> <strong>void</strong> sessionClosed(IoSession session) {
<a name="134" href="#134">134</a>                 result += <span class="string">"HSC "</span>;
<a name="135" href="#135">135</a>             }
<a name="136" href="#136">136</a>         };
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>         <strong>public</strong> IoHandler getHandler()
<a name="139" href="#139">139</a>         {
<a name="140" href="#140">140</a>             <strong>return</strong> handler;
<a name="141" href="#141">141</a>         }
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>         <strong>public</strong> <strong>void</strong> close( <strong>boolean</strong> wait )
<a name="144" href="#144">144</a>         {
<a name="145" href="#145">145</a>         }
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a>         <strong>public</strong> <strong>void</strong> write(ByteBuffer buf, Object marker)
<a name="148" href="#148">148</a>         {
<a name="149" href="#149">149</a>         }
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>         <strong>public</strong> TransportType getTransportType()
<a name="152" href="#152">152</a>         {
<a name="153" href="#153">153</a>             <strong>return</strong> <strong>null</strong>;
<a name="154" href="#154">154</a>         }
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>         <strong>public</strong> <strong>boolean</strong> isConnected()
<a name="157" href="#157">157</a>         {
<a name="158" href="#158">158</a>             <strong>return</strong> false;
<a name="159" href="#159">159</a>         }
<a name="160" href="#160">160</a> 
<a name="161" href="#161">161</a>         <strong>public</strong> SessionConfig getConfig()
<a name="162" href="#162">162</a>         {
<a name="163" href="#163">163</a>             <strong>return</strong> <strong>null</strong>;
<a name="164" href="#164">164</a>         }
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         <strong>public</strong> SocketAddress getRemoteAddress()
<a name="167" href="#167">167</a>         {
<a name="168" href="#168">168</a>             <strong>return</strong> <strong>null</strong>;
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>         <strong>public</strong> SocketAddress getLocalAddress()
<a name="172" href="#172">172</a>         {
<a name="173" href="#173">173</a>             <strong>return</strong> <strong>null</strong>;
<a name="174" href="#174">174</a>         }
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>         <strong>public</strong> IoFilterChain getFilterChain()
<a name="177" href="#177">177</a>         {
<a name="178" href="#178">178</a>             <strong>return</strong> <strong>null</strong>;
<a name="179" href="#179">179</a>         }
<a name="180" href="#180">180</a>     }
<a name="181" href="#181">181</a> 
<a name="182" href="#182">182</a>     <strong>private</strong> <strong>class</strong> TestFilter implements IoFilter
<a name="183" href="#183">183</a>     {
<a name="184" href="#184">184</a>         <strong>private</strong> <strong>final</strong> <strong>char</strong> id;
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a>         <strong>private</strong> TestFilter( <strong>char</strong> id )
<a name="187" href="#187">187</a>         {
<a name="188" href="#188">188</a>             <strong>this</strong>.id = id;
<a name="189" href="#189">189</a>         }
<a name="190" href="#190">190</a>         
<a name="191" href="#191">191</a>         <strong>public</strong> <strong>void</strong> sessionOpened(NextFilter nextFilter, IoSession session) {
<a name="192" href="#192">192</a>             result += id + <span class="string">"SO "</span>;
<a name="193" href="#193">193</a>             nextFilter.sessionOpened( session );
<a name="194" href="#194">194</a>         }
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>         <strong>public</strong> <strong>void</strong> sessionClosed(NextFilter nextFilter, IoSession session) {
<a name="197" href="#197">197</a>             result += id + <span class="string">"SC "</span>;
<a name="198" href="#198">198</a>             nextFilter.sessionClosed( session );
<a name="199" href="#199">199</a>         }
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>         <strong>public</strong> <strong>void</strong> sessionIdle(NextFilter nextFilter, IoSession session, IdleStatus status) {
<a name="202" href="#202">202</a>             result += id + <span class="string">"SI "</span>;
<a name="203" href="#203">203</a>             nextFilter.sessionIdle( session, status );
<a name="204" href="#204">204</a>         }
<a name="205" href="#205">205</a> 
<a name="206" href="#206">206</a>         <strong>public</strong> <strong>void</strong> exceptionCaught(NextFilter nextFilter, IoSession session, Throwable cause) {
<a name="207" href="#207">207</a>             result += id + <span class="string">"EC "</span>;
<a name="208" href="#208">208</a>             nextFilter.exceptionCaught( session, cause );
<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> dataRead(NextFilter nextFilter, IoSession session, ByteBuffer buf) {
<a name="212" href="#212">212</a>             result += id + <span class="string">"DR "</span>;
<a name="213" href="#213">213</a>             nextFilter.dataRead( session, buf );
<a name="214" href="#214">214</a>         }
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>         <strong>public</strong> <strong>void</strong> dataWritten(NextFilter nextFilter, IoSession session, Object marker) {
<a name="217" href="#217">217</a>             result += id + <span class="string">"DW "</span>;
<a name="218" href="#218">218</a>             nextFilter.dataWritten( session, marker );
<a name="219" href="#219">219</a>         }
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>         <strong>public</strong> <strong>void</strong> filterWrite(NextFilter nextFilter, IoSession session, ByteBuffer buf, Object marker) {
<a name="222" href="#222">222</a>             result += id + <span class="string">"FW "</span>;
<a name="223" href="#223">223</a>             nextFilter.filterWrite( session, buf, marker );
<a name="224" href="#224">224</a>         }
<a name="225" href="#225">225</a>     }
<a name="226" href="#226">226</a> 
<a name="227" href="#227">227</a>     <strong>private</strong> <strong>static</strong> <strong>class</strong> IoFilterChainImpl <strong>extends</strong> AbstractIoFilterChain
<a name="228" href="#228">228</a>     {
<a name="229" href="#229">229</a>         <strong>protected</strong> IoFilterChainImpl()
<a name="230" href="#230">230</a>         {
<a name="231" href="#231">231</a>         }
<a name="232" href="#232">232</a> 
<a name="233" href="#233">233</a>         <strong>protected</strong> <strong>void</strong> doWrite(IoSession session, ByteBuffer buffer, Object marker)
<a name="234" href="#234">234</a>         {
<a name="235" href="#235">235</a>             dataWritten( session, marker );
<a name="236" href="#236">236</a>         }
<a name="237" href="#237">237</a>     }
<a name="238" href="#238">238</a>     
<a name="239" href="#239">239</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

