<!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=UTF-8" />
<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="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</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="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> junit.framework.Assert;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.DefaultIoFilterChain;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilter;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterAdapter;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChain;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilterChain.Entry;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoHandler;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.service.IoHandlerAdapter;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.DummySession;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.DefaultWriteRequest;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">/**</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * Tests {@link DefaultIoFilterChain}.</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> */</em>
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">IoFilterChainTest</a> <strong class="jxr_keyword">extends</strong> TestCase {
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> DummySession session;
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">private</strong> IoFilterChain chain;
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> String result;
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> IoHandler handler = <strong class="jxr_keyword">new</strong> IoHandlerAdapter() {
<a name="50" href="#50">50</a>          @Override
<a name="51" href="#51">51</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(IoSession session) {
<a name="52" href="#52">52</a>              result += <span class="jxr_string">"HS0"</span>;
<a name="53" href="#53">53</a>          }
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>          @Override
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(IoSession session) {
<a name="57" href="#57">57</a>              result += <span class="jxr_string">"HSO"</span>;
<a name="58" href="#58">58</a>          }
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>          @Override
<a name="61" href="#61">61</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(IoSession session) {
<a name="62" href="#62">62</a>              result += <span class="jxr_string">"HSC"</span>;
<a name="63" href="#63">63</a>          }
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>          @Override
<a name="66" href="#66">66</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(IoSession session, IdleStatus status) {
<a name="67" href="#67">67</a>              result += <span class="jxr_string">"HSI"</span>;
<a name="68" href="#68">68</a>          }
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>          @Override
<a name="71" href="#71">71</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(IoSession session, Throwable cause) {
<a name="72" href="#72">72</a>              result += <span class="jxr_string">"HEC"</span>;
<a name="73" href="#73">73</a>              <strong class="jxr_keyword">if</strong> (cause.getClass() != Exception.<strong class="jxr_keyword">class</strong>) {
<a name="74" href="#74">74</a>                  cause.printStackTrace(System.out);
<a name="75" href="#75">75</a>              }
<a name="76" href="#76">76</a>          }
<a name="77" href="#77">77</a>  
<a name="78" href="#78">78</a>          @Override
<a name="79" href="#79">79</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(IoSession session, Object message) {
<a name="80" href="#80">80</a>              result += <span class="jxr_string">"HMR"</span>;
<a name="81" href="#81">81</a>          }
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>          @Override
<a name="84" href="#84">84</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(IoSession session, Object message) {
<a name="85" href="#85">85</a>              result += <span class="jxr_string">"HMS"</span>;
<a name="86" href="#86">86</a>          }
<a name="87" href="#87">87</a>      };
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>      @Override
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a name="91" href="#91">91</a>          session = <strong class="jxr_keyword">new</strong> DummySession();
<a name="92" href="#92">92</a>          session.setHandler(handler);
<a name="93" href="#93">93</a>          chain = session.getFilterChain();
<a name="94" href="#94">94</a>          result = <span class="jxr_string">""</span>;
<a name="95" href="#95">95</a>      }
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>      @Override
<a name="98" href="#98">98</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a name="99" href="#99">99</a>      }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAdd() <strong class="jxr_keyword">throws</strong> Exception {
<a name="102" href="#102">102</a>         chain.addFirst(<span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="103" href="#103">103</a>         chain.addLast(<span class="jxr_string">"B"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="104" href="#104">104</a>         chain.addFirst(<span class="jxr_string">"C"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="105" href="#105">105</a>         chain.addLast(<span class="jxr_string">"D"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="106" href="#106">106</a>         chain.addBefore(<span class="jxr_string">"B"</span>, <span class="jxr_string">"E"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="107" href="#107">107</a>         chain.addBefore(<span class="jxr_string">"C"</span>, <span class="jxr_string">"F"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="108" href="#108">108</a>         chain.addAfter(<span class="jxr_string">"B"</span>, <span class="jxr_string">"G"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="109" href="#109">109</a>         chain.addAfter(<span class="jxr_string">"D"</span>, <span class="jxr_string">"H"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>         String actual = <span class="jxr_string">""</span>;
<a name="112" href="#112">112</a>         <strong class="jxr_keyword">for</strong> (Entry e : chain.getAll()) {
<a name="113" href="#113">113</a>             actual += e.getName();
<a name="114" href="#114">114</a>         }
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>         Assert.assertEquals(<span class="jxr_string">"FCAEBGDH"</span>, actual);
<a name="117" href="#117">117</a>     }
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGet() <strong class="jxr_keyword">throws</strong> Exception {
<a name="120" href="#120">120</a>         IoFilter filterA = <strong class="jxr_keyword">new</strong> IoFilterAdapter();
<a name="121" href="#121">121</a>         IoFilter filterB = <strong class="jxr_keyword">new</strong> IoFilterAdapter();
<a name="122" href="#122">122</a>         IoFilter filterC = <strong class="jxr_keyword">new</strong> IoFilterAdapter();
<a name="123" href="#123">123</a>         IoFilter filterD = <strong class="jxr_keyword">new</strong> IoFilterAdapter();
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         chain.addFirst(<span class="jxr_string">"A"</span>, filterA);
<a name="126" href="#126">126</a>         chain.addLast(<span class="jxr_string">"B"</span>, filterB);
<a name="127" href="#127">127</a>         chain.addBefore(<span class="jxr_string">"B"</span>, <span class="jxr_string">"C"</span>, filterC);
<a name="128" href="#128">128</a>         chain.addAfter(<span class="jxr_string">"A"</span>, <span class="jxr_string">"D"</span>, filterD);
<a name="129" href="#129">129</a> 
<a name="130" href="#130">130</a>         Assert.assertSame(filterA, chain.get(<span class="jxr_string">"A"</span>));
<a name="131" href="#131">131</a>         Assert.assertSame(filterB, chain.get(<span class="jxr_string">"B"</span>));
<a name="132" href="#132">132</a>         Assert.assertSame(filterC, chain.get(<span class="jxr_string">"C"</span>));
<a name="133" href="#133">133</a>         Assert.assertSame(filterD, chain.get(<span class="jxr_string">"D"</span>));
<a name="134" href="#134">134</a>     }
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRemove() <strong class="jxr_keyword">throws</strong> Exception {
<a name="137" href="#137">137</a>         chain.addLast(<span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="138" href="#138">138</a>         chain.addLast(<span class="jxr_string">"B"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="139" href="#139">139</a>         chain.addLast(<span class="jxr_string">"C"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="140" href="#140">140</a>         chain.addLast(<span class="jxr_string">"D"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="141" href="#141">141</a>         chain.addLast(<span class="jxr_string">"E"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="142" href="#142">142</a> 
<a name="143" href="#143">143</a>         chain.remove(<span class="jxr_string">"A"</span>);
<a name="144" href="#144">144</a>         chain.remove(<span class="jxr_string">"E"</span>);
<a name="145" href="#145">145</a>         chain.remove(<span class="jxr_string">"C"</span>);
<a name="146" href="#146">146</a>         chain.remove(<span class="jxr_string">"B"</span>);
<a name="147" href="#147">147</a>         chain.remove(<span class="jxr_string">"D"</span>);
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>         Assert.assertEquals(0, chain.getAll().size());
<a name="150" href="#150">150</a>     }
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testClear() <strong class="jxr_keyword">throws</strong> Exception {
<a name="153" href="#153">153</a>         chain.addLast(<span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="154" href="#154">154</a>         chain.addLast(<span class="jxr_string">"B"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="155" href="#155">155</a>         chain.addLast(<span class="jxr_string">"C"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="156" href="#156">156</a>         chain.addLast(<span class="jxr_string">"D"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="157" href="#157">157</a>         chain.addLast(<span class="jxr_string">"E"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>         chain.clear();
<a name="160" href="#160">160</a> 
<a name="161" href="#161">161</a>         Assert.assertEquals(0, chain.getAll().size());
<a name="162" href="#162">162</a>     }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToString() <strong class="jxr_keyword">throws</strong> Exception {
<a name="165" href="#165">165</a>         <em class="jxr_comment">// When the chain is empty</em>
<a name="166" href="#166">166</a>         Assert.assertEquals(<span class="jxr_string">"{ empty }"</span>, chain.toString());
<a name="167" href="#167">167</a> 
<a name="168" href="#168">168</a>         <em class="jxr_comment">// When there's one filter</em>
<a name="169" href="#169">169</a>         chain.addLast(<span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> IoFilterAdapter() {
<a name="170" href="#170">170</a>             @Override
<a name="171" href="#171">171</a>             <strong class="jxr_keyword">public</strong> String toString() {
<a name="172" href="#172">172</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"B"</span>;
<a name="173" href="#173">173</a>             }
<a name="174" href="#174">174</a>         });
<a name="175" href="#175">175</a>         Assert.assertEquals(<span class="jxr_string">"{ (A:B) }"</span>, chain.toString());
<a name="176" href="#176">176</a> 
<a name="177" href="#177">177</a>         <em class="jxr_comment">// When there are two</em>
<a name="178" href="#178">178</a>         chain.addLast(<span class="jxr_string">"C"</span>, <strong class="jxr_keyword">new</strong> IoFilterAdapter() {
<a name="179" href="#179">179</a>             @Override
<a name="180" href="#180">180</a>             <strong class="jxr_keyword">public</strong> String toString() {
<a name="181" href="#181">181</a>                 <strong class="jxr_keyword">return</strong> <span class="jxr_string">"D"</span>;
<a name="182" href="#182">182</a>             }
<a name="183" href="#183">183</a>         });
<a name="184" href="#184">184</a>         Assert.assertEquals(<span class="jxr_string">"{ (A:B), (C:D) }"</span>, chain.toString());
<a name="185" href="#185">185</a>     }
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefault() {
<a name="188" href="#188">188</a>         run(<span class="jxr_string">"HS0 HSO HMR HMS HSI HEC HSC"</span>);
<a name="189" href="#189">189</a>     }
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testChained() <strong class="jxr_keyword">throws</strong> Exception {
<a name="192" href="#192">192</a>         chain.addLast(<span class="jxr_string">"A"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('A'));
<a name="193" href="#193">193</a>         chain.addLast(<span class="jxr_string">"B"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>('B'));
<a name="194" href="#194">194</a>         run(<span class="jxr_string">"AS0 BS0 HS0"</span> + <span class="jxr_string">"ASO BSO HSO"</span> + <span class="jxr_string">"AMR BMR HMR"</span>
<a name="195" href="#195">195</a>                 + <span class="jxr_string">"BFW AFW AMS BMS HMS"</span> + <span class="jxr_string">"ASI BSI HSI"</span> + <span class="jxr_string">"AEC BEC HEC"</span>
<a name="196" href="#196">196</a>                 + <span class="jxr_string">"ASC BSC HSC"</span>);
<a name="197" href="#197">197</a>     }
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAddRemove() <strong class="jxr_keyword">throws</strong> Exception {
<a name="200" href="#200">200</a>         IoFilter filter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">AddRemoveTestFilter</a>();
<a name="201" href="#201">201</a> 
<a name="202" href="#202">202</a>         chain.addFirst(<span class="jxr_string">"A"</span>, filter);
<a name="203" href="#203">203</a>         assertEquals(<span class="jxr_string">"ADDED"</span>, result);
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         chain.remove(<span class="jxr_string">"A"</span>);
<a name="206" href="#206">206</a>         assertEquals(<span class="jxr_string">"ADDEDREMOVED"</span>, result);
<a name="207" href="#207">207</a>     }
<a name="208" href="#208">208</a> 
<a name="209" href="#209">209</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> run(String expectedResult) {
<a name="210" href="#210">210</a>         chain.fireSessionCreated();
<a name="211" href="#211">211</a>         chain.fireSessionOpened();
<a name="212" href="#212">212</a>         chain.fireMessageReceived(<strong class="jxr_keyword">new</strong> Object());
<a name="213" href="#213">213</a>         chain.fireFilterWrite(<strong class="jxr_keyword">new</strong> DefaultWriteRequest(<strong class="jxr_keyword">new</strong> Object()));
<a name="214" href="#214">214</a>         chain.fireSessionIdle(IdleStatus.READER_IDLE);
<a name="215" href="#215">215</a>         chain.fireExceptionCaught(<strong class="jxr_keyword">new</strong> Exception());
<a name="216" href="#216">216</a>         chain.fireSessionClosed();
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>         result = formatResult(result);
<a name="219" href="#219">219</a>         expectedResult = formatResult(expectedResult);
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>         System.out.println(<span class="jxr_string">"Expected: "</span> + expectedResult);
<a name="222" href="#222">222</a>         System.out.println(<span class="jxr_string">"Actual:   "</span> + result);
<a name="223" href="#223">223</a>         Assert.assertEquals(expectedResult, result);
<a name="224" href="#224">224</a>     }
<a name="225" href="#225">225</a> 
<a name="226" href="#226">226</a>     <strong class="jxr_keyword">private</strong> String formatResult(String result) {
<a name="227" href="#227">227</a>         result = result.replaceAll(<span class="jxr_string">"&#92;&#92;s"</span>, <span class="jxr_string">""</span>);
<a name="228" href="#228">228</a>         StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(result.length() * 4 / 3);
<a name="229" href="#229">229</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; result.length(); i++) {
<a name="230" href="#230">230</a>             buf.append(result.charAt(i));
<a name="231" href="#231">231</a>             <strong class="jxr_keyword">if</strong> (i % 3 == 2) {
<a name="232" href="#232">232</a>                 buf.append(' ');
<a name="233" href="#233">233</a>             }
<a name="234" href="#234">234</a>         }
<a name="235" href="#235">235</a> 
<a name="236" href="#236">236</a>         <strong class="jxr_keyword">return</strong> buf.toString();
<a name="237" href="#237">237</a>     }
<a name="238" href="#238">238</a> 
<a name="239" href="#239">239</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a> <strong class="jxr_keyword">extends</strong> IoFilterAdapter {
<a name="240" href="#240">240</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> id;
<a name="241" href="#241">241</a> 
<a name="242" href="#242">242</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">EventOrderTestFilter</a>(<strong class="jxr_keyword">char</strong> id) {
<a name="243" href="#243">243</a>             <strong class="jxr_keyword">this</strong>.id = id;
<a name="244" href="#244">244</a>         }
<a name="245" href="#245">245</a> 
<a name="246" href="#246">246</a>         @Override
<a name="247" href="#247">247</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(NextFilter nextFilter, IoSession session) {
<a name="248" href="#248">248</a>             result += id + <span class="jxr_string">"S0"</span>;
<a name="249" href="#249">249</a>             nextFilter.sessionCreated(session);
<a name="250" href="#250">250</a>         }
<a name="251" href="#251">251</a> 
<a name="252" href="#252">252</a>         @Override
<a name="253" href="#253">253</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(NextFilter nextFilter, IoSession session) {
<a name="254" href="#254">254</a>             result += id + <span class="jxr_string">"SO"</span>;
<a name="255" href="#255">255</a>             nextFilter.sessionOpened(session);
<a name="256" href="#256">256</a>         }
<a name="257" href="#257">257</a> 
<a name="258" href="#258">258</a>         @Override
<a name="259" href="#259">259</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(NextFilter nextFilter, IoSession session) {
<a name="260" href="#260">260</a>             result += id + <span class="jxr_string">"SC"</span>;
<a name="261" href="#261">261</a>             nextFilter.sessionClosed(session);
<a name="262" href="#262">262</a>         }
<a name="263" href="#263">263</a> 
<a name="264" href="#264">264</a>         @Override
<a name="265" href="#265">265</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(NextFilter nextFilter, IoSession session,
<a name="266" href="#266">266</a>                 IdleStatus status) {
<a name="267" href="#267">267</a>             result += id + <span class="jxr_string">"SI"</span>;
<a name="268" href="#268">268</a>             nextFilter.sessionIdle(session, status);
<a name="269" href="#269">269</a>         }
<a name="270" href="#270">270</a> 
<a name="271" href="#271">271</a>         @Override
<a name="272" href="#272">272</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(NextFilter nextFilter, IoSession session,
<a name="273" href="#273">273</a>                 Throwable cause) {
<a name="274" href="#274">274</a>             result += id + <span class="jxr_string">"EC"</span>;
<a name="275" href="#275">275</a>             nextFilter.exceptionCaught(session, cause);
<a name="276" href="#276">276</a>         }
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a>         @Override
<a name="279" href="#279">279</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(NextFilter nextFilter, IoSession session,
<a name="280" href="#280">280</a>                 WriteRequest writeRequest) {
<a name="281" href="#281">281</a>             result += id + <span class="jxr_string">"FW"</span>;
<a name="282" href="#282">282</a>             nextFilter.filterWrite(session, writeRequest);
<a name="283" href="#283">283</a>         }
<a name="284" href="#284">284</a> 
<a name="285" href="#285">285</a>         @Override
<a name="286" href="#286">286</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(NextFilter nextFilter, IoSession session,
<a name="287" href="#287">287</a>                 Object message) {
<a name="288" href="#288">288</a>             result += id + <span class="jxr_string">"MR"</span>;
<a name="289" href="#289">289</a>             nextFilter.messageReceived(session, message);
<a name="290" href="#290">290</a>         }
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>         @Override
<a name="293" href="#293">293</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(NextFilter nextFilter, IoSession session,
<a name="294" href="#294">294</a>                 WriteRequest writeRequest) {
<a name="295" href="#295">295</a>             result += id + <span class="jxr_string">"MS"</span>;
<a name="296" href="#296">296</a>             nextFilter.messageSent(session, writeRequest);
<a name="297" href="#297">297</a>         }
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>         @Override
<a name="300" href="#300">300</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(NextFilter nextFilter, IoSession session)
<a name="301" href="#301">301</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="302" href="#302">302</a>             nextFilter.filterClose(session);
<a name="303" href="#303">303</a>         }
<a name="304" href="#304">304</a>     }
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/core/IoFilterChainTest.html">AddRemoveTestFilter</a> <strong class="jxr_keyword">extends</strong> IoFilterAdapter {
<a name="307" href="#307">307</a>         @Override
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onPostAdd(IoFilterChain parent, String name,
<a name="309" href="#309">309</a>                 NextFilter nextFilter) {
<a name="310" href="#310">310</a>             result += <span class="jxr_string">"ADDED"</span>;
<a name="311" href="#311">311</a>         }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>         @Override
<a name="314" href="#314">314</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onPostRemove(IoFilterChain parent, String name,
<a name="315" href="#315">315</a>                 NextFilter nextFilter) {
<a name="316" href="#316">316</a>             result += <span class="jxr_string">"REMOVED"</span>;
<a name="317" href="#317">317</a>         }
<a name="318" href="#318">318</a>     }
<a name="319" href="#319">319</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

