<!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>ByteBufferTest 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: ByteBufferTest.java 264677 2005-08-30 02:44:35Z 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/common/package-summary.html">org.apache.mina.common</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.nio.BufferOverflowException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.nio.charset.Charset;
<a name="23" href="#23">23</a>  <strong>import</strong> java.nio.charset.CharsetDecoder;
<a name="24" href="#24">24</a>  <strong>import</strong> java.nio.charset.CharsetEncoder;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong>import</strong> junit.framework.Assert;
<a name="27" href="#27">27</a>  <strong>import</strong> junit.framework.TestCase;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
<a name="30" href="#30">30</a>  <em> * Tests {@link ByteBuffer}.</em>
<a name="31" href="#31">31</a>  <em> * </em>
<a name="32" href="#32">32</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="33" href="#33">33</a>  <em> * @version $Rev: 264677 $, $Date: 2005-08-30 11:44:35 +0900 $ </em>
<a name="34" href="#34">34</a>  <em> */</em>
<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/common/ByteBufferTest.html">ByteBufferTest</a> <strong>extends</strong> TestCase
<a name="36" href="#36">36</a>  {
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args )
<a name="39" href="#39">39</a>      {
<a name="40" href="#40">40</a>          junit.textui.TestRunner.run( ByteBufferTest.<strong>class</strong> );
<a name="41" href="#41">41</a>      }
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception
<a name="44" href="#44">44</a>      {
<a name="45" href="#45">45</a>      }
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>      <strong>protected</strong> <strong>void</strong> tearDown() throws Exception
<a name="48" href="#48">48</a>      {
<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> testAllocate() throws Exception
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="54" href="#54">54</a>          {
<a name="55" href="#55">55</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="56" href="#56">56</a>              Assert.assertEquals( 0, buf.position() );
<a name="57" href="#57">57</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="58" href="#58">58</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="59" href="#59">59</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="60" href="#60">60</a>          }
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> testRelease() throws Exception
<a name="64" href="#64">64</a>      {
<a name="65" href="#65">65</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="66" href="#66">66</a>          {
<a name="67" href="#67">67</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="68" href="#68">68</a>              Assert.assertEquals( 0, buf.position() );
<a name="69" href="#69">69</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="70" href="#70">70</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="71" href="#71">71</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="72" href="#72">72</a>              buf.release();
<a name="73" href="#73">73</a>          }
<a name="74" href="#74">74</a>      }
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> testLeakageDetection() throws Exception
<a name="77" href="#77">77</a>      {
<a name="78" href="#78">78</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="79" href="#79">79</a>          buf.release();
<a name="80" href="#80">80</a>          <strong>try</strong>
<a name="81" href="#81">81</a>          {
<a name="82" href="#82">82</a>              buf.release();
<a name="83" href="#83">83</a>              Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="84" href="#84">84</a>          }
<a name="85" href="#85">85</a>          <strong>catch</strong>( IllegalStateException e )
<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>      }
<a name="90" href="#90">90</a>      
<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> testAcquireRelease() throws Exception
<a name="92" href="#92">92</a>      {
<a name="93" href="#93">93</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="94" href="#94">94</a>          buf.acquire();
<a name="95" href="#95">95</a>          buf.release();
<a name="96" href="#96">96</a>          buf.acquire();
<a name="97" href="#97">97</a>          buf.acquire();
<a name="98" href="#98">98</a>          buf.release();
<a name="99" href="#99">99</a>          buf.release();
<a name="100" href="#100">100</a>         buf.release();
<a name="101" href="#101">101</a>         <strong>try</strong>
<a name="102" href="#102">102</a>         {
<a name="103" href="#103">103</a>             buf.release();
<a name="104" href="#104">104</a>             Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="105" href="#105">105</a>         }
<a name="106" href="#106">106</a>         <strong>catch</strong>( IllegalStateException e )
<a name="107" href="#107">107</a>         {
<a name="108" href="#108">108</a>         }
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a>     
<a name="111" href="#111">111</a>     <strong>public</strong> <strong>void</strong> testAutoExpand() throws Exception
<a name="112" href="#112">112</a>     {
<a name="113" href="#113">113</a>         ByteBuffer buf = ByteBuffer.allocate( 1 );
<a name="114" href="#114">114</a>         
<a name="115" href="#115">115</a>         buf.put( (byte) 0 );
<a name="116" href="#116">116</a>         <strong>try</strong>
<a name="117" href="#117">117</a>         {
<a name="118" href="#118">118</a>             buf.put( (byte) 0 );
<a name="119" href="#119">119</a>             Assert.fail();
<a name="120" href="#120">120</a>         }
<a name="121" href="#121">121</a>         <strong>catch</strong>( BufferOverflowException e )
<a name="122" href="#122">122</a>         {
<a name="123" href="#123">123</a>             <em class="comment">// ignore</em>
<a name="124" href="#124">124</a>         }
<a name="125" href="#125">125</a>         
<a name="126" href="#126">126</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="127" href="#127">127</a>         buf.put( (byte) 0 );
<a name="128" href="#128">128</a>         Assert.assertEquals( 2, buf.position() );
<a name="129" href="#129">129</a>         Assert.assertEquals( 2, buf.limit() );
<a name="130" href="#130">130</a>         Assert.assertEquals( 2, buf.capacity() );
<a name="131" href="#131">131</a>         
<a name="132" href="#132">132</a>         buf.setAutoExpand( false );
<a name="133" href="#133">133</a>         <strong>try</strong>
<a name="134" href="#134">134</a>         {
<a name="135" href="#135">135</a>             buf.put( 3, (byte) 0 );
<a name="136" href="#136">136</a>             Assert.fail();
<a name="137" href="#137">137</a>         }
<a name="138" href="#138">138</a>         <strong>catch</strong>( IndexOutOfBoundsException e )
<a name="139" href="#139">139</a>         {
<a name="140" href="#140">140</a>             <em class="comment">// ignore</em>
<a name="141" href="#141">141</a>         }
<a name="142" href="#142">142</a>         
<a name="143" href="#143">143</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="144" href="#144">144</a>         buf.put( 3, (byte) 0 );
<a name="145" href="#145">145</a>         Assert.assertEquals( 2, buf.position() );
<a name="146" href="#146">146</a>         Assert.assertEquals( 4, buf.limit() );
<a name="147" href="#147">147</a>         Assert.assertEquals( 4, buf.capacity() );
<a name="148" href="#148">148</a>     }
<a name="149" href="#149">149</a>     
<a name="150" href="#150">150</a>     <strong>public</strong> <strong>void</strong> testPooledProperty() throws Exception
<a name="151" href="#151">151</a>     {
<a name="152" href="#152">152</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="153" href="#153">153</a>         java.nio.ByteBuffer nioBuf = buf.buf();
<a name="154" href="#154">154</a>         buf.release();
<a name="155" href="#155">155</a>         Assert.assertSame( nioBuf, ByteBuffer.allocate( 16 ).buf() );
<a name="156" href="#156">156</a>         buf.setPooled( false );
<a name="157" href="#157">157</a>         buf.release();
<a name="158" href="#158">158</a>         Assert.assertNotSame( nioBuf, ByteBuffer.allocate( 16 ).buf() );
<a name="159" href="#159">159</a>     }
<a name="160" href="#160">160</a>     
<a name="161" href="#161">161</a>     <strong>public</strong> <strong>void</strong> testGetString() throws Exception
<a name="162" href="#162">162</a>     {
<a name="163" href="#163">163</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="164" href="#164">164</a>         CharsetDecoder decoder;
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         decoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newDecoder();
<a name="167" href="#167">167</a>         buf.put( (byte) 'A' );
<a name="168" href="#168">168</a>         buf.put( (byte) 'B' );
<a name="169" href="#169">169</a>         buf.put( (byte) 'C' );
<a name="170" href="#170">170</a>         buf.put( (byte) 0 );
<a name="171" href="#171">171</a>         
<a name="172" href="#172">172</a>         buf.position( 0 );
<a name="173" href="#173">173</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="174" href="#174">174</a>         Assert.assertEquals( 4, buf.position() );
<a name="175" href="#175">175</a>         
<a name="176" href="#176">176</a>         buf.position( 0 );
<a name="177" href="#177">177</a>         buf.limit( 1 );
<a name="178" href="#178">178</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="179" href="#179">179</a>         Assert.assertEquals( 1, buf.position() );
<a name="180" href="#180">180</a>         
<a name="181" href="#181">181</a>         buf.clear();
<a name="182" href="#182">182</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="183" href="#183">183</a>         Assert.assertEquals( 10, buf.position() );
<a name="184" href="#184">184</a>         
<a name="185" href="#185">185</a>         buf.clear();
<a name="186" href="#186">186</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 1, decoder ) );
<a name="187" href="#187">187</a>         Assert.assertEquals( 1, buf.position() );
<a name="188" href="#188">188</a>         
<a name="189" href="#189">189</a>         buf.clear();
<a name="190" href="#190">190</a>         buf.fillAndReset( buf.limit() );
<a name="191" href="#191">191</a>         decoder = Charset.forName( <span class="string">"UTF-16"</span> ).newDecoder();
<a name="192" href="#192">192</a>         buf.put( (byte) 0 );
<a name="193" href="#193">193</a>         buf.put( (byte) 'A' );
<a name="194" href="#194">194</a>         buf.put( (byte) 0 );
<a name="195" href="#195">195</a>         buf.put( (byte) 'B' );
<a name="196" href="#196">196</a>         buf.put( (byte) 0 );
<a name="197" href="#197">197</a>         buf.put( (byte) 'C' );
<a name="198" href="#198">198</a>         buf.put( (byte) 0 );
<a name="199" href="#199">199</a>         buf.put( (byte) 0 );
<a name="200" href="#200">200</a>         
<a name="201" href="#201">201</a>         buf.position( 0 );
<a name="202" href="#202">202</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="203" href="#203">203</a>         Assert.assertEquals( 8, buf.position() );
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         buf.position( 0 );
<a name="206" href="#206">206</a>         buf.limit( 2 );
<a name="207" href="#207">207</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="208" href="#208">208</a>         Assert.assertEquals( 2, buf.position() );
<a name="209" href="#209">209</a>         
<a name="210" href="#210">210</a>         buf.position( 0 );
<a name="211" href="#211">211</a>         buf.limit( 3 );
<a name="212" href="#212">212</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="213" href="#213">213</a>         Assert.assertEquals( 2, buf.position() );
<a name="214" href="#214">214</a>         
<a name="215" href="#215">215</a>         buf.clear();
<a name="216" href="#216">216</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="217" href="#217">217</a>         Assert.assertEquals( 10, buf.position() );
<a name="218" href="#218">218</a>         
<a name="219" href="#219">219</a>         buf.clear();
<a name="220" href="#220">220</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 2, decoder ) );
<a name="221" href="#221">221</a>         Assert.assertEquals( 2, buf.position() );
<a name="222" href="#222">222</a>         
<a name="223" href="#223">223</a>         buf.clear();
<a name="224" href="#224">224</a>         <strong>try</strong>
<a name="225" href="#225">225</a>         {
<a name="226" href="#226">226</a>             buf.getString( 1, decoder );
<a name="227" href="#227">227</a>             Assert.fail();
<a name="228" href="#228">228</a>         }
<a name="229" href="#229">229</a>         <strong>catch</strong>( IllegalArgumentException e )
<a name="230" href="#230">230</a>         {
<a name="231" href="#231">231</a>             <em class="comment">// ignore</em>
<a name="232" href="#232">232</a>         }
<a name="233" href="#233">233</a> 
<a name="234" href="#234">234</a>         <em class="comment">// Test getting strings from an empty buffer.</em>
<a name="235" href="#235">235</a>         buf.clear();
<a name="236" href="#236">236</a>         buf.limit( 0 );
<a name="237" href="#237">237</a>         Assert.assertEquals( <span class="string">""</span>, buf.getString( decoder ) );
<a name="238" href="#238">238</a>         Assert.assertEquals( <span class="string">""</span>, buf.getString( 2, decoder ) );
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a>     
<a name="241" href="#241">241</a>     <strong>public</strong> <strong>void</strong> testPutString() throws Exception
<a name="242" href="#242">242</a>     {
<a name="243" href="#243">243</a>         CharsetEncoder encoder;
<a name="244" href="#244">244</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="245" href="#245">245</a>         encoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newEncoder();
<a name="246" href="#246">246</a>         
<a name="247" href="#247">247</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="248" href="#248">248</a>         Assert.assertEquals( 3, buf.position() );
<a name="249" href="#249">249</a>         buf.clear();
<a name="250" href="#250">250</a>         Assert.assertEquals( 'A', buf.get( 0 ) );
<a name="251" href="#251">251</a>         Assert.assertEquals( 'B', buf.get( 1 ) );
<a name="252" href="#252">252</a>         Assert.assertEquals( 'C', buf.get( 2 ) );
<a name="253" href="#253">253</a>         
<a name="254" href="#254">254</a>         buf.putString( <span class="string">"D"</span>, 5, encoder );
<a name="255" href="#255">255</a>         Assert.assertEquals( 5, buf.position() );
<a name="256" href="#256">256</a>         buf.clear();
<a name="257" href="#257">257</a>         Assert.assertEquals( 'D', buf.get( 0 ) );
<a name="258" href="#258">258</a>         Assert.assertEquals( 0, buf.get( 1 ) );
<a name="259" href="#259">259</a>         
<a name="260" href="#260">260</a>         buf.putString( <span class="string">"EFG"</span>, 2, encoder );
<a name="261" href="#261">261</a>         Assert.assertEquals( 2, buf.position() );
<a name="262" href="#262">262</a>         buf.clear();
<a name="263" href="#263">263</a>         Assert.assertEquals( 'E', buf.get( 0 ) );
<a name="264" href="#264">264</a>         Assert.assertEquals( 'F', buf.get( 1 ) );
<a name="265" href="#265">265</a>         Assert.assertEquals( 'C', buf.get( 2 ) ); <em class="comment">// C may not be overwritten</em>
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>         <em class="comment">// UTF-16: We specify byte order to omit BOM.</em>
<a name="268" href="#268">268</a>         encoder = Charset.forName( <span class="string">"UTF-16BE"</span> ).newEncoder();
<a name="269" href="#269">269</a>         buf.clear();
<a name="270" href="#270">270</a>         
<a name="271" href="#271">271</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="272" href="#272">272</a>         Assert.assertEquals( 6, buf.position() );
<a name="273" href="#273">273</a>         buf.clear();
<a name="274" href="#274">274</a>         
<a name="275" href="#275">275</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="276" href="#276">276</a>         Assert.assertEquals( 'A', buf.get( 1 ) );
<a name="277" href="#277">277</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="278" href="#278">278</a>         Assert.assertEquals( 'B', buf.get( 3 ) );
<a name="279" href="#279">279</a>         Assert.assertEquals( 0, buf.get( 4 ) );
<a name="280" href="#280">280</a>         Assert.assertEquals( 'C', buf.get( 5 ) );
<a name="281" href="#281">281</a>         
<a name="282" href="#282">282</a>         buf.putString( <span class="string">"D"</span>, 10, encoder );
<a name="283" href="#283">283</a>         Assert.assertEquals( 10, buf.position() );
<a name="284" href="#284">284</a>         buf.clear();
<a name="285" href="#285">285</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="286" href="#286">286</a>         Assert.assertEquals( 'D', buf.get( 1 ) );
<a name="287" href="#287">287</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="288" href="#288">288</a>         Assert.assertEquals( 0, buf.get( 3 ) );
<a name="289" href="#289">289</a>         
<a name="290" href="#290">290</a>         buf.putString( <span class="string">"EFG"</span>, 4, encoder );
<a name="291" href="#291">291</a>         Assert.assertEquals( 4, buf.position() );
<a name="292" href="#292">292</a>         buf.clear();
<a name="293" href="#293">293</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="294" href="#294">294</a>         Assert.assertEquals( 'E', buf.get( 1 ) );
<a name="295" href="#295">295</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="296" href="#296">296</a>         Assert.assertEquals( 'F', buf.get( 3 ) );
<a name="297" href="#297">297</a>         Assert.assertEquals( 0, buf.get( 4 ) );   <em class="comment">// C may not be overwritten</em>
<a name="298" href="#298">298</a>         Assert.assertEquals( 'C', buf.get( 5 ) ); <em class="comment">// C may not be overwritten</em>
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>         <em class="comment">// Test putting an emptry string</em>
<a name="301" href="#301">301</a>         buf.putString( <span class="string">""</span>, encoder );
<a name="302" href="#302">302</a>         Assert.assertEquals( 0, buf.position() );
<a name="303" href="#303">303</a>         buf.putString( <span class="string">""</span>, 4, encoder );
<a name="304" href="#304">304</a>         Assert.assertEquals( 4, buf.position() );
<a name="305" href="#305">305</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="306" href="#306">306</a>         Assert.assertEquals( 0, buf.get( 1 ) );
<a name="307" href="#307">307</a>     }
<a name="308" href="#308">308</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

