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

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</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.example.chat;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashSet;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.common.IoHandler;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.common.IoHandlerAdapter;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.common.IoSession;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.filter.logging.MdcInjectionFilter;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * {@link IoHandler} implementation of a simple chat server protocol.</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> *</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @version $Rev$, $Date$</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> */</em>
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/example/chat/ChatProtocolHandler.html">ChatProtocolHandler</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/common/IoHandlerAdapter.html">IoHandlerAdapter</a> {
<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = LoggerFactory.getLogger(getClass());
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;IoSession&gt; sessions = Collections
<a name="43" href="#43">43</a>              .synchronizedSet(<strong class="jxr_keyword">new</strong> HashSet&lt;IoSession&gt;());
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;String&gt; users = Collections
<a name="46" href="#46">46</a>              .synchronizedSet(<strong class="jxr_keyword">new</strong> HashSet&lt;String&gt;());
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>      @Override
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<a href="../../../../../org/apache/mina/common/IoSession.html">IoSession</a> session, Throwable cause) {
<a name="50" href="#50">50</a>          logger.warn(<span class="jxr_string">"Unexpected exception."</span>, cause);
<a name="51" href="#51">51</a>          <em class="jxr_comment">// Close connection when unexpected exception is caught.</em>
<a name="52" href="#52">52</a>          session.close();
<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> messageReceived(<a href="../../../../../org/apache/mina/common/IoSession.html">IoSession</a> session, Object message) {
<a name="57" href="#57">57</a>          Logger log = LoggerFactory.getLogger(ChatProtocolHandler.<strong class="jxr_keyword">class</strong>);
<a name="58" href="#58">58</a>          log.info(<span class="jxr_string">"received: "</span> + message);
<a name="59" href="#59">59</a>          String theMessage = (String) message;
<a name="60" href="#60">60</a>          String[] result = theMessage.split(<span class="jxr_string">" "</span>, 2);
<a name="61" href="#61">61</a>          String theCommand = result[0];
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>          <strong class="jxr_keyword">try</strong> {
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>              <a href="../../../../../org/apache/mina/example/chat/ChatCommand.html">ChatCommand</a> command = ChatCommand.valueOf(theCommand);
<a name="66" href="#66">66</a>              String user = (String) session.getAttribute(<span class="jxr_string">"user"</span>);
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>              <strong class="jxr_keyword">switch</strong> (command.toInt()) {
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>              <strong class="jxr_keyword">case</strong> ChatCommand.QUIT:
<a name="71" href="#71">71</a>                  session.write(<span class="jxr_string">"QUIT OK"</span>);
<a name="72" href="#72">72</a>                  session.close();
<a name="73" href="#73">73</a>                  <strong class="jxr_keyword">break</strong>;
<a name="74" href="#74">74</a>              <strong class="jxr_keyword">case</strong> ChatCommand.LOGIN:
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>                  <strong class="jxr_keyword">if</strong> (user != <strong class="jxr_keyword">null</strong>) {
<a name="77" href="#77">77</a>                      session.write(<span class="jxr_string">"LOGIN ERROR user "</span> + user
<a name="78" href="#78">78</a>                              + <span class="jxr_string">" already logged in."</span>);
<a name="79" href="#79">79</a>                      <strong class="jxr_keyword">return</strong>;
<a name="80" href="#80">80</a>                  }
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>                  <strong class="jxr_keyword">if</strong> (result.length == 2) {
<a name="83" href="#83">83</a>                      user = result[1];
<a name="84" href="#84">84</a>                  } <strong class="jxr_keyword">else</strong> {
<a name="85" href="#85">85</a>                      session.write(<span class="jxr_string">"LOGIN ERROR invalid login command."</span>);
<a name="86" href="#86">86</a>                      <strong class="jxr_keyword">return</strong>;
<a name="87" href="#87">87</a>                  }
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>                  <em class="jxr_comment">// check if the username is already used</em>
<a name="90" href="#90">90</a>                  <strong class="jxr_keyword">if</strong> (users.contains(user)) {
<a name="91" href="#91">91</a>                      session.write(<span class="jxr_string">"LOGIN ERROR the name "</span> + user
<a name="92" href="#92">92</a>                              + <span class="jxr_string">" is already used."</span>);
<a name="93" href="#93">93</a>                      <strong class="jxr_keyword">return</strong>;
<a name="94" href="#94">94</a>                  }
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>                  sessions.add(session);
<a name="97" href="#97">97</a>                  session.setAttribute(<span class="jxr_string">"user"</span>, user);
<a name="98" href="#98">98</a>                  MdcInjectionFilter.setProperty(session, <span class="jxr_string">"user"</span>, user);
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>                 <em class="jxr_comment">// Allow all users</em>
<a name="101" href="#101">101</a>                 users.add(user);
<a name="102" href="#102">102</a>                 session.write(<span class="jxr_string">"LOGIN OK"</span>);
<a name="103" href="#103">103</a>                 broadcast(<span class="jxr_string">"The user "</span> + user + <span class="jxr_string">" has joined the chat session."</span>);
<a name="104" href="#104">104</a>                 <strong class="jxr_keyword">break</strong>;
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>             <strong class="jxr_keyword">case</strong> ChatCommand.BROADCAST:
<a name="107" href="#107">107</a> 
<a name="108" href="#108">108</a>                 <strong class="jxr_keyword">if</strong> (result.length == 2) {
<a name="109" href="#109">109</a>                     broadcast(user + <span class="jxr_string">": "</span> + result[1]);
<a name="110" href="#110">110</a>                 }
<a name="111" href="#111">111</a>                 <strong class="jxr_keyword">break</strong>;
<a name="112" href="#112">112</a>             <strong class="jxr_keyword">default</strong>:
<a name="113" href="#113">113</a>                 logger.info(<span class="jxr_string">"Unhandled command: "</span> + command);
<a name="114" href="#114">114</a>                 <strong class="jxr_keyword">break</strong>;
<a name="115" href="#115">115</a>             }
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="118" href="#118">118</a>             logger.debug(<span class="jxr_string">"Illegal argument"</span>, e);
<a name="119" href="#119">119</a>         }
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> broadcast(String message) {
<a name="123" href="#123">123</a>         <strong class="jxr_keyword">synchronized</strong> (sessions) {
<a name="124" href="#124">124</a>             <strong class="jxr_keyword">for</strong> (IoSession session : sessions) {
<a name="125" href="#125">125</a>                 <strong class="jxr_keyword">if</strong> (session.isConnected()) {
<a name="126" href="#126">126</a>                     session.write(<span class="jxr_string">"BROADCAST OK "</span> + message);
<a name="127" href="#127">127</a>                 }
<a name="128" href="#128">128</a>             }
<a name="129" href="#129">129</a>         }
<a name="130" href="#130">130</a>     }
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>     @Override
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/common/IoSession.html">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a name="134" href="#134">134</a>         String user = (String) session.getAttribute(<span class="jxr_string">"user"</span>);
<a name="135" href="#135">135</a>         users.remove(user);
<a name="136" href="#136">136</a>         sessions.remove(session);
<a name="137" href="#137">137</a>         broadcast(<span class="jxr_string">"The user "</span> + user + <span class="jxr_string">" has left the chat session."</span>);
<a name="138" href="#138">138</a>     }
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isChatUser(String name) {
<a name="141" href="#141">141</a>         <strong class="jxr_keyword">return</strong> users.contains(name);
<a name="142" href="#142">142</a>     }
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getNumberOfUsers() {
<a name="145" href="#145">145</a>         <strong class="jxr_keyword">return</strong> users.size();
<a name="146" href="#146">146</a>     }
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> kick(String name) {
<a name="149" href="#149">149</a>         <strong class="jxr_keyword">synchronized</strong> (sessions) {
<a name="150" href="#150">150</a>             <strong class="jxr_keyword">for</strong> (IoSession session : sessions) {
<a name="151" href="#151">151</a>                 <strong class="jxr_keyword">if</strong> (name.equals(session.getAttribute(<span class="jxr_string">"user"</span>))) {
<a name="152" href="#152">152</a>                     session.close();
<a name="153" href="#153">153</a>                     <strong class="jxr_keyword">break</strong>;
<a name="154" href="#154">154</a>                 }
<a name="155" href="#155">155</a>             }
<a name="156" href="#156">156</a>         }
<a name="157" href="#157">157</a>     }
<a name="158" href="#158">158</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

