<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-16868</id>
	<title>Nabble - Apache MINA</title>
	<updated>2009-12-05T17:24:32Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Apache-MINA-f16868.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Apache-MINA-f16868.html" />
	<subtitle type="html">Welcome to the &lt;a href=&quot;http://mina.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Apache MINA&lt;/a&gt;&amp;nbsp;mailing list archive! Please read &lt;a href=&quot;http://mina.apache.org/contact.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;the community guideline&lt;/a&gt;&amp;nbsp;before your first post.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26661289</id>
	<title>Who is the author of AbstractPollingIOProcessor.java?</title>
	<published>2009-12-05T17:24:32Z</published>
	<updated>2009-12-05T17:24:32Z</updated>
	<author>
		<name>zswallow</name>
	</author>
	<content type="html">&lt;br&gt;I use mina-2.0.0-RC1 to recv media data(TCP/IP) and immediately send it out. 
&lt;br&gt;I set 2 NioProcessor, one is for recving data, the other is for sending the recved data.
&lt;br&gt;My recv NioProcessor works well. the &amp;quot;select&amp;quot; function will be wakeup more than 25 times per second. But there is sth wrong with my send NioProcessor. Sometimes it will keep sleep for 1 second, although there is lots of data waiting to be sent out.
&lt;br&gt;But if I set 1 NioProcessor, recving and sending data shared this processor, then everything is OK. The problem didn't happen any more.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;I found the reason is that, there is something wrong in thread synchronization.
&lt;br&gt;&lt;br&gt;I changed the code, and everything works well.
&lt;br&gt;1 &amp;nbsp; In AbstractorPollingIoProcessor.java : private void flush(long currentTime) function
&lt;br&gt;&amp;nbsp; &amp;nbsp; I remove &amp;quot;if(flushedAll &amp;&amp; ....)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleFlush(session);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;
&lt;br&gt;2 &amp;nbsp; In AbstractorPollingIoProcessor.java: public final void flush(T session) function
&lt;br&gt;&amp;nbsp; &amp;nbsp; I changed &amp;quot;if(scheduleFlush(session) &amp;&amp; needsWakeup)&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to &amp;quot;if(needsWakeup &amp;&amp; scheduleFlush(session))&amp;quot;
&lt;br&gt;&lt;br&gt;if it is a bug? Anyone can help me with this, or contact the author of AbstractPollingIOProcessor.java?
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Who-is-the-author-of-AbstractPollingIOProcessor.java--tp26661289p26661289.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656409</id>
	<title>[jira] Resolved: (DIRMINA-750) IoBuffer.normalizeCapacity bug</title>
	<published>2009-12-05T07:07:20Z</published>
	<updated>2009-12-05T07:07:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Emmanuel Lecharny resolved DIRMINA-750.
&lt;br&gt;---------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;br&gt;Thanks for the patch, it has been applied !
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://svn.apache.org/viewvc?rev=887550&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887550&amp;view=rev&lt;/a&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; IoBuffer.normalizeCapacity bug
&lt;br&gt;&amp;gt; ------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: DIRMINA-750
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-750&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-750&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: MINA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Core
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-RC1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: N/A
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Bogdan Pistol
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Minor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0-RC1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: patch.txt
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The org.apache.mina.core.buffer.IoBuffer class contains a bug in the normalizeCapacity method: there is an omission in the switch for the 1 &amp;lt;&amp;lt; 20 case.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28DIRMINA-750%29-IoBuffer.normalizeCapacity-bug-tp26656296p26656409.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656373</id>
	<title>svn commit: r887550 - /mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java</title>
	<published>2009-12-05T07:04:11Z</published>
	<updated>2009-12-05T07:04:11Z</updated>
	<author>
		<name>Emmanuel Lecharny</name>
	</author>
	<content type="html">Author: elecharny
&lt;br&gt;Date: Sat Dec &amp;nbsp;5 15:04:10 2009
&lt;br&gt;New Revision: 887550
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887550&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887550&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Fixed a missing value (DIRMINA-750)
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
&lt;br&gt;&lt;br&gt;Modified: mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java?rev=887550&amp;r1=887549&amp;r2=887550&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java?rev=887550&amp;r1=887549&amp;r2=887550&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java (original)
&lt;br&gt;+++ mina/trunk/core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java Sat Dec &amp;nbsp;5 15:04:10 2009
&lt;br&gt;@@ -19,6 +19,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.mina.core.buffer;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;import java.io.IOException;
&lt;br&gt;&amp;nbsp;import java.io.InputStream;
&lt;br&gt;&amp;nbsp;import java.io.OutputStream;
&lt;br&gt;@@ -30,6 +31,7 @@
&lt;br&gt;&amp;nbsp;import java.nio.FloatBuffer;
&lt;br&gt;&amp;nbsp;import java.nio.IntBuffer;
&lt;br&gt;&amp;nbsp;import java.nio.LongBuffer;
&lt;br&gt;+import java.nio.ReadOnlyBufferException;
&lt;br&gt;&amp;nbsp;import java.nio.ShortBuffer;
&lt;br&gt;&amp;nbsp;import java.nio.charset.CharacterCodingException;
&lt;br&gt;&amp;nbsp;import java.nio.charset.CharsetDecoder;
&lt;br&gt;@@ -39,6 +41,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.mina.core.session.IoSession;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * A byte buffer used by MINA applications.
&lt;br&gt;&amp;nbsp; * &amp;lt;p&amp;gt;
&lt;br&gt;@@ -142,55 +145,67 @@
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;&amp;nbsp; * @author &amp;lt;a href=&amp;quot;&lt;a href=&quot;http://mina.apache.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mina.apache.org&lt;/a&gt;&amp;quot;&amp;gt;Apache MINA Project&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;-public abstract class IoBuffer implements Comparable&amp;lt;IoBuffer&amp;gt; {
&lt;br&gt;+public abstract class IoBuffer implements Comparable&amp;lt;IoBuffer&amp;gt;
&lt;br&gt;+{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** The allocator used to create new buffers */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static IoBufferAllocator allocator = new SimpleBufferAllocator();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** A flag indicating which type of buffer we are using : heap or direct */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static boolean useDirectBuffer = false;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the allocator used by existing and new buffers
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBufferAllocator getAllocator() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBufferAllocator getAllocator()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocator;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Sets the allocator used by existing and new buffers
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static void setAllocator(IoBufferAllocator newAllocator) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (newAllocator == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new NullPointerException(&amp;quot;allocator&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static void setAllocator( IoBufferAllocator newAllocator )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( newAllocator == null )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new NullPointerException( &amp;quot;allocator&amp;quot; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IoBufferAllocator oldAllocator = allocator;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allocator = newAllocator;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (null != oldAllocator) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( null != oldAllocator )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oldAllocator.dispose();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if and only if a direct buffer is allocated
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * by default when the type of the new buffer is not specified. &amp;nbsp;The
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * default value is &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static boolean isUseDirectBuffer() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static boolean isUseDirectBuffer()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return useDirectBuffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Sets if a direct buffer should be allocated by default when the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * type of the new buffer is not specified. &amp;nbsp;The default value is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static void setUseDirectBuffer(boolean useDirectBuffer) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static void setUseDirectBuffer( boolean useDirectBuffer )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IoBuffer.useDirectBuffer = useDirectBuffer;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the direct or heap buffer which is capable to store the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * specified amount of bytes.
&lt;br&gt;@@ -199,10 +214,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see #setUseDirectBuffer(boolean)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBuffer allocate(int capacity) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocate(capacity, useDirectBuffer);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBuffer allocate( int capacity )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocate( capacity, useDirectBuffer );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the buffer which is capable of the specified size.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;@@ -210,95 +227,112 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param direct &amp;nbsp; &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; to get a direct buffer,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; to get a heap buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBuffer allocate(int capacity, boolean direct) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (capacity &amp;lt; 0) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException(&amp;quot;capacity: &amp;quot; + capacity);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBuffer allocate( int capacity, boolean direct )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( capacity &amp;lt; 0 )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException( &amp;quot;capacity: &amp;quot; + capacity );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocator.allocate(capacity, direct);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocator.allocate( capacity, direct );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Wraps the specified NIO {@link ByteBuffer} into MINA buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBuffer wrap(ByteBuffer nioBuffer) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocator.wrap(nioBuffer);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBuffer wrap( ByteBuffer nioBuffer )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return allocator.wrap( nioBuffer );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Wraps the specified byte array into MINA heap buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBuffer wrap(byte[] byteArray) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return wrap(ByteBuffer.wrap(byteArray));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBuffer wrap( byte[] byteArray )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return wrap( ByteBuffer.wrap( byteArray ) );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Wraps the specified byte array into MINA heap buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static IoBuffer wrap(byte[] byteArray, int offset, int length) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return wrap(ByteBuffer.wrap(byteArray, offset, length));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static IoBuffer wrap( byte[] byteArray, int offset, int length )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return wrap( ByteBuffer.wrap( byteArray, offset, length ) );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Normalizes the specified capacity of the buffer to power of 2,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * which is often helpful for optimal memory usage and performance. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * If it is greater than or equal to {@link Integer#MAX_VALUE}, it
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * returns {@link Integer#MAX_VALUE}. &amp;nbsp;If it is zero, it returns zero.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static int normalizeCapacity(int requestedCapacity) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (requestedCapacity) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 0:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 0:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 1:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 2:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 3:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 4:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 5:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 6:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 7:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 8:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 9:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 10:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 11:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 12:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 13:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 14:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 15:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 16:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 17:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 18:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 19:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 21:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 22:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 23:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 24:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 25:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 26:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 27:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 28:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 29:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 30:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Integer.MAX_VALUE:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return requestedCapacity;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static int normalizeCapacity( int requestedCapacity )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch ( requestedCapacity )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 0:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 0:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 1:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 2:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 3:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 4:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 5:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 6:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 7:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 8:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 9:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 10:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 11:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 12:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 13:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 14:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 15:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 16:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 17:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 18:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 19:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 20:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 21:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 22:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 23:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 24:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 25:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 26:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 27:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 28:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 29:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 1 &amp;lt;&amp;lt; 30:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case Integer.MAX_VALUE:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return requestedCapacity;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int newCapacity = 1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (newCapacity &amp;lt; requestedCapacity) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while ( newCapacity &amp;lt; requestedCapacity )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;newCapacity &amp;lt;&amp;lt;= 1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (newCapacity &amp;lt; 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( newCapacity &amp;lt; 0 )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Integer.MAX_VALUE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newCapacity;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Creates a new instance. &amp;nbsp;This is an empty constructor.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected IoBuffer() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected IoBuffer()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Do nothing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Declares this buffer and all its derived buffers are not used anymore
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * so that it can be reused by some {@link IoBufferAllocator} implementations.
&lt;br&gt;@@ -307,27 +341,32 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract void free();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the underlying NIO buffer instance.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract ByteBuffer buf();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#isDirect()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean isDirect();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if and only if this buffer is derived from other buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * via {@link #duplicate()}, {@link #slice()} or {@link #asReadOnlyBuffer()}.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean isDerived();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#isReadOnly()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean isReadOnly();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the minimum capacity of this buffer which is used to determine
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * the new capacity of the buffer shrunk by {@link #compact()} and
&lt;br&gt;@@ -336,19 +375,22 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int minimumCapacity();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Sets the minimum capacity of this buffer which is used to determine
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * the new capacity of the buffer shrunk by {@link #compact()} and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link #shrink()} operation. &amp;nbsp;The default value is the initial capacity
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * of the buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer minimumCapacity(int minimumCapacity);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer minimumCapacity( int minimumCapacity );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#capacity()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int capacity();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Increases the capacity of this buffer. &amp;nbsp;If the new capacity is less than
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * or equal to the current capacity, this method returns silently. &amp;nbsp;If the
&lt;br&gt;@@ -356,27 +398,32 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * reallocated while retaining the position, limit, mark and the content
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * of the buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer capacity(int newCapacity);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer capacity( int newCapacity );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if and only if &amp;lt;tt&amp;gt;autoExpand&amp;lt;/tt&amp;gt; is turned on.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean isAutoExpand();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Turns on or off &amp;lt;tt&amp;gt;autoExpand&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer setAutoExpand(boolean autoExpand);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer setAutoExpand( boolean autoExpand );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if and only if &amp;lt;tt&amp;gt;autoShrink&amp;lt;/tt&amp;gt; is turned on.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean isAutoShrink();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Turns on or off &amp;lt;tt&amp;gt;autoShrink&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer setAutoShrink(boolean autoShrink);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer setAutoShrink( boolean autoShrink );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Changes the capacity and limit of this buffer so this buffer get
&lt;br&gt;@@ -384,7 +431,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method works even if you didn't set &amp;lt;tt&amp;gt;autoExpand&amp;lt;/tt&amp;gt; to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer expand(int expectedRemaining);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer expand( int expectedRemaining );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Changes the capacity and limit of this buffer so this buffer get
&lt;br&gt;@@ -393,7 +441,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method works even if you didn't set &amp;lt;tt&amp;gt;autoExpand&amp;lt;/tt&amp;gt; to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer expand(int position, int expectedRemaining);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer expand( int position, int expectedRemaining );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Changes the capacity of this buffer so this buffer occupies as less
&lt;br&gt;@@ -404,47 +453,56 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer shrink();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#position()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int position();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#position(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer position(int newPosition);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer position( int newPosition );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#limit()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int limit();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#limit(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer limit(int newLimit);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer limit( int newLimit );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#mark()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer mark();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns the position of the current mark. &amp;nbsp;This method returns &amp;lt;tt&amp;gt;-1&amp;lt;/tt&amp;gt; if no
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * mark is set.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int markValue();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#reset()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer reset();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#clear()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer clear();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Clears this buffer and fills its content with &amp;lt;tt&amp;gt;NUL&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The position is set to zero, the limit is set to the capacity,
&lt;br&gt;@@ -452,218 +510,261 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer sweep();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**double
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Clears this buffer and fills its content with &amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The position is set to zero, the limit is set to the capacity,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * and the mark is discarded.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer sweep(byte value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer sweep( byte value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#flip()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer flip();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#rewind()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer rewind();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#remaining()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int remaining();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see java.nio.Buffer#hasRemaining()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean hasRemaining();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#duplicate()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer duplicate();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#slice()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer slice();
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asReadOnlyBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer asReadOnlyBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#hasArray()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract boolean hasArray();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#array()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract byte[] array();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#arrayOffset()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int arrayOffset();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#get()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract byte get();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads one unsigned byte as a short integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract short getUnsigned();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#put(byte)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(byte b);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( byte b );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#get(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract byte get(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract byte get( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads one byte as an unsigned short integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract short getUnsigned(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract short getUnsigned( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#put(int, byte)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(int index, byte b);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( int index, byte b );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#get(byte[], int, int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer get(byte[] dst, int offset, int length);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer get( byte[] dst, int offset, int length );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#get(byte[])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer get(byte[] dst);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer get( byte[] dst );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * TODO document me.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer getSlice(int index, int length);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer getSlice( int index, int length );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * TODO document me.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer getSlice(int length);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer getSlice( int length );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of the specified &amp;lt;tt&amp;gt;src&amp;lt;/tt&amp;gt; into this buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(ByteBuffer src);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( ByteBuffer src );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of the specified &amp;lt;tt&amp;gt;src&amp;lt;/tt&amp;gt; into this buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(IoBuffer src);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( IoBuffer src );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#put(byte[], int, int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(byte[] src, int offset, int length);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( byte[] src, int offset, int length );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#put(byte[])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer put(byte[] src);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer put( byte[] src );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#compact()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IoBuffer compact();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#order()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract ByteOrder order();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#order(ByteOrder)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer order(ByteOrder bo);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer order( ByteOrder bo );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getChar()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract char getChar();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putChar(char)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putChar(char value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putChar( char value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getChar(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract char getChar(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract char getChar( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putChar(int, char)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putChar(int index, char value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putChar( int index, char value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asCharBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract CharBuffer asCharBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getShort()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract short getShort();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads two bytes unsigned integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int getUnsignedShort();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putShort(short)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putShort(short value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putShort( short value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getShort()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract short getShort(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract short getShort( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads two bytes unsigned integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract int getUnsignedShort(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract int getUnsignedShort( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putShort(int, short)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putShort(int index, short value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putShort( int index, short value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asShortBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract ShortBuffer asShortBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getInt()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int getInt();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads four bytes unsigned integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract long getUnsignedInt();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Relative &amp;lt;i&amp;gt;get&amp;lt;/i&amp;gt; method for reading a medium int value.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;@@ -675,6 +776,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int getMediumInt();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Relative &amp;lt;i&amp;gt;get&amp;lt;/i&amp;gt; method for reading an unsigned medium int value.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;@@ -686,6 +788,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract int getUnsignedMediumInt();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Absolute &amp;lt;i&amp;gt;get&amp;lt;/i&amp;gt; method for reading a medium int value.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;@@ -699,7 +802,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If &amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt; is negative
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or not smaller than the buffer's limit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract int getMediumInt(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract int getMediumInt( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Absolute &amp;lt;i&amp;gt;get&amp;lt;/i&amp;gt; method for reading an unsigned medium int value.
&lt;br&gt;@@ -714,7 +818,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If &amp;lt;tt&amp;gt;index&amp;lt;/tt&amp;gt; is negative
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or not smaller than the buffer's limit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract int getUnsignedMediumInt(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract int getUnsignedMediumInt( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Relative &amp;lt;i&amp;gt;put&amp;lt;/i&amp;gt; method for writing a medium int
&lt;br&gt;@@ -736,7 +841,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws &amp;nbsp;ReadOnlyBufferException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If this buffer is read-only
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putMediumInt(int value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putMediumInt( int value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Absolute &amp;lt;i&amp;gt;put&amp;lt;/i&amp;gt; method for writing a medium int
&lt;br&gt;@@ -761,108 +867,129 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws &amp;nbsp;ReadOnlyBufferException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If this buffer is read-only
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putMediumInt(int index, int value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putMediumInt( int index, int value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putInt(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putInt(int value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putInt( int value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getInt(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract int getInt(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract int getInt( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads four bytes unsigned integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract long getUnsignedInt(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract long getUnsignedInt( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putInt(int, int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putInt(int index, int value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putInt( int index, int value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asIntBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract IntBuffer asIntBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getLong()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract long getLong();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putLong(int, long)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putLong(long value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putLong( long value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getLong(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract long getLong(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract long getLong( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putLong(int, long)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putLong(int index, long value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putLong( int index, long value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asLongBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract LongBuffer asLongBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getFloat()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract float getFloat();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putFloat(float)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putFloat(float value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putFloat( float value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getFloat(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract float getFloat(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract float getFloat( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putFloat(int, float)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putFloat(int index, float value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putFloat( int index, float value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asFloatBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract FloatBuffer asFloatBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getDouble()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract double getDouble();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putDouble(double)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putDouble(double value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putDouble( double value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#getDouble(int)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract double getDouble(int index);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract double getDouble( int index );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#putDouble(int, double)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putDouble(int index, double value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putDouble( int index, double value );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @see ByteBuffer#asDoubleBuffer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract DoubleBuffer asDoubleBuffer();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns an {@link InputStream} that reads the data from this buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link InputStream#read()} returns &amp;lt;tt&amp;gt;-1&amp;lt;/tt&amp;gt; if the buffer position
&lt;br&gt;@@ -870,6 +997,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract InputStream asInputStream();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns an {@link OutputStream} that appends the data into this buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Please note that the {@link OutputStream#write(int)} will throw a
&lt;br&gt;@@ -880,6 +1008,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract OutputStream asOutputStream();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns hexdump of this buffer. &amp;nbsp;The data and pointer are
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * not changed as a result of this method call.
&lt;br&gt;@@ -889,6 +1018,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract String getHexDump();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Return hexdump of this buffer with limited length.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;@@ -897,7 +1027,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp;hexidecimal representation of this buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract String getHexDump(int lengthLimit);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract String getHexDump( int lengthLimit );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;////////////////////////////////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// String getters and putters //
&lt;br&gt;@@ -908,8 +1039,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * specified &amp;lt;code&amp;gt;decoder&amp;lt;/code&amp;gt; and returns it. &amp;nbsp;This method reads
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * until the limit of this buffer if no &amp;lt;tt&amp;gt;NUL&amp;lt;/tt&amp;gt; is found.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract String getString(CharsetDecoder decoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract String getString( CharsetDecoder decoder ) throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a &amp;lt;code&amp;gt;NUL&amp;lt;/code&amp;gt;-terminated string from this buffer using the
&lt;br&gt;@@ -917,8 +1048,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param fieldSize the maximum number of bytes to read
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract String getString(int fieldSize, CharsetDecoder decoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract String getString( int fieldSize, CharsetDecoder decoder ) throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer using the
&lt;br&gt;@@ -927,8 +1058,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferOverflowException if the specified string doesn't fit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putString(CharSequence val, CharsetEncoder encoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putString( CharSequence val, CharsetEncoder encoder ) throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer as a
&lt;br&gt;@@ -944,16 +1075,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param fieldSize the maximum number of bytes to write
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putString(CharSequence val, int fieldSize,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CharsetEncoder encoder) throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putString( CharSequence val, int fieldSize, CharsetEncoder encoder )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a string which has a 16-bit length field before the actual
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * encoded string, using the specified &amp;lt;code&amp;gt;decoder&amp;lt;/code&amp;gt; and returns it.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method is a shortcut for &amp;lt;tt&amp;gt;getPrefixedString(2, decoder)&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract String getPrefixedString(CharsetDecoder decoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract String getPrefixedString( CharsetDecoder decoder ) throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a string which has a length field before the actual
&lt;br&gt;@@ -961,8 +1093,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param prefixLength the length of the length field (1, 2, or 4)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract String getPrefixedString(int prefixLength, CharsetDecoder decoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract String getPrefixedString( int prefixLength, CharsetDecoder decoder )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer as a
&lt;br&gt;@@ -972,8 +1105,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferOverflowException if the specified string doesn't fit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString(CharSequence in, CharsetEncoder encoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString( CharSequence in, CharsetEncoder encoder )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer as a
&lt;br&gt;@@ -985,8 +1119,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferOverflowException if the specified string doesn't fit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString(CharSequence in, int prefixLength,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CharsetEncoder encoder) throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString( CharSequence in, int prefixLength, CharsetEncoder encoder )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer as a
&lt;br&gt;@@ -999,9 +1134,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferOverflowException if the specified string doesn't fit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString(CharSequence in, int prefixLength,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int padding, CharsetEncoder encoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString( CharSequence in, int prefixLength, int padding, CharsetEncoder encoder )
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the content of &amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt; into this buffer as a
&lt;br&gt;@@ -1014,9 +1149,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferOverflowException if the specified string doesn't fit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString(CharSequence val, int prefixLength,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int padding, byte padValue, CharsetEncoder encoder)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws CharacterCodingException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putPrefixedString( CharSequence val, int prefixLength, int padding, byte padValue,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CharsetEncoder encoder ) throws CharacterCodingException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a Java object from the buffer using the context {@link ClassLoader}
&lt;br&gt;@@ -1024,16 +1159,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public abstract Object getObject() throws ClassNotFoundException;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a Java object from the buffer using the specified &amp;lt;tt&amp;gt;classLoader&amp;lt;/tt&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract Object getObject(final ClassLoader classLoader)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws ClassNotFoundException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract Object getObject( final ClassLoader classLoader ) throws ClassNotFoundException;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified Java object to the buffer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putObject(Object o);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putObject( Object o );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if this buffer contains a data which has a data
&lt;br&gt;@@ -1050,7 +1187,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws IllegalArgumentException if prefixLength is wrong
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferDataException &amp;nbsp; &amp;nbsp; &amp;nbsp;if data length is negative
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract boolean prefixedDataAvailable(int prefixLength);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract boolean prefixedDataAvailable( int prefixLength );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if this buffer contains a data which has a data
&lt;br&gt;@@ -1063,7 +1201,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws IllegalArgumentException if prefixLength is wrong
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws BufferDataException &amp;nbsp; &amp;nbsp; &amp;nbsp;if data length is negative or greater then &amp;lt;tt&amp;gt;maxDataLength&amp;lt;/tt&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract boolean prefixedDataAvailable(int prefixLength, int maxDataLength);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract boolean prefixedDataAvailable( int prefixLength, int maxDataLength );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/////////////////////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// IndexOf methods //
&lt;br&gt;@@ -1075,7 +1214,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return &amp;lt;tt&amp;gt;-1&amp;lt;/tt&amp;gt; if the specified byte is not found
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract int indexOf(byte b);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract int indexOf( byte b );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//////////////////////////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Skip or fill methods //
&lt;br&gt;@@ -1085,31 +1225,36 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Forwards the position of this buffer as the specified &amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * bytes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer skip(int size);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer skip( int size );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Fills this buffer with the specified value.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method moves buffer position forward.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer fill(byte value, int size);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer fill( byte value, int size );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Fills this buffer with the specified value.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method does not change buffer position.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer fillAndReset(byte value, int size);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer fillAndReset( byte value, int size );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Fills this buffer with &amp;lt;code&amp;gt;NUL (0x00)&amp;lt;/code&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method moves buffer position forward.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer fill(int size);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer fill( int size );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Fills this buffer with &amp;lt;code&amp;gt;NUL (0x00)&amp;lt;/code&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * This method does not change buffer position.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer fillAndReset(int size);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer fillAndReset( int size );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//////////////////////////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Enum methods &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //
&lt;br&gt;@@ -1122,7 +1267,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; The enum type to return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnum(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnum( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a byte from the buffer and returns the correlating enum constant defined
&lt;br&gt;@@ -1132,7 +1278,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index from which the byte will be read
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnum(int index, Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnum( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a short from the buffer and returns the correlating enum constant defined
&lt;br&gt;@@ -1141,7 +1288,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; The enum type to return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumShort(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumShort( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a short from the buffer and returns the correlating enum constant defined
&lt;br&gt;@@ -1151,7 +1299,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index from which the bytes will be read
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumShort(int index, Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumShort( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads an int from the buffer and returns the correlating enum constant defined
&lt;br&gt;@@ -1160,7 +1309,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; The enum type to return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumInt(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumInt( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads an int from the buffer and returns the correlating enum constant defined
&lt;br&gt;@@ -1170,14 +1320,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index from which the bytes will be read
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;The enum's class object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumInt(int index, Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; E getEnumInt( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as a byte.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnum(Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnum( Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as a byte.
&lt;br&gt;@@ -1185,14 +1337,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index The index at which the byte will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnum(int index, Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnum( int index, Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as a short.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumShort(Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumShort( Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as a short.
&lt;br&gt;@@ -1200,14 +1354,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index The index at which the bytes will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumShort(int index, Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumShort( int index, Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as an integer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumInt(Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumInt( Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes an enum's ordinal value to the buffer as an integer.
&lt;br&gt;@@ -1215,7 +1371,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index The index at which the bytes will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param e &amp;nbsp;The enum to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumInt(int index, Enum&amp;lt;?&amp;gt; e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract IoBuffer putEnumInt( int index, Enum&amp;lt;?&amp;gt; e );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//////////////////////////
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// EnumSet methods &amp;nbsp; &amp;nbsp; &amp;nbsp;//
&lt;br&gt;@@ -1232,7 +1389,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSet(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSet( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a byte sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1243,8 +1401,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSet(int index,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSet( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a short sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1254,7 +1412,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetShort(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetShort( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a short sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1265,8 +1424,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetShort(int index,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetShort( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads an int sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1276,7 +1435,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetInt(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetInt( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads an int sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1287,8 +1447,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetInt(int index,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetInt( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a long sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1298,7 +1458,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetLong(Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetLong( Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Reads a long sized bit vector and converts it to an {@link EnumSet}.
&lt;br&gt;@@ -1309,8 +1470,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param enumClass &amp;nbsp;the enum class used to create the EnumSet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the EnumSet representation of the bit vector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetLong(int index,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class&amp;lt;E&amp;gt; enumClass);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; EnumSet&amp;lt;E&amp;gt; getEnumSetLong( int index, Class&amp;lt;E&amp;gt; enumClass );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a byte sized bit vector.
&lt;br&gt;@@ -1318,7 +1479,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; the enum type of the Set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSet(Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSet( Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a byte sized bit vector.
&lt;br&gt;@@ -1327,7 +1489,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index at which the byte will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSet(int index, Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSet( int index, Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a short sized bit vector.
&lt;br&gt;@@ -1335,7 +1498,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; the enum type of the Set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetShort(Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetShort( Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a short sized bit vector.
&lt;br&gt;@@ -1344,7 +1508,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index at which the bytes will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetShort(int index, Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetShort( int index, Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as an int sized bit vector.
&lt;br&gt;@@ -1352,7 +1517,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; the enum type of the Set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetInt(Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetInt( Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as an int sized bit vector.
&lt;br&gt;@@ -1361,7 +1527,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index at which the bytes will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetInt(int index, Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetInt( int index, Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a long sized bit vector.
&lt;br&gt;@@ -1369,7 +1536,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param &amp;lt;E&amp;gt; the enum type of the Set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetLong(Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetLong( Set&amp;lt;E&amp;gt; set );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Writes the specified {@link Set} to the buffer as a long sized bit vector.
&lt;br&gt;@@ -1378,5 +1546,5 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param index &amp;nbsp;the index at which the bytes will be written
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param set &amp;nbsp;the enum set to write to the buffer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetLong(int index, Set&amp;lt;E&amp;gt; set);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public abstract &amp;lt;E extends Enum&amp;lt;E&amp;gt;&amp;gt; IoBuffer putEnumSetLong( int index, Set&amp;lt;E&amp;gt; set );
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887550----mina-trunk-core-src-main-java-org-apache-mina-core-buffer-IoBuffer.java-tp26656373p26656373.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656353</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-05T07:01:22Z</published>
	<updated>2009-12-05T07:01:22Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">David Latorre a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/12/4 &amp;quot;Trustin Lee (이희승)&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26656353&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;trustin@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; On 2009/12/04 9:25 pm, Emmanuel Lecharny wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Glenn Ivar Klausen a écrit :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Emmanuel LŽcharny wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This name was picked by someone who was at the origin of the project,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; at a time he was pretty alone working on it (since then, he quit). I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; personnaly don't think it's a good idea to attach a name with a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; version, à la Ubuntu (I have always been totally lost with Intrepid
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jakal or Laughable Vampire, not being able to make a connection with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 8.04 or 9.10).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Ok, ... I was just referring to the fact that Norwegian is spelled
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; wrong, however, its a good point regarding the nick names.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; G (Norwegian)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Wikipedia, about &amp;quot;Norwegian wood&amp;quot; :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;This exchange took place in a press conference in Los Angeles on 24
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; August 1966:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Reporter: I'd like to direct this question to messrs. Lennon and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; McCartney. In a recent article, Time magazine put down pop music. And
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; they referred to &amp;quot;Day Tripper&amp;quot; as being about a prostitute...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Paul: Oh yeah.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Reporter: ...and &amp;quot;Norwegian Wood&amp;quot; as being about a lesbian.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Paul: Oh yeah.&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; It actually means a novel with the same title [1]. &amp;nbsp;Other code names are
&lt;br&gt;&amp;gt;&amp;gt; also the titles of Haruki's novels. &amp;nbsp;The code names were never announced
&lt;br&gt;&amp;gt;&amp;gt; anyway. &amp;nbsp;Feel free to remove it from JIRA. &amp;nbsp;I'd be glad to take it over to
&lt;br&gt;&amp;gt;&amp;gt; Netty [2].
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What a great novelist he is :-) To my mind, having our 'nickames'
&lt;br&gt;&amp;gt; based on Haruki's novels instead of what's usual in other projects (I
&lt;br&gt;&amp;gt; won't &amp;nbsp;give any examples ...) is something to be proud of :P
&lt;br&gt;&amp;gt; But it is true that version numbers are much more useful so ..
&lt;br&gt;&amp;gt; whatever. Otherwise I would suggest &amp;quot;sputnik&amp;quot; as a new nickname (and
&lt;br&gt;&amp;gt; goal) for next MINA version. That's from &amp;quot;Sputnik, my love&amp;quot; by
&lt;br&gt;&amp;gt; Murakami, of course.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm sorry that no one seemed to notice the misspelling, Glen, but
&lt;br&gt;&amp;gt; these things happen from time to time, my apologies :P Btw in Spain,
&lt;br&gt;&amp;gt; they coined their own title for this novel, although it is in English!
&lt;br&gt;&amp;gt; Tokio Blues ( Ok, so not English either as they don't say Tokyo but
&lt;br&gt;&amp;gt; definitely not Spanish).
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;Don't get me wrong : I don't think that giving nicknames to a project 
&lt;br&gt;(even with some spelling issues) is a bad thing. The problem is that 
&lt;br&gt;it's hard to remember which version it's associated with, and it may 
&lt;br&gt;have some local interpretation which may be embarassing; One interesting 
&lt;br&gt;example is the Mitshubishi Pajero car : try to sell this car in spain &amp;nbsp;! 
&lt;br&gt;(&lt;a href=&quot;http://en.wiktionary.org/wiki/pajero&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wiktionary.org/wiki/pajero&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;Let's stick to the version numbers, it's just plain ok.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26656353.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656306</id>
	<title>[jira] Updated: (DIRMINA-750) IoBuffer.normalizeCapacity bug</title>
	<published>2009-12-05T06:55:20Z</published>
	<updated>2009-12-05T06:55:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Bogdan Pistol updated DIRMINA-750:
&lt;br&gt;----------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Attachment: patch.txt
&lt;br&gt;&lt;br&gt;A patch that solves the bug in r887546.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; IoBuffer.normalizeCapacity bug
&lt;br&gt;&amp;gt; ------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: DIRMINA-750
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-750&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-750&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: MINA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Core
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-RC1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: N/A
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Bogdan Pistol
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Minor
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0-RC1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: patch.txt
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The org.apache.mina.core.buffer.IoBuffer class contains a bug in the normalizeCapacity method: there is an omission in the switch for the 1 &amp;lt;&amp;lt; 20 case.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28DIRMINA-750%29-IoBuffer.normalizeCapacity-bug-tp26656296p26656306.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656296</id>
	<title>[jira] Created: (DIRMINA-750) IoBuffer.normalizeCapacity bug</title>
	<published>2009-12-05T06:53:20Z</published>
	<updated>2009-12-05T06:53:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">IoBuffer.normalizeCapacity bug
&lt;br&gt;------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: DIRMINA-750
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-750&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-750&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: MINA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Core
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-RC1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: N/A
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Bogdan Pistol
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Minor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0-RC1
&lt;br&gt;&lt;br&gt;&lt;br&gt;The org.apache.mina.core.buffer.IoBuffer class contains a bug in the normalizeCapacity method: there is an omission in the switch for the 1 &amp;lt;&amp;lt; 20 case.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28DIRMINA-750%29-IoBuffer.normalizeCapacity-bug-tp26656296p26656296.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656237</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-05T06:44:04Z</published>
	<updated>2009-12-05T06:44:04Z</updated>
	<author>
		<name>David Latorre</name>
	</author>
	<content type="html">2009/12/4 &amp;quot;Trustin Lee (이희승)&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26656237&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;trustin@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 2009/12/04 9:25 pm, Emmanuel Lecharny wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Glenn Ivar Klausen a écrit :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Emmanuel LŽcharny wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This name was picked by someone who was at the origin of the project,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; at a time he was pretty alone working on it (since then, he quit). I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; personnaly don't think it's a good idea to attach a name with a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; version, à la Ubuntu (I have always been totally lost with Intrepid
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jakal or Laughable Vampire, not being able to make a connection with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 8.04 or 9.10).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Ok, ... I was just referring to the fact that Norwegian is spelled
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; wrong, however, its a good point regarding the nick names.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; G (Norwegian)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Wikipedia, about &amp;quot;Norwegian wood&amp;quot; :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;This exchange took place in a press conference in Los Angeles on 24
&lt;br&gt;&amp;gt;&amp;gt; August 1966:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Reporter: I'd like to direct this question to messrs. Lennon and
&lt;br&gt;&amp;gt;&amp;gt; McCartney. In a recent article, Time magazine put down pop music. And
&lt;br&gt;&amp;gt;&amp;gt; they referred to &amp;quot;Day Tripper&amp;quot; as being about a prostitute...
&lt;br&gt;&amp;gt;&amp;gt; Paul: Oh yeah.
&lt;br&gt;&amp;gt;&amp;gt; Reporter: ...and &amp;quot;Norwegian Wood&amp;quot; as being about a lesbian.
&lt;br&gt;&amp;gt;&amp;gt; Paul: Oh yeah.&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; :)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It actually means a novel with the same title [1].  Other code names are
&lt;br&gt;&amp;gt; also the titles of Haruki's novels.  The code names were never announced
&lt;br&gt;&amp;gt; anyway.  Feel free to remove it from JIRA.  I'd be glad to take it over to
&lt;br&gt;&amp;gt; Netty [2].
&lt;/div&gt;&lt;br&gt;What a great novelist he is :-) To my mind, having our 'nickames'
&lt;br&gt;based on Haruki's novels instead of what's usual in other projects (I
&lt;br&gt;won't &amp;nbsp;give any examples ...) is something to be proud of :P
&lt;br&gt;But it is true that version numbers are much more useful so ..
&lt;br&gt;whatever. Otherwise I would suggest &amp;quot;sputnik&amp;quot; as a new nickname (and
&lt;br&gt;goal) for next MINA version. That's from &amp;quot;Sputnik, my love&amp;quot; by
&lt;br&gt;Murakami, of course.
&lt;br&gt;&lt;br&gt;I'm sorry that no one seemed to notice the misspelling, Glen, but
&lt;br&gt;these things happen from time to time, my apologies :P Btw in Spain,
&lt;br&gt;they coined their own title for this novel, although it is in English!
&lt;br&gt;Tokio Blues ( Ok, so not English either as they don't say Tokyo but
&lt;br&gt;definitely not Spanish).
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Trustin
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Norwegian_Wood_(novel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Norwegian_Wood_(novel&lt;/a&gt;)
&lt;br&gt;&amp;gt; [2] &lt;a href=&quot;http://www.jboss.org/netty/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jboss.org/netty/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26656237.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26656065</id>
	<title>Re: Question about delays with server writing messages</title>
	<published>2009-12-05T06:24:44Z</published>
	<updated>2009-12-05T06:24:44Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">Daniel Egger a écrit :
&lt;br&gt;&amp;gt; It turns out that the problem does not seem to be on the network side...
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Well, that's a good news, somehow. The error you get sounds so weird, 
&lt;br&gt;that I rather prefer to see it as a pb on your client :)
&lt;br&gt;&amp;gt; Is it really the case that the server only actually sends the message
&lt;br&gt;&amp;gt; after a write on a session when the Mina session on the client side
&lt;br&gt;&amp;gt; actually reads the buffer?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;The pb is that the server depends on the socket to be ready for write in 
&lt;br&gt;order to write some more data. This is an issue you have to deal with 
&lt;br&gt;when writing servers, it's known as the 'slow client' issue : if clients 
&lt;br&gt;aren't fast enough to read the data the server writes back, at some 
&lt;br&gt;point, it can swamp the whole server. Malevolent clients can also send 
&lt;br&gt;thousands of requests without ever reading the response, for the same 
&lt;br&gt;result...
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Question-about-delays-with-server-writing-messages-tp26581887p26656065.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26655747</id>
	<title>Re: Question about delays with server writing messages</title>
	<published>2009-12-05T05:42:05Z</published>
	<updated>2009-12-05T05:42:05Z</updated>
	<author>
		<name>daniel.egger@gmail.com</name>
	</author>
	<content type="html">It turns out that the problem does not seem to be on the network side...
&lt;br&gt;&lt;br&gt;I tried to make a simple example client and server which uses more or
&lt;br&gt;less the same network code as my game with a very simple Swing GUI
&lt;br&gt;client. This example worked well without delays up to even 9 clients.
&lt;br&gt;&lt;br&gt;As I tried to compare the running behaviour with my actual game it
&lt;br&gt;turned out that with 4 local clients running at the same time, and all
&lt;br&gt;graphically displaying on my machine, the CPU usage often peeks at
&lt;br&gt;100%. With only 3 clients it never uses all the CPU and under these
&lt;br&gt;circumstances there also occur no network delays.
&lt;br&gt;Still it is somewhat strange. Even with a profiler run on one of the
&lt;br&gt;clients I cannot see, which threads use so much CPU. But I think it
&lt;br&gt;must be something on the graphic side.
&lt;br&gt;&lt;br&gt;So I suppose the delays which I experienced on the server seem to be
&lt;br&gt;caused by clients which do not read the message right away but only
&lt;br&gt;after some delay.
&lt;br&gt;&lt;br&gt;Is it really the case that the server only actually sends the message
&lt;br&gt;after a write on a session when the Mina session on the client side
&lt;br&gt;actually reads the buffer?
&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 10:12 PM, Emmanuel Lecharny
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26655747&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elecharny@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Very strange...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Some code could help at this point, it's very difficult to know what's
&lt;br&gt;&amp;gt; going on without a minimal version we can test.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Nov 30, 2009 at 10:06 PM, Daniel Egger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26655747&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;daniel.egger@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hello all
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am trying to program a simple network game with the help of Mina.
&lt;br&gt;&amp;gt;&amp;gt; I am using version 2.0 RC1 of Mina right now.
&lt;br&gt;&amp;gt;&amp;gt; For the moment my game is very simple. I have a simple server which
&lt;br&gt;&amp;gt;&amp;gt; writes any incoming message in its messageReceived method out to any
&lt;br&gt;&amp;gt;&amp;gt; connected client.
&lt;br&gt;&amp;gt;&amp;gt; I use the ObjectSerializationCodecFactory as a protocol codec filter
&lt;br&gt;&amp;gt;&amp;gt; and my messages are very small only having a small number of fields.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So much for the setup. This system seems to work rather well for only
&lt;br&gt;&amp;gt;&amp;gt; two connected clients and I even tested it successfully in a
&lt;br&gt;&amp;gt;&amp;gt; distributed manner.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But in the last few days I tried to setup a server on my local machine
&lt;br&gt;&amp;gt;&amp;gt; with four local clients connected. With these setup a few strange
&lt;br&gt;&amp;gt;&amp;gt; delays occur. It often happens that messages don't get written right
&lt;br&gt;&amp;gt;&amp;gt; away to the client but only a considerable number of seconds later.
&lt;br&gt;&amp;gt;&amp;gt; (about 5 seconds up until 20 seconds...).
&lt;br&gt;&amp;gt;&amp;gt; Here is a simple example: Rhe server receives an incoming message in
&lt;br&gt;&amp;gt;&amp;gt; the messageReceived method and writes this message immediately to
&lt;br&gt;&amp;gt;&amp;gt; every of its four connected clients. Then the server sends the message
&lt;br&gt;&amp;gt;&amp;gt; right away out to three out of the four connected clients. I can see
&lt;br&gt;&amp;gt;&amp;gt; that by logging the calls to the messageSent method. But the server
&lt;br&gt;&amp;gt;&amp;gt; calls the messageSent for the fourth client only about 5 seconds later
&lt;br&gt;&amp;gt;&amp;gt; and sometimes even later.
&lt;br&gt;&amp;gt;&amp;gt; This behaviour happens quite often at about 25% of every incoming
&lt;br&gt;&amp;gt;&amp;gt; message event. At other times all the four clients get the message
&lt;br&gt;&amp;gt;&amp;gt; right away.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I don't know much about the inner workings of NIO and/or buffers so
&lt;br&gt;&amp;gt;&amp;gt; this could be trivial. I am not very sure if this is an expected
&lt;br&gt;&amp;gt;&amp;gt; behaviour (maybe a buffering problem?), or if I could do something
&lt;br&gt;&amp;gt;&amp;gt; against that. But I am very surprised that in this simple setting with
&lt;br&gt;&amp;gt;&amp;gt; only local clients and a local server a delay of several seconds can
&lt;br&gt;&amp;gt;&amp;gt; even occur.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Any suggestions on how I could solve this issue are very welcome.
&lt;br&gt;&amp;gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt;&amp;gt; Daniel
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Cordialement,
&lt;br&gt;&amp;gt; Emmanuel Lécharny
&lt;br&gt;&amp;gt; www.iktek.com
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Question-about-delays-with-server-writing-messages-tp26581887p26655747.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26648187</id>
	<title>svn commit: r887332 - /mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java</title>
	<published>2009-12-04T11:47:43Z</published>
	<updated>2009-12-04T11:47:43Z</updated>
	<author>
		<name>gnodet-2</name>
	</author>
	<content type="html">Author: gnodet
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 19:47:43 2009
&lt;br&gt;New Revision: 887332
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887332&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887332&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;SSHD-65: Ability to specify the host name when binding the sshd server socket
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java?rev=887332&amp;r1=887331&amp;r2=887332&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java?rev=887332&amp;r1=887331&amp;r2=887332&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java Fri Dec &amp;nbsp;4 19:47:43 2009
&lt;br&gt;@@ -108,6 +108,7 @@
&lt;br&gt;&amp;nbsp;public class SshServer extends AbstractFactoryManager implements ServerFactoryManager {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected IoAcceptor acceptor;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected String host;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected int port;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected int backlog = 50;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected boolean reuseAddress = true;
&lt;br&gt;@@ -124,6 +125,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public SshServer() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getHost() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return host;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void setHost(String host) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.host = host;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public int getPort() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return port;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -272,7 +281,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;handler.setServer(this);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acceptor.setHandler(handler);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acceptor.bind(new InetSocketAddress(port));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acceptor.bind(host != null ? new InetSocketAddress(host, port) : new InetSocketAddress(port));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (port == 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;port = ((InetSocketAddress) acceptor.getLocalAddress()).getPort();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887332----mina-sshd-trunk-sshd-core-src-main-java-org-apache-sshd-SshServer.java-tp26648187p26648187.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26646241</id>
	<title>svn commit: r887288 - in /mina/sshd/trunk/sshd-core/src: main/java/org/apache/sshd/ main/java/org/apache/sshd/client/auth/ main/java/org/apache/sshd/client/session/ main/java/org/apache/sshd/common/keyprovider/ test/java/org/apache/sshd/</title>
	<published>2009-12-04T09:40:20Z</published>
	<updated>2009-12-04T09:40:20Z</updated>
	<author>
		<name>gnodet-2</name>
	</author>
	<content type="html">Author: gnodet
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;New Revision: 887288
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887288&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887288&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;SSHD-25: Support key based authentication on the client side
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/ClientSession.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -19,6 +19,7 @@
&lt;br&gt;&amp;nbsp;package org.apache.sshd;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.io.IOException;
&lt;br&gt;+import java.security.KeyPair;
&lt;br&gt;&amp;nbsp;import java.security.PublicKey;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.future.AuthFuture;
&lt;br&gt;@@ -30,7 +31,7 @@
&lt;br&gt;&amp;nbsp; * A client session is established using the {@link SshClient}.
&lt;br&gt;&amp;nbsp; * Once the session has been created, the user has to authenticate
&lt;br&gt;&amp;nbsp; * using either {@link #authPassword(String, String)} or
&lt;br&gt;- * {@link #authPublicKey(String, java.security.PublicKey)}.
&lt;br&gt;+ * {@link #authPublicKey(String, java.security.KeyPair)}.
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;&amp;nbsp; * From this session, channels can be created using the
&lt;br&gt;&amp;nbsp; * {@link #createChannel(String)} method. &amp;nbsp;Multiple channels can
&lt;br&gt;@@ -54,7 +55,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;AuthFuture authPassword(String username, String password) throws IOException;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;AuthFuture authPublicKey(String username, PublicKey key) throws IOException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;AuthFuture authPublicKey(String username, KeyPair key) throws IOException;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ClientChannel createChannel(String type) throws Exception;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshClient.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -18,14 +18,10 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.sshd;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import java.io.BufferedReader;
&lt;br&gt;-import java.io.InputStreamReader;
&lt;br&gt;-import java.io.ByteArrayInputStream;
&lt;br&gt;-import java.io.ByteArrayOutputStream;
&lt;br&gt;-import java.io.OutputStreamWriter;
&lt;br&gt;-import java.io.Writer;
&lt;br&gt;+import java.io.*;
&lt;br&gt;&amp;nbsp;import java.net.InetSocketAddress;
&lt;br&gt;&amp;nbsp;import java.net.SocketAddress;
&lt;br&gt;+import java.security.KeyPair;
&lt;br&gt;&amp;nbsp;import java.util.ArrayList;
&lt;br&gt;&amp;nbsp;import java.util.Arrays;
&lt;br&gt;&amp;nbsp;import java.util.List;
&lt;br&gt;@@ -55,6 +51,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.cipher.BlowfishCBC;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.cipher.TripleDESCBC;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.compression.CompressionNone;
&lt;br&gt;+import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.mac.HMACMD5;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.mac.HMACMD596;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.mac.HMACSHA1;
&lt;br&gt;@@ -68,6 +65,8 @@
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.util.NoCloseInputStream;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.util.NoCloseOutputStream;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.util.SecurityUtils;
&lt;br&gt;+import org.bouncycastle.openssl.PEMReader;
&lt;br&gt;+import org.bouncycastle.openssl.PasswordFinder;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * Entry point for the client side of the SSH protocol.
&lt;br&gt;@@ -304,12 +303,46 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ClientSession session = client.connect(host, port).await().getSession();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int ret = ClientSession.WAIT_AUTH;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; files = new ArrayList&amp;lt;String&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File f = new File(System.getProperty(&amp;quot;user.home&amp;quot;), &amp;quot;.ssh/id_dsa&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f.exists() &amp;&amp; f.isFile() &amp;&amp; f.canRead()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;files.add(f.getAbsolutePath());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f = new File(System.getProperty(&amp;quot;user.home&amp;quot;), &amp;quot;.ssh/id_rsa&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (f.exists() &amp;&amp; f.isFile() &amp;&amp; f.canRead()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;files.add(f.getAbsolutePath());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;KeyPair[] keys = null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (files.size() &amp;gt; 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;keys = new FileKeyPairProvider(files.toArray(new String[0]), new PasswordFinder() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public char[] getPassword() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Enter password for private key: &amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String password = r.readLine();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return password.toCharArray();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}).loadKeys();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int nbKey = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while ((ret &amp; ClientSession.WAIT_AUTH) != 0) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.print(&amp;quot;Password:&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String password = r.readLine();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session.authPassword(login, password);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret = session.waitFor(ClientSession.WAIT_AUTH | ClientSession.CLOSED | ClientSession.AUTHED, 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (keys != null &amp;&amp; nbKey &amp;lt; keys.length) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session.authPublicKey(login, keys[nbKey++]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret = session.waitFor(ClientSession.WAIT_AUTH | ClientSession.CLOSED | ClientSession.AUTHED, 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.print(&amp;quot;Password:&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String password = r.readLine();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session.authPassword(login, password);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret = session.waitFor(ClientSession.WAIT_AUTH | ClientSession.CLOSED | ClientSession.AUTHED, 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((ret &amp; ClientSession.CLOSED) != 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.err.println(&amp;quot;error&amp;quot;);
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/SshServer.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -18,9 +18,11 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;package org.apache.sshd;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+import java.io.File;
&lt;br&gt;&amp;nbsp;import java.io.IOException;
&lt;br&gt;&amp;nbsp;import java.net.InetSocketAddress;
&lt;br&gt;&amp;nbsp;import java.security.InvalidKeyException;
&lt;br&gt;+import java.security.PublicKey;
&lt;br&gt;&amp;nbsp;import java.util.ArrayList;
&lt;br&gt;&amp;nbsp;import java.util.Arrays;
&lt;br&gt;&amp;nbsp;import java.util.EnumSet;
&lt;br&gt;@@ -420,7 +422,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.err.println(&amp;quot;Starting SSHD on port &amp;quot; + port);
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SshServer sshd = SshServer.setUpDefaultServer();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setPort(port);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (SecurityUtils.isBouncyCastleRegistered()) {
&lt;br&gt;@@ -440,6 +442,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return username != null &amp;&amp; username.equals(password);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setPublickeyAuthenticator(new PublickeyAuthenticator() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean authenticate(String username, PublicKey key, ServerSession session) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//File f = new File(&amp;quot;/Users/&amp;quot; + username + &amp;quot;/.ssh/authorized_keys&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setTcpIpForwardFilter(new TcpIpForwardFilter() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean canListen(InetSocketAddress address, ServerSession session) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&lt;br&gt;Added: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java?rev=887288&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java?rev=887288&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java (added)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -0,0 +1,101 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one
&lt;br&gt;+ * or more contributor license agreements. &amp;nbsp;See the NOTICE file
&lt;br&gt;+ * distributed with this work for additional information
&lt;br&gt;+ * regarding copyright ownership. &amp;nbsp;The ASF licenses this file
&lt;br&gt;+ * to you under the Apache License, Version 2.0 (the
&lt;br&gt;+ * &amp;quot;License&amp;quot;); you may not use this file except in compliance
&lt;br&gt;+ * with the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;nbsp; &lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ *
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing,
&lt;br&gt;+ * software distributed under the License is distributed on an
&lt;br&gt;+ * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
&lt;br&gt;+ * KIND, either express or implied. &amp;nbsp;See the License for the
&lt;br&gt;+ * specific language governing permissions and limitations
&lt;br&gt;+ * under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.sshd.client.auth;
&lt;br&gt;+
&lt;br&gt;+import org.apache.sshd.client.UserAuth;
&lt;br&gt;+import org.apache.sshd.client.session.ClientSessionImpl;
&lt;br&gt;+import org.apache.sshd.common.KeyPairProvider;
&lt;br&gt;+import org.apache.sshd.common.NamedFactory;
&lt;br&gt;+import org.apache.sshd.common.Signature;
&lt;br&gt;+import org.apache.sshd.common.SshConstants;
&lt;br&gt;+import org.apache.sshd.common.util.Buffer;
&lt;br&gt;+import org.apache.sshd.common.util.BufferUtils;
&lt;br&gt;+import org.slf4j.Logger;
&lt;br&gt;+import org.slf4j.LoggerFactory;
&lt;br&gt;+
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+import java.security.KeyPair;
&lt;br&gt;+import java.security.PublicKey;
&lt;br&gt;+import java.security.interfaces.DSAPublicKey;
&lt;br&gt;+import java.security.interfaces.RSAPublicKey;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * TODO Add javadoc
&lt;br&gt;+ *
&lt;br&gt;+ * @author &amp;lt;a href=&amp;quot;mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26646241&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;&amp;quot;&amp;gt;Apache MINA SSHD Project&amp;lt;/a&amp;gt;
&lt;br&gt;+ */
&lt;br&gt;+public class UserAuthPublicKey implements UserAuth {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected final Logger log = LoggerFactory.getLogger(getClass());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public UserAuthPublicKey(ClientSessionImpl session, String username, KeyPair key) throws IOException {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Send SSH_MSG_USERAUTH_REQUEST for password&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Buffer buffer = session.createBuffer(SshConstants.Message.SSH_MSG_USERAUTH_REQUEST);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int pos1 = buffer.wpos() - 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putString(username);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putString(&amp;quot;ssh-connection&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putString(&amp;quot;publickey&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putByte((byte) 1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putString((key.getPublic() instanceof RSAPublicKey) ? KeyPairProvider.SSH_RSA : KeyPairProvider.SSH_DSS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int pos2 = buffer.wpos();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Buffer b = new Buffer();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b.putPublicKey(key.getPublic());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putInt(b.available());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putBuffer(b);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Signature verif = NamedFactory.Utils.create(session.getFactoryManager().getSignatureFactories(), (key.getPublic() instanceof RSAPublicKey) ? KeyPairProvider.SSH_RSA : KeyPairProvider.SSH_DSS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;verif.init(key.getPublic(), key.getPrivate());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Buffer bs = new Buffer();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putString(session.getKex().getH());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putCommand(SshConstants.Message.SSH_MSG_USERAUTH_REQUEST);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putString(username);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putString(&amp;quot;ssh-connection&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putString(&amp;quot;publickey&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putByte((byte) 1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putString((key.getPublic() instanceof RSAPublicKey) ? KeyPairProvider.SSH_RSA : KeyPairProvider.SSH_DSS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putInt(b.available());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bs.putBuffer(b);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;verif.update(bs.array(), bs.rpos(), bs.available());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buffer.putBytes(verif.sign());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session.writePacket(buffer);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw e;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw (IOException) new IOException(&amp;quot;Error performing public key authentication&amp;quot;).initCause(e);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Result next(Buffer buffer) throws IOException {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SshConstants.Message cmd = buffer.getCommand();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Received {}&amp;quot;, cmd);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (cmd == SshConstants.Message.SSH_MSG_USERAUTH_SUCCESS) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Result.Success;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} if (cmd == SshConstants.Message.SSH_MSG_USERAUTH_FAILURE) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Result.Failure;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: check packets
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Result.Continued;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -19,6 +19,7 @@
&lt;br&gt;&amp;nbsp;package org.apache.sshd.client.session;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.io.IOException;
&lt;br&gt;+import java.security.KeyPair;
&lt;br&gt;&amp;nbsp;import java.security.PublicKey;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.mina.core.session.IoSession;
&lt;br&gt;@@ -26,19 +27,17 @@
&lt;br&gt;&amp;nbsp;import org.apache.sshd.ClientSession;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.UserAuth;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.auth.UserAuthPassword;
&lt;br&gt;+import org.apache.sshd.client.auth.UserAuthPublicKey;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.channel.AbstractClientChannel;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.channel.ChannelShell;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.channel.ChannelExec;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.future.AuthFuture;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.future.DefaultAuthFuture;
&lt;br&gt;-import org.apache.sshd.common.FactoryManager;
&lt;br&gt;-import org.apache.sshd.common.KeyPairProvider;
&lt;br&gt;-import org.apache.sshd.common.NamedFactory;
&lt;br&gt;-import org.apache.sshd.common.SshConstants;
&lt;br&gt;-import org.apache.sshd.common.SshException;
&lt;br&gt;+import org.apache.sshd.common.*;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.future.CloseFuture;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.session.AbstractSession;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.util.Buffer;
&lt;br&gt;+import org.bouncycastle.asn1.x9.X9ECParameters;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * TODO Add javadoc
&lt;br&gt;@@ -62,6 +61,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sendKexInit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public KeyExchange getKex() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return kex;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public AuthFuture authPassword(String username, String password) throws IOException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized (lock) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (closeFuture.isClosed()) {
&lt;br&gt;@@ -84,7 +87,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public AuthFuture authPublicKey(String username, PublicKey key) throws IOException {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public AuthFuture authPublicKey(String username, KeyPair key) throws IOException {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized (lock) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (closeFuture.isClosed()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(&amp;quot;Session is closed&amp;quot;);
&lt;br&gt;@@ -99,9 +102,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (closeFuture.isClosed()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(&amp;quot;Session is closed&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//authFuture = new DefaultAuthFuture&amp;lt;ClientSession&amp;gt;(this, lock);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: implement public key authentication method
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new UnsupportedOperationException(&amp;quot;Not supported yet&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;authFuture = new DefaultAuthFuture(lock);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userAuth = new UserAuthPublicKey(this, username, key);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setState(ClientSessionImpl.State.UserAuth);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return authFuture;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -130,6 +134,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected void handleMessage(Buffer buffer) throws Exception {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized (lock) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;doHandleMessage(buffer);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected void doHandleMessage(Buffer buffer) throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SshConstants.Message cmd = buffer.getCommand();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Received packet {}&amp;quot;, cmd);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (cmd) {
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/FileKeyPairProvider.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -73,7 +73,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.passwordFinder = passwordFinder;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected KeyPair[] loadKeys() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public KeyPair[] loadKeys() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!SecurityUtils.isBouncyCastleRegistered()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(&amp;quot;BouncyCastle must be registered as a JCE provider&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java?rev=887288&amp;r1=887287&amp;r2=887288&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java (original)
&lt;br&gt;+++ mina/sshd/trunk/sshd-core/src/test/java/org/apache/sshd/ClientTest.java Fri Dec &amp;nbsp;4 17:40:19 2009
&lt;br&gt;@@ -23,14 +23,17 @@
&lt;br&gt;&amp;nbsp;import java.io.PipedInputStream;
&lt;br&gt;&amp;nbsp;import java.io.PipedOutputStream;
&lt;br&gt;&amp;nbsp;import java.net.ServerSocket;
&lt;br&gt;+import java.security.KeyPair;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.future.AuthFuture;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.client.future.OpenFuture;
&lt;br&gt;+import org.apache.sshd.common.KeyPairProvider;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.SshException;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.future.CloseFuture;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.common.util.BufferUtils;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.util.BogusPasswordAuthenticator;
&lt;br&gt;+import org.apache.sshd.util.BogusPublickeyAuthenticator;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.util.EchoShellFactory;
&lt;br&gt;&amp;nbsp;import org.apache.sshd.util.TeePipedOutputStream;
&lt;br&gt;&amp;nbsp;import org.junit.After;
&lt;br&gt;@@ -61,6 +64,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setKeyPairProvider(new FileKeyPairProvider(new String[] { &amp;quot;src/test/resources/hostkey.pem&amp;quot; }));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setShellFactory(new EchoShellFactory());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setPasswordAuthenticator(new BogusPasswordAuthenticator());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.setPublickeyAuthenticator(new BogusPublickeyAuthenticator());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sshd.start();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -230,6 +234,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(closeFuture.isClosed());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;@Test
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void testPublicKeyAuth() throws Exception {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SshClient client = SshClient.setUpDefaultClient();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client.start();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ClientSession session = client.connect(&amp;quot;localhost&amp;quot;, port).await().getSession();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;KeyPair pair = new FileKeyPairProvider(new String[] { &amp;quot;src/test/resources/hostkey.pem&amp;quot; }).loadKey(KeyPairProvider.SSH_RSA);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(session.authPublicKey(&amp;quot;smx&amp;quot;, pair).await().isSuccess());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static void main(String[] args) throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SshClient.main(args);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887288---in--mina-sshd-trunk-sshd-core-src%3A-main-java-org-apache-sshd--main-java-org-apache-sshd-client-auth--main-java-org-apache-sshd-client-session--main-java-org-apache-sshd-common-keyprovider--test-java-org-apache-sshd--tp26646241p26646241.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645969</id>
	<title>svn commit: r887278 - /mina/sshd/trunk/pom.xml</title>
	<published>2009-12-04T09:22:18Z</published>
	<updated>2009-12-04T09:22:18Z</updated>
	<author>
		<name>gnodet-2</name>
	</author>
	<content type="html">Author: gnodet
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 17:22:15 2009
&lt;br&gt;New Revision: 887278
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887278&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887278&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;[sshd] upgrade jsch to 0.1.142
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/pom.xml
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/pom.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/pom.xml?rev=887278&amp;r1=887277&amp;r2=887278&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/pom.xml?rev=887278&amp;r1=887277&amp;r2=887278&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/pom.xml (original)
&lt;br&gt;+++ mina/sshd/trunk/pom.xml Fri Dec &amp;nbsp;4 17:22:15 2009
&lt;br&gt;@@ -112,7 +112,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;com.jcraft&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jsch&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;0.1.40&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;0.1.42&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887278----mina-sshd-trunk-pom.xml-tp26645969p26645969.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645833</id>
	<title>svn commit: r887273 - in /mina/sshd/trunk/assembly: pom.xml src/main/descriptors/unix-bin.xml src/main/distribution/bin/ssh.bat src/main/distribution/bin/ssh.sh</title>
	<published>2009-12-04T09:12:13Z</published>
	<updated>2009-12-04T09:12:13Z</updated>
	<author>
		<name>gnodet-2</name>
	</author>
	<content type="html">Author: gnodet
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 17:12:12 2009
&lt;br&gt;New Revision: 887273
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887273&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887273&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Add a ssh client script to the distribution
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/assembly/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/assembly/pom.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/pom.xml?rev=887273&amp;r1=887272&amp;r2=887273&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/pom.xml?rev=887273&amp;r1=887272&amp;r2=887273&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/assembly/pom.xml (original)
&lt;br&gt;+++ mina/sshd/trunk/assembly/pom.xml Fri Dec &amp;nbsp;4 17:12:12 2009
&lt;br&gt;@@ -58,6 +58,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.slf4j&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;slf4j-simple&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;bouncycastle&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;bcprov-jdk15&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependencies&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;build&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml?rev=887273&amp;r1=887272&amp;r2=887273&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml?rev=887273&amp;r1=887272&amp;r2=887273&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml (original)
&lt;br&gt;+++ mina/sshd/trunk/assembly/src/main/descriptors/unix-bin.xml Fri Dec &amp;nbsp;4 17:12:12 2009
&lt;br&gt;@@ -38,6 +38,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;lineEnding&amp;gt;unix&amp;lt;/lineEnding&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;excludes&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude&amp;gt;bin/sshd.sh&amp;lt;/exclude&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude&amp;gt;bin/ssh.sh&amp;lt;/exclude&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/excludes&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/fileSet&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/fileSets&amp;gt;
&lt;br&gt;@@ -49,6 +50,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fileMode&amp;gt;0755&amp;lt;/fileMode&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;lineEnding&amp;gt;unix&amp;lt;/lineEnding&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/file&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;file&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;source&amp;gt;src/main/distribution/bin/ssh.sh&amp;lt;/source&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;outputDirectory&amp;gt;/bin/&amp;lt;/outputDirectory&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fileMode&amp;gt;0755&amp;lt;/fileMode&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;lineEnding&amp;gt;unix&amp;lt;/lineEnding&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/file&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/files&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependencySets&amp;gt;
&lt;br&gt;&lt;br&gt;Added: mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat?rev=887273&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat?rev=887273&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat (added)
&lt;br&gt;+++ mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.bat Fri Dec &amp;nbsp;4 17:12:12 2009
&lt;br&gt;@@ -0,0 +1,105 @@
&lt;br&gt;+@echo off
&lt;br&gt;+rem
&lt;br&gt;+rem
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;this work for additional information regarding copyright ownership.
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;(the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+rem
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+rem
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;See the License for the specific language governing permissions and
&lt;br&gt;+rem &amp;nbsp; &amp;nbsp;limitations under the License.
&lt;br&gt;+rem
&lt;br&gt;+rem
&lt;br&gt;+
&lt;br&gt;+if not &amp;quot;%ECHO%&amp;quot; == &amp;quot;&amp;quot; echo %ECHO%
&lt;br&gt;+
&lt;br&gt;+setlocal
&lt;br&gt;+set DIRNAME=%~dp0%
&lt;br&gt;+set PROGNAME=%~nx0%
&lt;br&gt;+set ARGS=%*
&lt;br&gt;+
&lt;br&gt;+title Sshd
&lt;br&gt;+
&lt;br&gt;+goto BEGIN
&lt;br&gt;+
&lt;br&gt;+:warn
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;echo %PROGNAME%: %*
&lt;br&gt;+goto :EOF
&lt;br&gt;+
&lt;br&gt;+:BEGIN
&lt;br&gt;+
&lt;br&gt;+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
&lt;br&gt;+
&lt;br&gt;+if not &amp;quot;%SSHD_HOME%&amp;quot; == &amp;quot;&amp;quot; (
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;call :warn Ignoring predefined value for SSHD_HOME
&lt;br&gt;+)
&lt;br&gt;+set SSHD_HOME=%DIRNAME%..
&lt;br&gt;+if not exist &amp;quot;%SSHD_HOME%&amp;quot; (
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;call :warn SSHD_HOME is not valid: %SSHD_HOME%
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;goto END
&lt;br&gt;+)
&lt;br&gt;+
&lt;br&gt;+set DEFAULT_JAVA_OPTS=-server -Xmx512M -Dcom.sun.management.jmxremote
&lt;br&gt;+set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
&lt;br&gt;+
&lt;br&gt;+rem Support for loading native libraries
&lt;br&gt;+set PATH=%PATH%;%SSHD_HOME%\lib
&lt;br&gt;+
&lt;br&gt;+rem Setup the Java Virtual Machine
&lt;br&gt;+if not &amp;quot;%JAVA%&amp;quot; == &amp;quot;&amp;quot; goto :Check_JAVA_END
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;set JAVA=java
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if &amp;quot;%JAVA_HOME%&amp;quot; == &amp;quot;&amp;quot; call :warn JAVA_HOME not set; results may vary
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if not &amp;quot;%JAVA_HOME%&amp;quot; == &amp;quot;&amp;quot; set JAVA=%JAVA_HOME%\bin\java
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if not exist &amp;quot;%JAVA_HOME%&amp;quot; (
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call :warn JAVA_HOME is not valid: &amp;quot;%JAVA_HOME%&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;goto END
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;)
&lt;br&gt;+:Check_JAVA_END
&lt;br&gt;+
&lt;br&gt;+if &amp;quot;%JAVA_OPTS%&amp;quot; == &amp;quot;&amp;quot; set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
&lt;br&gt;+
&lt;br&gt;+if &amp;quot;%SSHD_DEBUG%&amp;quot; == &amp;quot;&amp;quot; goto :SSHD_DEBUG_END
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;rem Use the defaults if JAVA_DEBUG_OPTS was not set
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if &amp;quot;%JAVA_DEBUG_OPTS%&amp;quot; == &amp;quot;&amp;quot; set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;set &amp;quot;JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
&lt;br&gt;+:SSHD_DEBUG_END
&lt;br&gt;+
&lt;br&gt;+rem Setup the classpath
&lt;br&gt;+set CLASSPATH=%LOCAL_CLASSPATH%
&lt;br&gt;+pushd &amp;quot;%SSHD_HOME%\lib&amp;quot;
&lt;br&gt;+for %%G in (*.*) do call:APPEND_TO_CLASSPATH %%G
&lt;br&gt;+popd
&lt;br&gt;+goto CLASSPATH_END
&lt;br&gt;+
&lt;br&gt;+: APPEND_TO_CLASSPATH
&lt;br&gt;+set filename=%~1
&lt;br&gt;+set suffix=%filename:~-4%
&lt;br&gt;+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%SSHD_HOME%\lib\%filename%
&lt;br&gt;+goto :EOF
&lt;br&gt;+
&lt;br&gt;+:CLASSPATH_END
&lt;br&gt;+
&lt;br&gt;+SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
&lt;br&gt;+rem Execute the Java Virtual Machine
&lt;br&gt;+cd %SSHD_HOME%
&lt;br&gt;+&amp;quot;%JAVA%&amp;quot; %JAVA_OPTS% %OPTS% -classpath &amp;quot;%CLASSPATH%&amp;quot; -Dsshd.home=&amp;quot;%SSHD_HOME%&amp;quot; org.apache.sshd.SshClient %ARGS%
&lt;br&gt;+
&lt;br&gt;+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
&lt;br&gt;+
&lt;br&gt;+:END
&lt;br&gt;+
&lt;br&gt;+endlocal
&lt;br&gt;+
&lt;br&gt;+if not &amp;quot;%PAUSE%&amp;quot; == &amp;quot;&amp;quot; pause
&lt;br&gt;+
&lt;br&gt;+:END_NO_PAUSE
&lt;br&gt;+
&lt;br&gt;&lt;br&gt;Added: mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh?rev=887273&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh?rev=887273&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh (added)
&lt;br&gt;+++ mina/sshd/trunk/assembly/src/main/distribution/bin/ssh.sh Fri Dec &amp;nbsp;4 17:12:12 2009
&lt;br&gt;@@ -0,0 +1,266 @@
&lt;br&gt;+#!/bin/sh
&lt;br&gt;+#
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;this work for additional information regarding copyright ownership.
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;(the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+#
&lt;br&gt;+# &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+#
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;See the License for the specific language governing permissions and
&lt;br&gt;+# &amp;nbsp; &amp;nbsp;limitations under the License.
&lt;br&gt;+#
&lt;br&gt;+
&lt;br&gt;+DIRNAME=`dirname $0`
&lt;br&gt;+PROGNAME=`basename $0`
&lt;br&gt;+
&lt;br&gt;+#
&lt;br&gt;+# Check/Set up some easily accessible MIN/MAX params for JVM mem usage
&lt;br&gt;+#
&lt;br&gt;+
&lt;br&gt;+if [ &amp;quot;x$JAVA_MIN_MEM&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;JAVA_MIN_MEM=128M
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;export JAVA_MIN_MEM
&lt;br&gt;+fi
&lt;br&gt;+
&lt;br&gt;+if [ &amp;quot;x$JAVA_MAX_MEM&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;JAVA_MAX_MEM=512M
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;export JAVA_MAX_MEM
&lt;br&gt;+fi
&lt;br&gt;+
&lt;br&gt;+warn() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;echo &amp;quot;${PROGNAME}: $*&amp;quot;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+die() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;warn &amp;quot;$*&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;exit 1
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+maybeSource() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;file=&amp;quot;$1&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ -f &amp;quot;$file&amp;quot; ] ; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. $file
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+detectOS() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# OS specific support (must be 'true' or 'false').
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;cygwin=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;darwin=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;aix=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;os400=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;case &amp;quot;`uname`&amp;quot; in
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CYGWIN*)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cygwin=true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Darwin*)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;darwin=true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AIX*)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aix=true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OS400*)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os400=true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;esac
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# For AIX, set an environment variable
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if $aix; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; export LDR_CNTRL=MAXDATA=0xB0000000@DSA
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; export IBM_JAVA_HEAPDUMP_TEXT=true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo $LDR_CNTRL
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+unlimitFD() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Use the maximum available, or set MAX_FD != -1 to use that
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$MAX_FD&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MAX_FD=&amp;quot;maximum&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Increase the maximum file descriptors if we can
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;$os400&amp;quot; = &amp;quot;false&amp;quot; ] &amp;&amp; [ &amp;quot;$cygwin&amp;quot; = &amp;quot;false&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MAX_FD_LIMIT=`ulimit -H -n`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ &amp;quot;$MAX_FD_LIMIT&amp;quot; != 'unlimited' ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ $? -eq 0 ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ &amp;quot;$MAX_FD&amp;quot; = &amp;quot;maximum&amp;quot; -o &amp;quot;$MAX_FD&amp;quot; = &amp;quot;max&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# use the system max
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MAX_FD=&amp;quot;$MAX_FD_LIMIT&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ulimit -n $MAX_FD &amp;gt; /dev/null
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# echo &amp;quot;ulimit -n&amp;quot; `ulimit -n`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ $? -ne 0 ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;warn &amp;quot;Could not set maximum file descriptor limit: $MAX_FD&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;warn &amp;quot;Could not query system maximum file descriptor limit: $MAX_FD_LIMIT&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+locateHome() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$SSHD_HOME&amp;quot; != &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;warn &amp;quot;Ignoring predefined value for SSHD_HOME&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# In POSIX shells, CDPATH may cause cd to write to stdout
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;(unset CDPATH) &amp;gt;/dev/null 2&amp;gt;&amp;1 &amp;&amp; unset CDPATH
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;SSHD_HOME=`cd $DIRNAME/..; pwd`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ ! -d &amp;quot;$SSHD_HOME&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die &amp;quot;SSHD_HOME is not valid: $SSHD_HOME&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+setupNativePath() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Support for loading native libraries
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;LD_LIBRARY_PATH=&amp;quot;${LD_LIBRARY_PATH}:$SSHD_BASE/lib:$SSHD_HOME/lib&amp;quot;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# For Cygwin, set PATH from LD_LIBRARY_PATH
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if $cygwin; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LD_LIBRARY_PATH=`cygpath --path --windows &amp;quot;$LD_LIBRARY_PATH&amp;quot;`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PATH=&amp;quot;$PATH;$LD_LIBRARY_PATH&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;export PATH
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;export LD_LIBRARY_PATH
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+locateJava() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Setup the Java Virtual Machine
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if $cygwin ; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ -n &amp;quot;$JAVA&amp;quot; ] &amp;&amp; JAVA=`cygpath --unix &amp;quot;$JAVA&amp;quot;`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ -n &amp;quot;$JAVA_HOME&amp;quot; ] &amp;&amp; JAVA_HOME=`cygpath --unix &amp;quot;$JAVA_HOME&amp;quot;`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$JAVA&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$JAVA_HOME&amp;quot; = &amp;quot;x&amp;quot; ] &amp;&amp; [ &amp;quot;$darwin&amp;quot; = &amp;quot;true&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$JAVA_HOME&amp;quot; != &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ ! -d &amp;quot;$JAVA_HOME&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die &amp;quot;JAVA_HOME is not valid: $JAVA_HOME&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA=&amp;quot;$JAVA_HOME/bin/java&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;warn &amp;quot;JAVA_HOME not set; results may vary&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA=&amp;quot;java&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+detectJVM() {
&lt;br&gt;+ &amp;nbsp; #echo &amp;quot;`$JAVA -version`&amp;quot;
&lt;br&gt;+ &amp;nbsp; # This service should call `java -version`,
&lt;br&gt;+ &amp;nbsp; # read stdout, and look for hints
&lt;br&gt;+ &amp;nbsp; if $JAVA -version 2&amp;gt;&amp;1 | grep &amp;quot;^IBM&amp;quot; ; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; JVM_VENDOR=&amp;quot;IBM&amp;quot;
&lt;br&gt;+ &amp;nbsp; # on OS/400, java -version does not contain IBM explicitly
&lt;br&gt;+ &amp;nbsp; elif $os400; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; JVM_VENDOR=&amp;quot;IBM&amp;quot;
&lt;br&gt;+ &amp;nbsp; else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; JVM_VENDOR=&amp;quot;SUN&amp;quot;
&lt;br&gt;+ &amp;nbsp; fi
&lt;br&gt;+ &amp;nbsp; # echo &amp;quot;JVM vendor is $JVM_VENDOR&amp;quot;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+setupDebugOptions() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$JAVA_OPTS&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA_OPTS=&amp;quot;$DEFAULT_JAVA_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;export JAVA_OPTS
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Set Debug options if enabled
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$SSHD_DEBUG&amp;quot; != &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# Use the defaults if JAVA_DEBUG_OPTS was not set
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ &amp;quot;x$JAVA_DEBUG_OPTS&amp;quot; = &amp;quot;x&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA_DEBUG_OPTS=&amp;quot;$DEFAULT_JAVA_DEBUG_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JAVA_OPTS=&amp;quot;$JAVA_DEBUG_OPTS $JAVA_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;warn &amp;quot;Enabling Java debug options: $JAVA_DEBUG_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+setupDefaults() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_OPTS=&amp;quot;-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM &amp;quot;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;#Set the JVM_VENDOR specific JVM flags
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if [ &amp;quot;$JVM_VENDOR&amp;quot; = &amp;quot;SUN&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_OPTS=&amp;quot;-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;elif [ &amp;quot;$JVM_VENDOR&amp;quot; = &amp;quot;IBM&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if $os400; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_OPTS=&amp;quot;$DEFAULT_JAVA_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;elif $aix; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_OPTS=&amp;quot;-Xverify:none -Xlp $DEFAULT_JAVA_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_OPTS=&amp;quot;-Xverify:none $DEFAULT_JAVA_OPTS&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Add the jars in the lib dir
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for file in $SSHD_HOME/lib/*.jar
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;do
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ -z &amp;quot;$CLASSPATH&amp;quot; ]; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASSPATH=&amp;quot;$file&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASSPATH=&amp;quot;$CLASSPATH:$file&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;done
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;DEFAULT_JAVA_DEBUG_OPTS=&amp;quot;-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005&amp;quot;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;##
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;## TODO: Move to conf/profiler/yourkit.{sh|cmd}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;##
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Uncomment to enable YourKit profiling
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;#DEFAULT_JAVA_DEBUG_OPTS=&amp;quot;-Xrunyjpagent&amp;quot;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+init() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Determine if there is special OS handling we must perform
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;detectOS
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Unlimit the number of file descriptors if possible
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;unlimitFD
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Locate the Sshd home directory
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;locateHome
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Setup the native library path
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;setupNativePath
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Locate the Java VM to execute
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;locateJava
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Determine the JVM vendor
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;detectJVM
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Setup default options
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;setupDefaults
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;# Install debug options
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;setupDebugOptions
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+run() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if $cygwin; then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSHD_HOME=`cygpath --path --windows &amp;quot;$SSHD_HOME&amp;quot;`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASSPATH=`cygpath --path --windows &amp;quot;$CLASSPATH&amp;quot;`
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;cd $SSHD_BASE
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;exec $JAVA $JAVA_OPTS -Dsshd.home=&amp;quot;$SSHD_HOME&amp;quot; $OPTS -classpath &amp;quot;$CLASSPATH&amp;quot; org.apache.sshd.SshClient &amp;quot;$@&amp;quot;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+main() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;init
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;run &amp;quot;$@&amp;quot;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+main &amp;quot;$@&amp;quot;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887273---in--mina-sshd-trunk-assembly%3A-pom.xml-src-main-descriptors-unix-bin.xml-src-main-distribution-bin-ssh.bat-src-main-distribution-bin-ssh.sh-tp26645833p26645833.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645571</id>
	<title>Vysper Build</title>
	<published>2009-12-04T08:55:58Z</published>
	<updated>2009-12-04T08:55:58Z</updated>
	<author>
		<name>Tammer Salem</name>
	</author>
	<content type="html">Hello All,
&lt;br&gt;regarding the Vysper build, I've done all the required downloads
&lt;br&gt;of dependencies, and am using Maven.
&lt;br&gt;&lt;br&gt;I am now having a problem that one test is failing:
&lt;br&gt;&lt;br&gt;Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 sec
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Results :
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Failed tests:
&lt;br&gt;&lt;br&gt;&amp;nbsp; testHandshake(org.apache.vysper.stanzasession.StanzaSessionTestCase)
&lt;br&gt;&lt;br&gt;&lt;br&gt;I've looked into this test in more detail and realised that it is trying to
&lt;br&gt;contact a Jabber.org server. Here is the exception I'm getting:
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Test set: org.apache.vysper.stanzasession.StanzaSessionTestCase
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3.015 sec
&lt;br&gt;&amp;gt; &amp;lt;&amp;lt;&amp;lt; FAILURE!
&lt;br&gt;&lt;br&gt;testHandshake(org.apache.vysper.stanzasession.StanzaSessionTestCase) &amp;nbsp;Time
&lt;br&gt;&amp;gt; elapsed: 2.89 sec &amp;nbsp;&amp;lt;&amp;lt;&amp;lt; FAILURE!
&lt;br&gt;&lt;br&gt;junit.framework.AssertionFailedError
&lt;br&gt;&lt;br&gt;at junit.framework.Assert.fail(Assert.java:47)
&lt;br&gt;&lt;br&gt;at junit.framework.Assert.assertTrue(Assert.java:20)
&lt;br&gt;&lt;br&gt;at junit.framework.Assert.assertNotNull(Assert.java:217)
&lt;br&gt;&lt;br&gt;at junit.framework.Assert.assertNotNull(Assert.java:210)
&lt;br&gt;&lt;br&gt;at
&lt;br&gt;&amp;gt; org.apache.vysper.stanzasession.StanzaSessionTestCase.testHandshake(StanzaSessionTestCase.java:78)
&lt;br&gt;&lt;br&gt;&lt;br&gt;All I can tell is that the assertion is saying the Stanza is NULL for some
&lt;br&gt;strange reason - presumably something to do with reaching the URL [
&lt;br&gt;&lt;a href=&quot;http://etherx.jabber.org/streams&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://etherx.jabber.org/streams&lt;/a&gt;]? Also I might add that I'm behind a
&lt;br&gt;corporate proxy and that we do not have access to jabber.org, but this URL
&lt;br&gt;seems to redirect to [&lt;a href=&quot;http://xmpp.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmpp.org/&lt;/a&gt;]
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;Tammer
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Vysper-Build-tp26645571p26645571.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645321</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T08:21:57Z</published>
	<updated>2009-12-04T08:21:57Z</updated>
	<author>
		<name>Trustin Lee</name>
	</author>
	<content type="html">On 2009/12/04 9:25 pm, Emmanuel Lecharny wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Glenn Ivar Klausen a écrit :
&lt;br&gt;&amp;gt;&amp;gt; Emmanuel Lcharny wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This name was picked by someone who was at the origin of the project,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; at a time he was pretty alone working on it (since then, he quit). I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; personnaly don't think it's a good idea to attach a name with a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; version, à la Ubuntu (I have always been totally lost with Intrepid
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jakal or Laughable Vampire, not being able to make a connection with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 8.04 or 9.10).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Ok, ... I was just referring to the fact that Norwegian is spelled
&lt;br&gt;&amp;gt;&amp;gt; wrong, however, its a good point regarding the nick names.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; G (Norwegian)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Wikipedia, about &amp;quot;Norwegian wood&amp;quot; :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;This exchange took place in a press conference in Los Angeles on 24
&lt;br&gt;&amp;gt; August 1966:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Reporter: I'd like to direct this question to messrs. Lennon and
&lt;br&gt;&amp;gt; McCartney. In a recent article, Time magazine put down pop music. And
&lt;br&gt;&amp;gt; they referred to &amp;quot;Day Tripper&amp;quot; as being about a prostitute...
&lt;br&gt;&amp;gt; Paul: Oh yeah.
&lt;br&gt;&amp;gt; Reporter: ...and &amp;quot;Norwegian Wood&amp;quot; as being about a lesbian.
&lt;br&gt;&amp;gt; Paul: Oh yeah.&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; :)
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;It actually means a novel with the same title [1]. &amp;nbsp;Other code names are 
&lt;br&gt;also the titles of Haruki's novels. &amp;nbsp;The code names were never announced 
&lt;br&gt;anyway. &amp;nbsp;Feel free to remove it from JIRA. &amp;nbsp;I'd be glad to take it over 
&lt;br&gt;to Netty [2].
&lt;br&gt;&lt;br&gt;Trustin
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Norwegian_Wood_(novel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Norwegian_Wood_(novel&lt;/a&gt;)
&lt;br&gt;[2] &lt;a href=&quot;http://www.jboss.org/netty/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jboss.org/netty/&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26645321.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26645045</id>
	<title>Re: Errors while building sshd (trunk) on mac</title>
	<published>2009-12-04T08:16:49Z</published>
	<updated>2009-12-04T08:16:49Z</updated>
	<author>
		<name>Shawn Pearce</name>
	</author>
	<content type="html">Guillaume Nodet &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26645045&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnodet@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Yeah, we have a jira for that. &amp;nbsp; For some reasons, some tests are
&lt;br&gt;&amp;gt; sometime failing, not sure yet where it comes from though.
&lt;br&gt;&lt;br&gt;I'd bet this is a race condition in the test... or its caused by
&lt;br&gt;an RNG seed changing. &amp;nbsp;Because the tests randomly fail or pass on
&lt;br&gt;my Linux desktop. &amp;nbsp;Haven't tried them on my Mac laptop.
&lt;br&gt;&lt;br&gt;I haven't bothered to look into it myself because if I run them a
&lt;br&gt;second time on an idle system, they usually pass. &amp;nbsp;:-)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; On Thu, Dec 3, 2009 at 20:08, Emmanuel Lecharny &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26645045&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elecharny@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Mac OSX 10.6,
&lt;br&gt;&amp;gt; &amp;gt; $ mvn clean install
&lt;br&gt;&amp;gt; &amp;gt; ...
&lt;br&gt;&amp;gt; &amp;gt; Tests in error:
&lt;br&gt;&amp;gt; &amp;gt;  testFailAuthentication(org.apache.sshd.ServerTest)
&lt;br&gt;&amp;gt; &amp;gt;  testScp(org.apache.sshd.ScpTest)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Errors-while-building-sshd-%28trunk%29-on-mac-tp26631402p26645045.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26643489</id>
	<title>Re: Errors while building sshd (trunk) on mac</title>
	<published>2009-12-04T06:41:40Z</published>
	<updated>2009-12-04T06:41:40Z</updated>
	<author>
		<name>gnodet</name>
	</author>
	<content type="html">Yeah, we have a jira for that. &amp;nbsp; For some reasons, some tests are
&lt;br&gt;sometime failing, not sure yet where it comes from though.
&lt;br&gt;&lt;br&gt;On Thu, Dec 3, 2009 at 20:08, Emmanuel Lecharny &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26643489&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elecharny@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Mac OSX 10.6,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ java -version
&lt;br&gt;&amp;gt; java version &amp;quot;1.6.0_15&amp;quot;
&lt;br&gt;&amp;gt; Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
&lt;br&gt;&amp;gt; Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ mvn --version
&lt;br&gt;&amp;gt; mvn --version
&lt;br&gt;&amp;gt; Maven version: 2.0.9
&lt;br&gt;&amp;gt; Java version: 1.6.0_15
&lt;br&gt;&amp;gt; OS name: &amp;quot;mac os x&amp;quot; version: &amp;quot;10.6.2&amp;quot; arch: &amp;quot;x86_64&amp;quot; Family: &amp;quot;mac&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ mvn clean install
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; Tests in error:
&lt;br&gt;&amp;gt;  testFailAuthentication(org.apache.sshd.ServerTest)
&lt;br&gt;&amp;gt;  testScp(org.apache.sshd.ScpTest)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Tests run: 41, Failures: 0, Errors: 2, Skipped: 3
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [INFO]
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; [ERROR] BUILD FAILURE
&lt;br&gt;&amp;gt; [INFO]
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt; [INFO] There are test failures.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please refer to /Users/elecharny/mina/sshd/sshd-core/target/surefire-reports
&lt;br&gt;&amp;gt; for the individual test results.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Cheers,
&lt;br&gt;Guillaume Nodet
&lt;br&gt;------------------------
&lt;br&gt;Blog: &lt;a href=&quot;http://gnodet.blogspot.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gnodet.blogspot.com/&lt;/a&gt;&lt;br&gt;------------------------
&lt;br&gt;Open Source SOA
&lt;br&gt;&lt;a href=&quot;http://fusesource.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://fusesource.com&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Errors-while-building-sshd-%28trunk%29-on-mac-tp26631402p26643489.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26642316</id>
	<title>Hudson build became unstable: vysper-trunk-jdk1.5-solaris #169</title>
	<published>2009-12-04T05:11:26Z</published>
	<updated>2009-12-04T05:11:26Z</updated>
	<author>
		<name>Apache Hudson Server</name>
	</author>
	<content type="html">See &amp;lt;&lt;a href=&quot;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.5-solaris/169/changes&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.5-solaris/169/changes&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Hudson-build-became-unstable%3A-vysper-trunk-jdk1.5-solaris--169-tp26642316p26642316.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26642314</id>
	<title>Hudson build became unstable: vysper-trunk-jdk1.5-solaris » Apache Vysper Core #169</title>
	<published>2009-12-04T05:11:21Z</published>
	<updated>2009-12-04T05:11:21Z</updated>
	<author>
		<name>Apache Hudson Server</name>
	</author>
	<content type="html">See &amp;lt;&lt;a href=&quot;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.5-solaris/org.apache.vysper$vysper-core/169/changes&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.5-solaris/org.apache.vysper$vysper-core/169/changes&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Hudson-build-became-unstable%3A-vysper-trunk-jdk1.5-solaris-%C2%BB-Apache-Vysper-Core--169-tp26642314p26642314.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26642213</id>
	<title>Re: Vysper Documentation</title>
	<published>2009-12-04T05:00:46Z</published>
	<updated>2009-12-04T05:00:46Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">Tammer Salem a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Ashish,
&lt;br&gt;&amp;gt; thank you for the response - I'm currently trying to build Vysper (with
&lt;br&gt;&amp;gt; little success at the moment). But ultimately I want to overload some of the
&lt;br&gt;&amp;gt; standard Stanza responses.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I will try to get the build done first, then start asking about the
&lt;br&gt;&amp;gt; architecture.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regarding the build - I'll start a separate thread for it.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;Building Vysper is pretty simple :
&lt;br&gt;&lt;br&gt;svn co &lt;a href=&quot;http://sn.apache.org/repos/asf/mina/sandbox/vysper&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sn.apache.org/repos/asf/mina/sandbox/vysper&lt;/a&gt;&amp;nbsp;vysper
&lt;br&gt;mvn clean install
&lt;br&gt;&lt;br&gt;You must have a Java 5 or 6 installed, maven 2.0.9 at least. Note that 
&lt;br&gt;we don't guarantee that it will build with a JVM like gnuj. Use 
&lt;br&gt;Sun/IBM/JRockit JVM.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Vysper-Documentation-tp26629868p26642213.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641984</id>
	<title>Hudson build is back to stable: vysper-trunk-jdk1.6-solaris » Apache Vysper XEP-0045 Multi-user chat #167</title>
	<published>2009-12-04T04:39:35Z</published>
	<updated>2009-12-04T04:39:35Z</updated>
	<author>
		<name>Apache Hudson Server</name>
	</author>
	<content type="html">See &amp;lt;&lt;a href=&quot;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.6-solaris/org.apache.vysper.extensions$xep0045-muc/167/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.6-solaris/org.apache.vysper.extensions$xep0045-muc/167/&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Hudson-build-is-back-to-stable%3A-vysper-trunk-jdk1.6-solaris-%C2%BB-Apache-Vysper-XEP-0045-Multi-user-chat--167-tp26641984p26641984.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641897</id>
	<title>Re: Vysper Documentation</title>
	<published>2009-12-04T04:31:59Z</published>
	<updated>2009-12-04T04:31:59Z</updated>
	<author>
		<name>Tammer Salem</name>
	</author>
	<content type="html">Hi Ashish,
&lt;br&gt;thank you for the response - I'm currently trying to build Vysper (with
&lt;br&gt;little success at the moment). But ultimately I want to overload some of the
&lt;br&gt;standard Stanza responses.
&lt;br&gt;&lt;br&gt;I will try to get the build done first, then start asking about the
&lt;br&gt;architecture.
&lt;br&gt;&lt;br&gt;Regarding the build - I'll start a separate thread for it.
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;Tammer
&lt;br&gt;&lt;br&gt;2009/12/4 Ashish &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641897&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paliwalashish@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Thu, Dec 3, 2009 at 11:00 PM, Tammer Salem
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641897&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tammer.salem@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt; I'm new to Vysper and I'm very interested in using an XMPP server for
&lt;br&gt;&amp;gt; many
&lt;br&gt;&amp;gt; &amp;gt; devices to machine automation (so not as an IM service, but rather as a
&lt;br&gt;&amp;gt; &amp;gt; messaging service).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I have been searching for a few days now and can't find any more
&lt;br&gt;&amp;gt; &amp;gt; documentation than what is already provided at
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://mina.apache.org/vysper/index.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mina.apache.org/vysper/index.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Is this it? Or is there something a bit more comprehensive (specifically
&lt;br&gt;&amp;gt; I'm
&lt;br&gt;&amp;gt; &amp;gt; looking to use pubsub and possibly overload functions using stanzas to
&lt;br&gt;&amp;gt; &amp;gt; transport simple light XML)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; thanks,
&lt;br&gt;&amp;gt; &amp;gt; Tammer
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unfortunately, we don't have more comprehensive documentation as of now.
&lt;br&gt;&amp;gt; We are open to accept submissions :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Would recommend that you give it a try, and use this Mailing list, in
&lt;br&gt;&amp;gt; case you run into issues
&lt;br&gt;&amp;gt; and we will be glad to help you
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; thanks
&lt;br&gt;&amp;gt; ashish
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Blog: &lt;a href=&quot;http://www.ashishpaliwal.com/blog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ashishpaliwal.com/blog&lt;/a&gt;&lt;br&gt;&amp;gt; My Photo Galleries: &lt;a href=&quot;http://www.pbase.com/ashishpaliwal&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pbase.com/ashishpaliwal&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Vysper-Documentation-tp26629868p26641897.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641880</id>
	<title>svn commit: r887171 - in /mina/sandbox/vysper/trunk/server: core/src/main/java/org/apache/vysper/xmpp/authorization/ core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/ core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep005...</title>
	<published>2009-12-04T04:30:08Z</published>
	<updated>2009-12-04T04:30:08Z</updated>
	<author>
		<name>ngn</name>
	</author>
	<content type="html">Author: ngn
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;New Revision: 887171
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887171&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887171&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Remove the use of addNamespaceAttribute(String) from most places as it is no longer needed
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -32,8 +32,7 @@
&lt;br&gt;&amp;nbsp;public class AuthorizationResponses {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getSuccess() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;success&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;success&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -42,7 +41,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getFailure(SASLFailureType failureType) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new StanzaBuilder(&amp;quot;failure&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new StanzaBuilder(&amp;quot;failure&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.startInnerElement(failureType.value()).endInnerElement().build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getFailureMalformedRequest() {
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -72,9 +72,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder.createIQStanza(null, null, IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;bind&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_BIND).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;jid&amp;quot;).addText(entity.getFullQualifiedName()).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;bind&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_BIND).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;jid&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_BIND).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addText(entity.getFullQualifiedName()).endInnerElement().
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -112,13 +112,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (vcardXml == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IQStanzaType iqStanzaType = returnEmptyVCardWhenNonExistent ? IQStanzaType.RESULT : IQStanzaType.ERROR;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), iqStanzaType, stanza.getID());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;vCard&amp;quot;).addNamespaceAttribute(NamespaceURIs.VCARD_TEMP).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;vCard&amp;quot;, NamespaceURIs.VCARD_TEMP).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (returnEmptyVCardWhenNonExistent) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// keep it like it is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;error&amp;quot;).addAttribute(&amp;quot;type&amp;quot;, &amp;quot;cancel&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;item-not-found&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;item-not-found&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement().
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -55,12 +55,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected Stanza handleGet(IQStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.JABBER_IQ_VERSION).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.JABBER_IQ_VERSION).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;name&amp;quot;).addText(&amp;quot;Apache Vysper XMPP Server&amp;quot;).endInnerElement().
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;version&amp;quot;).addText(&amp;quot;0.1 beta&amp;quot;).endInnerElement().
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;os&amp;quot;).addText(OS_VERSION).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;name&amp;quot;, NamespaceURIs.JABBER_IQ_VERSION).addText(&amp;quot;Apache Vysper XMPP Server&amp;quot;).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;version&amp;quot;, NamespaceURIs.JABBER_IQ_VERSION).addText(&amp;quot;0.1 beta&amp;quot;).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;os&amp;quot;, NamespaceURIs.JABBER_IQ_VERSION).addText(OS_VERSION).endInnerElement().
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -64,11 +64,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String utcTime = DateTimeProfile.getInstance().getDateTimeInUTC(now);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;time&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.URN_XMPP_TIME).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;time&amp;quot;, NamespaceURIs.URN_XMPP_TIME).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;tzo&amp;quot;).addText(timeZone).endInnerElement().
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;utc&amp;quot;).addText(utcTime).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;tzo&amp;quot;, NamespaceURIs.URN_XMPP_TIME).addText(timeZone).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;utc&amp;quot;, NamespaceURIs.URN_XMPP_TIME).addText(utcTime).endInnerElement().
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -74,12 +74,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String displayTime = localDateFormatter.format(now);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.JABBER_IQ_TIME).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.JABBER_IQ_TIME).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;utc&amp;quot;).addText(utcTime).endInnerElement().
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;tz&amp;quot;).addText(timeZone).endInnerElement().
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;display&amp;quot;).addText(displayTime).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;utc&amp;quot;, NamespaceURIs.JABBER_IQ_TIME).addText(utcTime).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;tz&amp;quot;, NamespaceURIs.JABBER_IQ_TIME).addText(timeZone).endInnerElement().
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;display&amp;quot;, NamespaceURIs.JABBER_IQ_TIME).addText(displayTime).endInnerElement().
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -36,8 +36,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static StanzaBuilder createRosterItemsIQ(Entity to, String id, IQStanzaType type, Iterable&amp;lt;RosterItem&amp;gt; rosterItems) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(null, to, type, id).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.JABBER_IQ_ROSTER);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.JABBER_IQ_ROSTER);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (RosterItem rosterItem : rosterItems) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;createRosterItem(stanzaBuilder, rosterItem);
&lt;br&gt;@@ -59,7 +58,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static void createRosterItem(StanzaBuilder stanzaBuilder, RosterItem rosterItem) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;item&amp;quot;).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;item&amp;quot;, NamespaceURIs.JABBER_IQ_ROSTER).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addAttribute(&amp;quot;jid&amp;quot;, rosterItem.getJid().getFullQualifiedName());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (rosterItem.getName() != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;name&amp;quot;, rosterItem.getName());
&lt;br&gt;@@ -73,7 +72,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;RosterGroup&amp;gt; groupList = rosterItem.getGroups();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (groupList != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (RosterGroup rosterGroup : groupList) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;group&amp;quot;).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;group&amp;quot;, NamespaceURIs.JABBER_IQ_ROSTER).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addText(rosterGroup.getName()).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -137,8 +137,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// render the stanza with information collected
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(to, stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.XEP0030_SERVICE_DISCOVERY_INFO);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.XEP0030_SERVICE_DISCOVERY_INFO);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (node != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;node&amp;quot;, node);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -118,8 +118,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// render the stanza with information collected
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(to, stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addNamespaceAttribute(NamespaceURIs.XEP0030_SERVICE_DISCOVERY_ITEMS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.XEP0030_SERVICE_DISCOVERY_ITEMS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (node != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;node&amp;quot;, node);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -121,14 +121,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .addAttribute(&amp;quot;type&amp;quot;, type.value());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// insert defined error condition relating to the stanza error type
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.startInnerElement(errorCondition.value());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.startInnerElement(errorCondition.value(), NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// optional error text
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (errorText != null &amp;&amp; errorLang != null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.startInnerElement(&amp;quot;text&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responseBuilder.startInnerElement(&amp;quot;text&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .addAttribute(NamespaceURIs.XML, &amp;quot;lang&amp;quot;, errorLang)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .addText(errorText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -139,14 +137,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getTLSFailure() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;failure&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;failure&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getSASLFailure(SASLFailureType failureType) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;failure&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;failure&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (failureType != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(failureType.toString()).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -119,15 +119,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getTLSProceed() {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;proceed&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;proceed&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getAuthAborted() {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;aborted&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;aborted&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -78,9 +78,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(stanza);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(DenseStanzaLogRenderer.render(stanza));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session.send(
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new StanzaBuilder(&amp;quot;starttls&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new StanzaBuilder(&amp;quot;starttls&amp;quot;, &amp;quot;urn:ietf:params:xml:ns:xmpp-tls&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addAttribute(&amp;quot;from&amp;quot;, &amp;quot;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641880&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;me@...&lt;/a&gt;&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addNamespaceAttribute(&amp;quot;urn:ietf:params:xml:ns:xmpp-tls&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.build()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanza = waitForStanza(session);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -36,7 +36,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testPlainEmpty() throws XMLSemanticError {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL).build();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL).build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza response = startMechanism(stanza);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertResponse(response, &amp;quot;malformed-request&amp;quot;);
&lt;br&gt;@@ -44,7 +44,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testPlainNonBASE64() throws XMLSemanticError {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addText(&amp;quot;aEflkejidkj==&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -54,7 +54,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testPlainNonExistingUser() throws XMLSemanticError {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addText(encode(&amp;quot;dieter&amp;quot;, &amp;quot;schluppkoweit&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -64,7 +64,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testPlainNotExistingUser() throws XMLSemanticError {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addText(encode(&amp;quot;dieter&amp;quot;, &amp;quot;schluppkoweit&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -76,7 +76,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String innerText = new String(Base64.encodeBase64(&amp;quot;continuous&amp;quot;.getBytes()));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;).addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza stanza = new StanzaBuilder(&amp;quot;plain&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.addText(innerText).build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza response = startMechanism(stanza);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -70,8 +70,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = createAbort();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza abortPlainStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;mechanism&amp;quot;, &amp;quot;PLAIN&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addText(new String(Base64.encodeBase64(&amp;quot;dummy\0user007\0pass007&amp;quot;.getBytes())));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza authPlainStanza = stanzaBuilder.build();
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -155,8 +155,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private StanzaBuilder createAuthPlain() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;mechanism&amp;quot;, &amp;quot;PLAIN&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -55,8 +55,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testAuthPlainWrongCase() throws AuthorizationFailedException {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;mechanism&amp;quot;, &amp;quot;plain&amp;quot;); // 'PLAIN' would be correct
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza authPlainStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -71,8 +70,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testAuthPlainUnavailableMechanism() throws AuthorizationFailedException {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;auth&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;mechanism&amp;quot;, &amp;quot;EXTERNAL&amp;quot;); 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza authPlainStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -44,8 +44,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testAppropriateSessionState() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza starttlsStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TestSessionContext sessionContext = this.sessionContext;
&lt;br&gt;@@ -81,12 +80,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void testNamespace() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sessionContext.setSessionState(SessionState.STARTED);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;, NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza wrongNSStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = new StanzaBuilder(&amp;quot;starttls&amp;quot;, NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza correctNSStanza = stanzaBuilder.build();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TestSessionContext sessionContext = this.sessionContext;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -66,7 +66,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private StanzaBuilder createRosterGet() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(new EntityImpl(client, boundResourceId), null, IQStanzaType.GET, &amp;quot;id1&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(NamespaceURIs.JABBER_IQ_ROSTER).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, NamespaceURIs.JABBER_IQ_ROSTER).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -197,7 +197,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(null, null, IQStanzaType.GET, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, new EntityImpl(&amp;quot;charlotte&amp;quot;, server.getDomain(), onlyBoundResource).getFullQualifiedName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(&amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, &amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), sessionContext, stanzaBuilder.build(), sessionStateHolder);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -220,7 +220,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(null, null, IQStanzaType.GET, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, new EntityImpl(&amp;quot;charlotte&amp;quot;, server.getDomain(), arbitraryUnboundResource).getFullQualifiedName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(&amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, &amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), sessionContext, stanzaBuilder.build(), sessionStateHolder);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -252,7 +252,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(null, null, IQStanzaType.GET, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, new EntityImpl(&amp;quot;lea&amp;quot;, server.getDomain(), null).getFullQualifiedName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(&amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, &amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), sessionContext, stanzaBuilder.build(), sessionStateHolder);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stanza recordedResponse = sessionContext.getNextRecordedResponse();
&lt;br&gt;@@ -266,7 +266,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// bare id allowed, only one resource is bound
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = StanzaBuilder.createIQStanza(null, null, IQStanzaType.GET, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, new EntityImpl(&amp;quot;lea&amp;quot;, server.getDomain(), null).getFullQualifiedName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(&amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, &amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), sessionContext, stanzaBuilder.build(), sessionStateHolder);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaHandler.assertHandlerCalled();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sessionContext.reset();
&lt;br&gt;@@ -274,7 +274,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// second resource is now invalid and cannot be used anymore in a full qualified entity
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder = StanzaBuilder.createIQStanza(null, null, IQStanzaType.GET, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, new EntityImpl(&amp;quot;lea&amp;quot;, server.getDomain(), secondBoundResource).getFullQualifiedName());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;).addNamespaceAttribute(&amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, &amp;quot;testNSURI&amp;quot;).endInnerElement();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), sessionContext, stanzaBuilder.build(), sessionStateHolder);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;recordedResponse = sessionContext.getNextRecordedResponse();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertUnknownSenderError(recordedResponse);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -89,12 +89,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the prepared Stanza object.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Stanza createMessageEventStanza(String nodeName, Entity to, String lang, XMLElement item) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;message&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = new StanzaBuilder(&amp;quot;message&amp;quot;, NamespaceURIs.XEP0060_PUBSUB_EVENT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;from&amp;quot;, serverJID.getFullQualifiedName());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;to&amp;quot;, to.getFullQualifiedName());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(NamespaceURIs.XML, &amp;quot;lang&amp;quot;, lang);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;event&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB_EVENT);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;items&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;node&amp;quot;, nodeName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addPreparedElement(item);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -90,8 +90,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XMLElement publish = stanza.getFirstInnerElement().getFirstInnerElement(); // pubsub/publish
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String nodeName = publish.getAttributeValue(&amp;quot;node&amp;quot;); // MUST
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -77,8 +77,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;AffiliationItem&amp;gt; subscriptions = collectAffiliations(root, sender);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -79,8 +79,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String nodeName = extractNodeName(stanza);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;SubscriptionItem&amp;gt; subscriptions = collectSubscriptions(root, sender, nodeName);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -94,8 +94,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XMLElement sub = stanza.getFirstInnerElement().getFirstInnerElement(); // pubsub/subscribe
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String strSubJID = sub.getAttributeValue(&amp;quot;jid&amp;quot;); // MUST
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -89,8 +89,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XMLElement unsub = stanza.getFirstInnerElement().getFirstInnerElement(); // pubsub/unsubscribe
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String strSubJID = unsub.getAttributeValue(&amp;quot;jid&amp;quot;); // MUST
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -89,8 +89,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB_OWNER);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB_OWNER);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String nodeName = extractNodeName(stanza);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LeafNode node = root.find(nodeName);
&lt;br&gt;@@ -130,8 +129,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iqStanzaID = stanza.getAttributeValue(&amp;quot;id&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder sb = StanzaBuilder.createIQStanza(serverJID, sender, IQStanzaType.RESULT, iqStanzaID);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.addNamespaceAttribute(NamespaceURIs.XEP0060_PUBSUB_OWNER);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.startInnerElement(&amp;quot;pubsub&amp;quot;, NamespaceURIs.XEP0060_PUBSUB_OWNER);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String nodeName = extractNodeName(stanza);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LeafNode node = root.find(nodeName);
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -163,8 +163,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getStanza(Entity client, Entity pubsub, String id) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(client, pubsub, getStanzaType(), id);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(getNamespace());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, getNamespace());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return stanzaBuilder.build();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -172,8 +171,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getStanza(Entity client, Entity pubsub, String id, String node) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(client, pubsub, getStanzaType(), id);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(getNamespace());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, getNamespace());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;node&amp;quot;, node);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.endInnerElement();
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -201,8 +201,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getStanza(Entity client, Entity pubsub, String id) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(client, pubsub, getStanzaType(), id);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(getNamespace());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, getNamespace());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.endInnerElement();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -212,8 +211,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getStanza(Entity client, Entity pubsub, String id, String node) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(client, pubsub, getStanzaType(), id);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(getNamespace());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;query&amp;quot;, getNamespace());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addAttribute(&amp;quot;node&amp;quot;, node);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.endInnerElement();
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java?rev=887171&amp;r1=887170&amp;r2=887171&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java Fri Dec &amp;nbsp;4 12:30:06 2009
&lt;br&gt;@@ -66,8 +66,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Stanza getStanza(Entity client, Entity pubsub, String id, String node) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(client, pubsub, getStanzaType(), id);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;pubsub&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.addNamespaceAttribute(getNamespace());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stanzaBuilder.startInnerElement(&amp;quot;pubsub&amp;quot;, getNamespace());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buildInnerElement(client, pubsub, stanzaBuilder, node);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887171---in--mina-sandbox-vysper-trunk-server%3A-core-src-main-java-org-apache-vysper-xmpp-authorization--core-src-main-java-org-apache-vysper-xmpp-modules-core-bind-handler--core-src-main-java-org-apache-vysper-xmpp-modules-extension-xep005...-tp26641880p26641880.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641823</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T04:25:15Z</published>
	<updated>2009-12-04T04:25:15Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">Glenn Ivar Klausen a écrit :
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Emmanuel Lcharny wrote:
&lt;br&gt;&amp;gt;&amp;gt; Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This name was picked by someone who was at the origin of the project, 
&lt;br&gt;&amp;gt;&amp;gt; at a time he was pretty alone working on it (since then, he quit). I 
&lt;br&gt;&amp;gt;&amp;gt; personnaly don't think it's a good idea to attach a name with a 
&lt;br&gt;&amp;gt;&amp;gt; version, à la Ubuntu (I have always been totally lost with Intrepid 
&lt;br&gt;&amp;gt;&amp;gt; Jakal or Laughable Vampire, not being able to make a connection with 
&lt;br&gt;&amp;gt;&amp;gt; 8.04 or 9.10).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Ok, ... I was just referring to the fact that Norwegian is spelled 
&lt;br&gt;&amp;gt; wrong, however, its a good point regarding the nick names.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; G (Norwegian)
&lt;/div&gt;&lt;br&gt;Wikipedia, about &amp;quot;Norwegian wood&amp;quot; :
&lt;br&gt;&lt;br&gt;&amp;quot;This exchange took place in a press conference in Los Angeles on 24 
&lt;br&gt;August 1966:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Reporter: I'd like to direct this question to messrs. Lennon and 
&lt;br&gt;McCartney. In a recent article, Time magazine put down pop music. And 
&lt;br&gt;they referred to &amp;quot;Day Tripper&amp;quot; as being about a prostitute...
&lt;br&gt;&amp;nbsp; &amp;nbsp; Paul: Oh yeah.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Reporter: ...and &amp;quot;Norwegian Wood&amp;quot; as being about a lesbian.
&lt;br&gt;&amp;nbsp; &amp;nbsp; Paul: Oh yeah.&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp;:)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26641823.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641763</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T04:19:15Z</published>
	<updated>2009-12-04T04:19:15Z</updated>
	<author>
		<name>Glenn Ivar Klausen</name>
	</author>
	<content type="html">Emmanuel Lcharny wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This name was picked by someone who was at the origin of the project, 
&lt;br&gt;&amp;gt; at a time he was pretty alone working on it (since then, he quit). I 
&lt;br&gt;&amp;gt; personnaly don't think it's a good idea to attach a name with a 
&lt;br&gt;&amp;gt; version, à la Ubuntu (I have always been totally lost with Intrepid 
&lt;br&gt;&amp;gt; Jakal or Laughable Vampire, not being able to make a connection with 
&lt;br&gt;&amp;gt; 8.04 or 9.10).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Ok, ... I was just referring to the fact that Norwegian is spelled 
&lt;br&gt;wrong, however, its a good point regarding the nick names.
&lt;br&gt;&lt;br&gt;G (Norwegian)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26641763.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641749</id>
	<title>[CONF] Apache MINA &gt; Mailing Lists</title>
	<published>2009-12-04T04:18:00Z</published>
	<updated>2009-12-04T04:18:00Z</updated>
	<author>
		<name>confluence-2</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;
    &lt;base href=&quot;http://cwiki.apache.org/confluence&quot;&gt;
            &lt;link rel=&quot;stylesheet&quot; href=&quot;/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=MINA&amp;amp;forWysiwyg=true&quot; type=&quot;text/css&quot;&gt;
    &lt;/head&gt;
&lt;body style=&quot;background-color: white&quot; bgcolor=&quot;white&quot;&gt;
&lt;div id=&quot;pageContent&quot;&gt;
&lt;div id=&quot;notificationFormat&quot;&gt;
&lt;div class=&quot;wiki-content&quot;&gt;
&lt;div class=&quot;email&quot;&gt;
     &lt;h2&gt;&lt;a href=&quot;http://cwiki.apache.org/confluence/display/MINA/Mailing+Lists&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mailing Lists&lt;/a&gt;&lt;/h2&gt;
     &lt;h4&gt;Page &lt;b&gt;edited&lt;/b&gt; by             &lt;a href=&quot;http://cwiki.apache.org/confluence/display/~elecharny&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Emmanuel LÃ©charny&lt;/a&gt;
    &lt;/h4&gt;
     
          &lt;br /&gt;
     &lt;div class=&quot;notificationGreySide&quot;&gt;
         &lt;p&gt;The Apache MINA team interacts with MINA developers and users via &lt;a href=&quot;http://en.wikipedia.org/wiki/Mailing_list&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;mailing lists&lt;/a&gt;.  If you have any questions or something to say to us, please subscribe to our user mailing list and post a message.  If you would like to contribute to the development of MINA, please subscribe to the developer mailing list.&lt;/p&gt;

&lt;div class='panelMacro'&gt;&lt;table class='noteMacro'&gt;&lt;colgroup&gt;&lt;col width='24'&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tr&gt;&lt;td valign='top'&gt;&lt;img src=&quot;/confluence/images/icons/emoticons/warning.gif&quot; width=&quot;16&quot; height=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Before sending a mail&lt;/b&gt;&lt;br /&gt;&lt;p&gt;Take a few minutes to read this page : &lt;a href=&quot;http://www.catb.org/~esr/faqs/smart-questions.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.catb.org/~esr/faqs/smart-questions.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More specifically, follow those simple rules :&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Do &lt;b&gt;not&lt;/b&gt; cross post (ie mail to users &lt;b&gt;and&lt;/b&gt; dev). Pick the right list.&lt;/li&gt;
	&lt;li&gt;No need to send a mail every hour if you don't get an answer. We don't have an answer to every question ...&lt;/li&gt;
	&lt;li&gt;Use meaningful subject headers. &lt;b&gt;HELP PLEASE HELP ME&lt;/b&gt; is just plain useless...&lt;/li&gt;
	&lt;li&gt;Be precise about your problem.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Always&lt;/b&gt; give some information about the version you are using, the OS, the Java version.&lt;/li&gt;
	&lt;li&gt;You may have find a bug in MINA, but it's way more likely that &lt;b&gt;your&lt;/b&gt; code is buggy.&lt;/li&gt;
	&lt;li&gt;Don't be afraid to post, even if you think your english suck. Most of us are not english native speakers, anyways ...&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Thanks for listening !&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;&lt;a name=&quot;MailingLists-Usersmailinglist&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Users mailing list&lt;/h2&gt;

&lt;p&gt;This list is for any questions related to MINA. It's where you need to post for requesting support, or asking question about API usage.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Subscribing&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Subscribing&lt;/h3&gt;

&lt;p&gt;Send a message to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-subscribe@...&lt;/a&gt; with a subject and body containg '&lt;b&gt;subscribe&lt;/b&gt;'.  You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message.  After sending your initial email, you will be sent a confirmation email.  Simply reply to the confirmation email and you will be subscribed.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Postingamessage&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Posting a message&lt;/h3&gt;

&lt;p&gt;You can ask any questions or provide feedback by sending an email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users@...&lt;/a&gt; &lt;b&gt;after subscribing to the mailing list&lt;/b&gt;.  Your message can be sent even if you didn't subscribe to the mailing list, but it will take some time for your message to be in our mail box because of the moderation process.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Unsubscribing&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Unsubscribing&lt;/h3&gt;

&lt;p&gt;Oh, did you lose your interest in MINA?  Please let us know what made so if MINA couldn't solve your problem and give it a chance!  Sending a message whose subject and body contains '&lt;b&gt;unsubscribe&lt;/b&gt;' to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt; in plain text format will unsubscribe you from the mailing list though.  You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;MailingLists-Developersmailinglist.&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Developers mailing list.&lt;/h2&gt;

&lt;p&gt;This mailing list is used for discussions about the actual development of MINA and sub-projects (Ftpserver, Asyncweb).&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Subscribing&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Subscribing&lt;/h3&gt;

&lt;p&gt;Similar to subscribing to the user mailing list, please send a message whose subject and body contains '&lt;b&gt;subscribe&lt;/b&gt;' to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-subscribe@...&lt;/a&gt; in plain text format.  Again, you can actually send an empty or rich text message to subscribe, but our spam filter might reject your message.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Postingamessage&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Posting a message&lt;/h3&gt;

&lt;p&gt;You can ask any questions or feedback to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt; &lt;b&gt;after subscribing to the mailing list&lt;/b&gt;.  Your message can be sent even if you didn't subscribe to the mailing list, but it will take for some time for your message to be in our mail box because of moderation process.&lt;/p&gt;

&lt;p&gt;Alternatively, you can use &lt;a href=&quot;http://www.nabble.com/mina-dev-f16869.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;the web forum interface&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Unsubscribingfromthemailinglist.&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Unsubscribing from the mailing list.&lt;/h3&gt;

&lt;p&gt;To unsubscribe, send a message whose subject and body contains '&lt;b&gt;unsubscribe&lt;/b&gt;' to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt; in plain text format will unsubscribe you from the mailing list though.  You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;MailingLists-Commitsmailinglist.&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Commits mailing list.&lt;/h2&gt;

&lt;p&gt;This mailing list is tracking all the code modifications realised in MINA subversion repository. It's an useful tool for knowing what is going on MINA development and giving feeback on last modifications using the development mailing list.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Subscribing&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Subscribing&lt;/h3&gt;

&lt;p&gt;Similar to subscribing to the user and developer mailing lists, please send a message whose subject and body contains '&lt;b&gt;subscribe&lt;/b&gt;' to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-subscribe@...&lt;/a&gt; in plain text format.  Again, you can actually send an empty or rich text message to subscribe, but our spam filter might reject your message.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;MailingLists-Unsubscribingfromthemailinglist.&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Unsubscribing from the mailing list.&lt;/h3&gt;

&lt;p&gt;To unsubscribe, send a message whose subject and body contains '&lt;b&gt;unsubscribe&lt;/b&gt;' to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26641749&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-unsubscribe@...&lt;/a&gt; in plain text format will unsubscribe you from the mailing list though.  You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;MailingLists-Archive&quot; target=&quot;_top&quot;&gt;&lt;/a&gt;Archive&lt;/h2&gt;

&lt;p&gt;All previous messages are archived in the following site:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.nabble.com/Apache-MINA-f16868.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Nabble.com&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://mina.markmail.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;MarkMail.org&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://dir.gmane.org/search.php?match=mina.&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Gmane.org&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Mail-Archive.com - &lt;a href=&quot;http://www.mail-archive.com/dev%40mina.apache.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;dev&lt;/a&gt;, &lt;a href=&quot;http://www.mail-archive.com/users%40mina.apache.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;users&lt;/a&gt; &lt;a href=&quot;http://www.mail-archive.com/commits%40mina.apache.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;commits&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Apache.org - &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/mina-dev/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;dev&lt;/a&gt;, &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/mina-users/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;users&lt;/a&gt;, &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/mina-commits/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;commits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

     &lt;/div&gt;
     &lt;div id=&quot;commentsSection&quot; class=&quot;wiki-content pageSection&quot;&gt;
       &lt;div style=&quot;float: right;&quot;&gt;
            &lt;a href=&quot;http://cwiki.apache.org/confluence/users/viewnotifications.action&quot; class=&quot;grey&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Change Notification Preferences&lt;/a&gt;
       &lt;/div&gt;

       &lt;a href=&quot;http://cwiki.apache.org/confluence/display/MINA/Mailing+Lists&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;View Online&lt;/a&gt;
       |
       &lt;a href=&quot;http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=29023&amp;revisedVersion=24&amp;originalVersion=23&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;View Change&lt;/a&gt;
              |
       &lt;a href=&quot;http://cwiki.apache.org/confluence/display/MINA/Mailing+Lists?showComments=true&amp;amp;showCommentArea=true#addcomment&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Add Comment&lt;/a&gt;
            &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-CONF--Apache-MINA-%3E-Mailing-Lists-tp26641749p26641749.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641645</id>
	<title>Re: Does SSHD support call back methods before providing a password</title>
	<published>2009-12-04T04:06:19Z</published>
	<updated>2009-12-04T04:06:19Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">Prasad Shindikar a écrit :
&lt;br&gt;&amp;gt; Hi SSHD Users,
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;If this is for users, why did you cross posted this mail to the dev list 
&lt;br&gt;??? Please read &lt;a href=&quot;http://www.catb.org/~esr/faqs/smart-questions.html#asking&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.catb.org/~esr/faqs/smart-questions.html#asking&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-SSHD-support-call-back-methods-before-providing-a-password-tp26641599p26641645.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641599</id>
	<title>Does SSHD support call back methods before providing a password</title>
	<published>2009-12-04T03:56:35Z</published>
	<updated>2009-12-04T03:56:35Z</updated>
	<author>
		<name>Prasad Shindikar</name>
	</author>
	<content type="html">Hi SSHD Users,
&lt;br&gt;&lt;br&gt;I have a business scenario where I cannot provide passwords directly to the
&lt;br&gt;SSHD client code.
&lt;br&gt;&lt;br&gt;I have a security gateway which kicks in whenever I SSH (using SSHD) into a
&lt;br&gt;given remote machine. This gateway, does not directly accept a simple clear
&lt;br&gt;text password.
&lt;br&gt;&lt;br&gt;Instead it outputs a few things on the console, and a combination of these
&lt;br&gt;things gives me a unique password which if entered will successfully login
&lt;br&gt;to the machine.
&lt;br&gt;&lt;br&gt;So, my question here is can I in someway access the console (to get the
&lt;br&gt;above mentioned things) using SSHD, so that I can calculate the unique
&lt;br&gt;response and set it as password before the SSHD client code connects to the
&lt;br&gt;remote machine.
&lt;br&gt;&lt;br&gt;Hope I am being clear here. :-)
&lt;br&gt;&lt;br&gt;Is there some call back mechanism while connecting, using which I can hook
&lt;br&gt;the required authentication ?
&lt;br&gt;&lt;br&gt;Any help or pointers for the same will be appreciated.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Prasad Shindikar
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-SSHD-support-call-back-methods-before-providing-a-password-tp26641599p26641599.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641597</id>
	<title>Does SSHD support call back methods before providing a password</title>
	<published>2009-12-04T03:55:05Z</published>
	<updated>2009-12-04T03:55:05Z</updated>
	<author>
		<name>Prasad Shindikar</name>
	</author>
	<content type="html">Hi SSHD Users,
&lt;br&gt;&lt;br&gt;I have a business scenario where I cannot provide passwords directly to the
&lt;br&gt;SSHD client code.
&lt;br&gt;&lt;br&gt;I have a security gateway which kicks in whenever I SSH (using SSHD) into a
&lt;br&gt;given remote machine. This gateway, does not directly accept a simple clear
&lt;br&gt;text password.
&lt;br&gt;&lt;br&gt;Instead it outputs a few things on the console, and a combination of these
&lt;br&gt;things gives me a unique password which if entered will successfully login
&lt;br&gt;to the machine.
&lt;br&gt;&lt;br&gt;So, my question here is can I in someway access the console (to get the
&lt;br&gt;above mentioned things) using SSHD, so that I can calculate the unique
&lt;br&gt;response and set it as password before the SSHD client code connects to the
&lt;br&gt;remote machine.
&lt;br&gt;&lt;br&gt;Hope I am being clear here. :-)
&lt;br&gt;&lt;br&gt;Is there some call back mechanism while connecting, using which I can hook
&lt;br&gt;the required authentication ?
&lt;br&gt;&lt;br&gt;Any help or pointers for the same will be appreciated.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Prasad Shindikar
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-User-Forum-f32104.html&quot; embed=&quot;fixTarget[32104]&quot; target=&quot;_top&quot; &gt;Apache MINA User Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-SSHD-support-call-back-methods-before-providing-a-password-tp26641597p26641597.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26641352</id>
	<title>Hudson build became unstable: vysper-trunk-jdk1.6-solaris » Apache Vysper Core #166</title>
	<published>2009-12-04T03:40:09Z</published>
	<updated>2009-12-04T03:40:09Z</updated>
	<author>
		<name>Apache Hudson Server</name>
	</author>
	<content type="html">See &amp;lt;&lt;a href=&quot;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.6-solaris/org.apache.vysper$vysper-core/166/changes&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hudson.zones.apache.org/hudson/job/vysper-trunk-jdk1.6-solaris/org.apache.vysper$vysper-core/166/changes&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Hudson-build-became-unstable%3A-vysper-trunk-jdk1.6-solaris-%C2%BB-Apache-Vysper-Core--166-tp26641352p26641352.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640825</id>
	<title>svn commit: r887153 - /mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java</title>
	<published>2009-12-04T02:46:37Z</published>
	<updated>2009-12-04T02:46:37Z</updated>
	<author>
		<name>ngn</name>
	</author>
	<content type="html">Author: ngn
&lt;br&gt;Date: Fri Dec &amp;nbsp;4 10:46:37 2009
&lt;br&gt;New Revision: 887153
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=887153&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=887153&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Allow for some extra time for setting up the server for integration tests
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java
&lt;br&gt;&lt;br&gt;Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java?rev=887153&amp;r1=887152&amp;r2=887153&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java?rev=887153&amp;r1=887152&amp;r2=887153&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java (original)
&lt;br&gt;+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/AbstractIntegrationTestCase.java Fri Dec &amp;nbsp;4 10:46:37 2009
&lt;br&gt;@@ -93,6 +93,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server.start();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addModules(server);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// allow for the server to bootstrap
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.sleep(200);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected XMPPConnection connectClient(int port, String username, String password) throws Exception {
&lt;br&gt;@@ -167,6 +170,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	System.out.println(&amp;quot;Test teardown, stopping server&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server.stop();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(Exception ignored) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Commits-f16870.html&quot; embed=&quot;fixTarget[16870]&quot; target=&quot;_top&quot; &gt;Apache MINA Commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r887153----mina-sandbox-vysper-trunk-server-core-src-test-java-org-apache-vysper-xmpp-modules-extension-xep0199_xmppping-AbstractIntegrationTestCase.java-tp26640825p26640825.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640505</id>
	<title>[jira] Commented: (DIRMINA-668) Modify the way we use IoProcessors</title>
	<published>2009-12-04T02:20:20Z</published>
	<updated>2009-12-04T02:20:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785852#action_12785852&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785852#action_12785852&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Emmanuel Lecharny commented on DIRMINA-668:
&lt;br&gt;-------------------------------------------
&lt;br&gt;&lt;br&gt;AFAIR, when a new message arrives, as it is associated with a session, it's beng processed by a IoProcessor. As an IoProcessor also holds the selector, we can't process more than one message at a time in a single IoProcessor (hopefully, we have more than one IoProcessor). So if the message is costly to process (ie, yu access a database in the middle), in a loaded system, messages can be blocked a long time before being processed, waiing for the crrent message to be completed.
&lt;br&gt;&lt;br&gt;This is what I meant. Hope it's clearer.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Modify the way we use IoProcessors
&lt;br&gt;&amp;gt; ----------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: DIRMINA-668
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/DIRMINA-668&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/DIRMINA-668&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: MINA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M4
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Emmanuel Lecharny
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 3.0.0-M1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In the current code base, when accepting new connections, we pick a processor and register the news connection within the internal selector. In other words, we have as many selectors as we have IoProcessors.
&lt;br&gt;&amp;gt; This is a potential problem if some request cost a lot to be executed, as every requests waiting on this IoProcessor will be blocked.
&lt;br&gt;&amp;gt; It would be way better to use a single selector which dispatches requests to an Executor, as we will always have available threads ready to process the requests (unless the pool is saturated, but then we have a bigger issue ...)
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28DIRMINA-668%29-Modify-the-way-we-use-IoProcessors-tp22404721p26640505.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640462</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T02:17:04Z</published>
	<updated>2009-12-04T02:17:04Z</updated>
	<author>
		<name>Niklas Gustavsson</name>
	</author>
	<content type="html">On Fri, Dec 4, 2009 at 11:15 AM, Emmanuel LŽcharny &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26640462&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elecharny@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;/niklas
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26640462.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26640439</id>
	<title>Re: Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T02:15:33Z</published>
	<updated>2009-12-04T02:15:33Z</updated>
	<author>
		<name>Emmanuel Lcharny</name>
	</author>
	<content type="html">Glenn Ivar Klausen a écrit :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is my first post to the MINA mailing list, and I don't want to 
&lt;br&gt;&amp;gt; step on any toes, but I could not help it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Seriously, isn't &amp;quot;Version 2.x - Norweigian Wood&amp;quot; embarrassing.
&lt;br&gt;&lt;br&gt;Well, less than &amp;quot;dead wood&amp;quot;...
&lt;br&gt;&lt;br&gt;This name was picked by someone who was at the origin of the project, at 
&lt;br&gt;a time he was pretty alone working on it (since then, he quit). I 
&lt;br&gt;personnaly don't think it's a good idea to attach a name with a version, 
&lt;br&gt;à la Ubuntu (I have always been totally lost with Intrepid Jakal or 
&lt;br&gt;Laughable Vampire, not being able to make a connection with 8.04 or 9.10).
&lt;br&gt;&lt;br&gt;Anyway, I think we should get rid of those useless nicknames.
&lt;br&gt;&lt;br&gt;Team ?
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26640439.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26639468</id>
	<title>Version 2.x - Norweigian Wood</title>
	<published>2009-12-04T00:51:58Z</published>
	<updated>2009-12-04T00:51:58Z</updated>
	<author>
		<name>Glenn Ivar Klausen</name>
	</author>
	<content type="html">&lt;br&gt;This is my first post to the MINA mailing list, and I don't want to step 
&lt;br&gt;on any toes, but I could not help it.
&lt;br&gt;&lt;br&gt;Seriously, isn't &amp;quot;Version 2.x - Norweigian Wood&amp;quot; embarrassing.
&lt;br&gt;&lt;br&gt;G
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Apache-MINA-Developer-Forum-f16869.html&quot; embed=&quot;fixTarget[16869]&quot; target=&quot;_top&quot; &gt;Apache MINA Developer Forum&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Version-2.x---Norweigian-Wood-tp26639468p26639468.html" />
</entry>

</feed>
