You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2010/03/09 13:09:51 UTC

svn commit: r920821 - in /mina/sandbox/vysper/trunk: ./ dist/ nbxml/src/main/java/org/apache/vysper/xml/decoder/ nbxml/src/test/java/org/apache/vysper/xml/decoder/ server/core/ server/core/src/main/java/org/apache/vysper/mina/ server/core/src/main/java...

Author: ngn
Date: Tue Mar  9 12:09:50 2010
New Revision: 920821

URL: http://svn.apache.org/viewvc?rev=920821&view=rev
Log:
Merge MINA 2.0 branch

Modified:
    mina/sandbox/vysper/trunk/dist/pom.xml
    mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/ParticleDecoder.java
    mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLStreamTokenizer.java
    mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/decoder/ParticleDecoderTestCase.java
    mina/sandbox/vysper/trunk/pom.xml
    mina/sandbox/vysper/trunk/server/core/pom.xml
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/MinaBackedSessionContext.java
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/StanzaLoggingFilter.java
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/TCPEndpoint.java
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java
    mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/MockIoSession.java
    mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/XMLStreamTokenizerTestCase.java

Modified: mina/sandbox/vysper/trunk/dist/pom.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/dist/pom.xml?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/dist/pom.xml (original)
+++ mina/sandbox/vysper/trunk/dist/pom.xml Tue Mar  9 12:09:50 2010
@@ -68,17 +68,6 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.mina</groupId>
-      <artifactId>mina-filter-ssl</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.mina</groupId>
-      <artifactId>mina-integration-spring</artifactId>
-      <optional>true</optional>
-    </dependency>
-
-    <dependency>
       <groupId>org.cyberneko.pull</groupId>
       <artifactId>nekopull</artifactId>
       <optional>true</optional>

Modified: mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/ParticleDecoder.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/ParticleDecoder.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/ParticleDecoder.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/ParticleDecoder.java Tue Mar  9 12:09:50 2010
@@ -19,10 +19,10 @@
  */
 package org.apache.vysper.xml.decoder;
 
-import org.apache.mina.common.ByteBuffer;
-
 import java.nio.charset.CharsetDecoder;
 
+import org.apache.mina.core.buffer.IoBuffer;
+
 /**
  * partitions the incoming byte stream in particles of XML. either those enclosed by '<' and '>', or the text inbetween.
  *
@@ -49,7 +49,7 @@ public class ParticleDecoder {
      * @return the new particle or NULL, if the buffer was exhausted before the particle was completed
      * @throws Exception
      */
-    public static XMLParticle decodeParticle(ByteBuffer byteBuffer, CharsetDecoder charsetDecoder) throws Exception {
+    public static XMLParticle decodeParticle(IoBuffer byteBuffer, CharsetDecoder charsetDecoder) throws Exception {
         int startPosition = byteBuffer.position();
 
         State state = State.START;
@@ -89,7 +89,7 @@ public class ParticleDecoder {
                 int endPosition = byteBuffer.position();
                 if (state == State.END_TEXT) endPosition--;
                 int limit = byteBuffer.limit();
-                ByteBuffer stanzaBuffer = null;
+                IoBuffer stanzaBuffer = null;
                 try {
                     // prepare correct slicing
                     byteBuffer.position(startPosition);

Modified: mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLStreamTokenizer.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLStreamTokenizer.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLStreamTokenizer.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLStreamTokenizer.java Tue Mar  9 12:09:50 2010
@@ -22,8 +22,8 @@ package org.apache.vysper.xml.decoder;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.mina.common.ByteBuffer;
-import org.apache.mina.common.IoSession;
+import org.apache.mina.core.buffer.IoBuffer;
+import org.apache.mina.core.session.IoSession;
 import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
 import org.apache.vysper.charset.CharsetUtil;
@@ -52,7 +52,7 @@ public class XMLStreamTokenizer extends 
 
     
     @Override
-    public boolean doDecode(IoSession ioSession, ByteBuffer byteBuffer, ProtocolDecoderOutput protocolDecoderOutput) throws Exception {
+    public boolean doDecode(IoSession ioSession, IoBuffer byteBuffer, ProtocolDecoderOutput protocolDecoderOutput) throws Exception {
 
         XMLParticle xmlParticle = ParticleDecoder.decodeParticle(byteBuffer, CharsetUtil.UTF8_DECODER);
 

Modified: mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/decoder/ParticleDecoderTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/decoder/ParticleDecoderTestCase.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/decoder/ParticleDecoderTestCase.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/decoder/ParticleDecoderTestCase.java Tue Mar  9 12:09:50 2010
@@ -24,10 +24,8 @@ import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.core.buffer.IoBuffer;
 import org.apache.vysper.charset.CharsetUtil;
-import org.apache.vysper.xml.decoder.ParticleDecoder;
-import org.apache.vysper.xml.decoder.XMLParticle;
 
 /**
  */
@@ -104,20 +102,20 @@ public class ParticleDecoderTestCase ext
 	}
 
 	
-	private ByteBuffer wrap(String xml) throws Exception {
-		return ByteBuffer.wrap(xml.getBytes("UTF-8"));
+	private IoBuffer wrap(String xml) throws Exception {
+		return IoBuffer.wrap(xml.getBytes("UTF-8"));
 	}
 	
 	private XMLParticle decode(String xml) throws Exception {
 		return decode(wrap(xml));
 	}
 
-	private XMLParticle decode(ByteBuffer bb) throws Exception {
+	private XMLParticle decode(IoBuffer bb) throws Exception {
 		return ParticleDecoder.decodeParticle(bb, CharsetUtil.UTF8_DECODER);
 	}
 
 	private List<XMLParticle> decodeAll(String xml) throws Exception {
-		ByteBuffer bb = wrap(xml);
+		IoBuffer bb = wrap(xml);
 		List<XMLParticle> particles = new ArrayList<XMLParticle>();
 		
 		XMLParticle particle = decode(bb);

Modified: mina/sandbox/vysper/trunk/pom.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/pom.xml?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/pom.xml (original)
+++ mina/sandbox/vysper/trunk/pom.xml Tue Mar  9 12:09:50 2010
@@ -103,35 +103,13 @@
       <dependency>
         <groupId>org.apache.mina</groupId>
         <artifactId>mina-core</artifactId>
-        <version>1.1.7</version>
+        <version>2.0.0-RC1</version>
       </dependency>
 
       <dependency>
         <groupId>org.apache.mina</groupId>
         <artifactId>mina-integration-jmx</artifactId>
-        <version>1.1.7</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.mina</groupId>
-        <artifactId>mina-filter-ssl</artifactId>
-        <version>1.1.7</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.mina</groupId>
-        <artifactId>mina-integration-spring</artifactId>
-        <version>1.1.7</version>
-        <exclusions>
-          <exclusion>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-beans</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-core</artifactId>
-          </exclusion>
-        </exclusions>
+        <version>2.0.0-RC1</version>
       </dependency>
 
       <dependency>

Modified: mina/sandbox/vysper/trunk/server/core/pom.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/pom.xml?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/pom.xml (original)
+++ mina/sandbox/vysper/trunk/server/core/pom.xml Tue Mar  9 12:09:50 2010
@@ -53,17 +53,6 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.mina</groupId>
-      <artifactId>mina-filter-ssl</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.mina</groupId>
-      <artifactId>mina-integration-spring</artifactId>
-      <optional>true</optional>
-    </dependency>
-
-    <dependency>
       <groupId>org.cyberneko.pull</groupId>
       <artifactId>nekopull</artifactId>
       <optional>true</optional>

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/MinaBackedSessionContext.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/MinaBackedSessionContext.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/MinaBackedSessionContext.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/MinaBackedSessionContext.java Tue Mar  9 12:09:50 2010
@@ -19,12 +19,11 @@
  */
 package org.apache.vysper.mina;
 
-import org.apache.mina.common.IoSession;
-import org.apache.mina.common.TrafficMask;
-import org.apache.mina.common.CloseFuture;
-import org.apache.mina.common.IoFutureListener;
-import org.apache.mina.common.IoFuture;
-import org.apache.mina.filter.SSLFilter;
+import org.apache.mina.core.future.CloseFuture;
+import org.apache.mina.core.future.IoFuture;
+import org.apache.mina.core.future.IoFutureListener;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.ssl.SslFilter;
 import org.apache.vysper.mina.codec.StanzaWriteInfo;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.server.AbstractSessionContext;
@@ -35,8 +34,9 @@ import org.apache.vysper.xmpp.writer.Sta
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+
 /**
- * connects MINA frontend to the vysper backend
+ * connects MINA 2 frontend to the vysper backend
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  */
@@ -73,15 +73,16 @@ public class MinaBackedSessionContext ex
     }
 
     public void write(Stanza stanza) {
-
         if (switchToTLS) {
-            minaSession.setTrafficMask(TrafficMask.WRITE);
-            SSLFilter filter = new SSLFilter(getServerRuntimeContext().getSslContext());
+            minaSession.suspendRead();
+            minaSession.suspendWrite();
+            SslFilter filter = new SslFilter(getServerRuntimeContext().getSslContext());
             filter.setUseClientMode(false);
             minaSession.getFilterChain().addFirst("sslFilter", filter);
-            minaSession.setAttribute(SSLFilter.DISABLE_ENCRYPTION_ONCE, Boolean.TRUE);
-            minaSession.setAttribute(SSLFilter.USE_NOTIFICATION, Boolean.TRUE);
-            minaSession.setTrafficMask(TrafficMask.ALL);
+            minaSession.setAttribute(SslFilter.DISABLE_ENCRYPTION_ONCE, Boolean.TRUE);
+            minaSession.setAttribute(SslFilter.USE_NOTIFICATION, Boolean.TRUE);
+            minaSession.resumeWrite();
+            minaSession.resumeRead();
             switchToTLS = false;
         }
 

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/StanzaLoggingFilter.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/StanzaLoggingFilter.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/StanzaLoggingFilter.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/StanzaLoggingFilter.java Tue Mar  9 12:09:50 2010
@@ -19,8 +19,10 @@
  */
 package org.apache.vysper.mina;
 
-import org.apache.mina.common.IoFilterAdapter;
-import org.apache.mina.common.IoSession;
+import org.apache.mina.core.filterchain.IoFilterAdapter;
+import org.apache.mina.core.filterchain.IoFilter.NextFilter;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.core.write.WriteRequest;
 import org.apache.vysper.mina.codec.StanzaWriteInfo;
 import org.apache.vysper.xml.fragment.Renderer;
 import org.apache.vysper.xml.fragment.XMLElement;
@@ -32,7 +34,7 @@ import org.slf4j.LoggerFactory;
  *
  * @author The Apache MINA Project (dev@mina.apache.org)
  */
-public class StanzaLoggingFilter extends IoFilterAdapter {
+public abstract class StanzaLoggingFilter extends IoFilterAdapter {
 
     final Logger serverLogger = LoggerFactory.getLogger("stanza.server");
 
@@ -70,7 +72,8 @@ public class StanzaLoggingFilter extends
     }
 
     public void messageSent(NextFilter nextFilter, IoSession session,
-            Object message) throws Exception {
+            WriteRequest request) throws Exception {
+    	Object message = request.getMessage();
         if (message instanceof StanzaWriteInfo) {
             StanzaWriteInfo stanzaWriteInfo = (StanzaWriteInfo) message;
 
@@ -87,7 +90,7 @@ public class StanzaLoggingFilter extends
             }
         }
 
-        nextFilter.messageSent(session, message);
+        nextFilter.messageSent(session, request);
     }
 
     private String toXml(XMLElement element, boolean openElement,

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/TCPEndpoint.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/TCPEndpoint.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/TCPEndpoint.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/TCPEndpoint.java Tue Mar  9 12:09:50 2010
@@ -22,12 +22,11 @@ package org.apache.vysper.mina;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 
-import org.apache.mina.common.DefaultIoFilterChainBuilder;
-import org.apache.mina.filter.LoggingFilter;
+import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
 import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.executor.ExecutorFilter;
-import org.apache.mina.transport.socket.nio.SocketAcceptor;
-import org.apache.mina.transport.socket.nio.SocketAcceptorConfig;
+import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.transport.socket.SocketAcceptor;
+import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.apache.vysper.mina.codec.XMPPProtocolCodecFactory;
 import org.apache.vysper.xmpp.server.Endpoint;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
@@ -59,28 +58,25 @@ public class TCPEndpoint implements Endp
     }
 
     public void start() throws IOException {
+    	NioSocketAcceptor acceptor = new NioSocketAcceptor();
+    	 
+    	DefaultIoFilterChainBuilder filterChainBuilder = new DefaultIoFilterChainBuilder();
+    	//filterChainBuilder.addLast("executorFilter", new OrderedThreadPoolExecutor());
+    	filterChainBuilder.addLast("xmppCodec", new ProtocolCodecFilter(new XMPPProtocolCodecFactory()));
+    	filterChainBuilder.addLast("loggingFilter", new LoggingFilter());
+    	acceptor.setFilterChainBuilder(filterChainBuilder);
+    	
         XmppIoHandlerAdapter adapter = new XmppIoHandlerAdapter();
         adapter.setServerRuntimeContext(serverRuntimeContext);
+        acceptor.setHandler(adapter);
+         
+        acceptor.setReuseAddress(true);
+        acceptor.bind(new InetSocketAddress(port));
 
-        XMPPProtocolCodecFactory xmppCodec = new XMPPProtocolCodecFactory();
-
-        filterChainBuilder = new DefaultIoFilterChainBuilder();
-        filterChainBuilder.addLast("executorFilter", new ExecutorFilter());
-        filterChainBuilder.addLast("xmppCodec", new ProtocolCodecFilter(xmppCodec));
-        filterChainBuilder.addLast("loggingFilter", new LoggingFilter());
-        filterChainBuilder.addLast("stanzaLoggingFilter", new StanzaLoggingFilter());
-
-        SocketAcceptorConfig socketAcceptorConfig = new SocketAcceptorConfig();
-        socketAcceptorConfig.setFilterChainBuilder(filterChainBuilder);
-        socketAcceptorConfig.setReuseAddress(true);
-
-        SocketAcceptor acceptor = new SocketAcceptor();
-        acceptor.setDefaultConfig(socketAcceptorConfig);
-        acceptor.bind(new InetSocketAddress(port), adapter);
         this.acceptor = acceptor;
     }
 
     public void stop() {
-        acceptor.unbindAll();
+        acceptor.unbind();
     }
 }

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java Tue Mar  9 12:09:50 2010
@@ -19,10 +19,10 @@
  */
 package org.apache.vysper.mina;
 
-import org.apache.mina.common.IdleStatus;
-import org.apache.mina.common.IoHandler;
-import org.apache.mina.common.IoSession;
-import org.apache.mina.filter.SSLFilter;
+import org.apache.mina.core.service.IoHandler;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.ssl.SslFilter;
 import org.apache.vysper.xml.fragment.XMLText;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
@@ -68,12 +68,12 @@ public class XmppIoHandlerAdapter implem
     }
 
     private void messageReceivedNoStanza(IoSession ioSession, Object message) {
-        if (message == SSLFilter.SESSION_SECURED) {
+        if (message == SslFilter.SESSION_SECURED) {
             SessionContext session = extractSession(ioSession);
             SessionStateHolder stateHolder = (SessionStateHolder) ioSession.getAttribute(ATTRIBUTE_VYSPER_SESSIONSTATEHOLDER);
             serverRuntimeContext.getStanzaProcessor().processTLSEstablished(session, stateHolder);
             return;
-        } else if (message == SSLFilter.SESSION_UNSECURED) {
+        } else if (message == SslFilter.SESSION_UNSECURED) {
             // TODO
             return;
 //            throw new IllegalStateException("server must close session!");

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java Tue Mar  9 12:09:50 2010
@@ -21,8 +21,9 @@ package org.apache.vysper.mina.codec;
 
 import java.nio.charset.CharsetEncoder;
 
-import org.apache.mina.common.ByteBuffer;
-import org.apache.mina.common.IoSession;
+
+import org.apache.mina.core.buffer.IoBuffer;
+import org.apache.mina.core.session.IoSession;
 import org.apache.mina.filter.codec.ProtocolEncoder;
 import org.apache.mina.filter.codec.ProtocolEncoderOutput;
 import org.apache.vysper.charset.CharsetUtil;
@@ -50,7 +51,7 @@ public class StanzaWriterProtocolEncoder
         Stanza element = stanzaWriteInfo.getStanza();
         Renderer renderer = new Renderer(element);
 
-        ByteBuffer byteBuffer = ByteBuffer.allocate(16).setAutoExpand(true);
+        IoBuffer byteBuffer = IoBuffer.allocate(16).setAutoExpand(true);
         if (stanzaWriteInfo.isWriteProlog()) byteBuffer.putString(StanzaWriter.XML_PROLOG, getSessionEncoder());
         if (stanzaWriteInfo.isWriteOpeningElement()) byteBuffer.putString(renderer.getOpeningElement(), getSessionEncoder());
         if (stanzaWriteInfo.isWriteContent()) byteBuffer.putString(renderer.getElementContent(), getSessionEncoder());

Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java Tue Mar  9 12:09:50 2010
@@ -19,6 +19,7 @@
  */
 package org.apache.vysper.mina.codec;
 
+import org.apache.mina.core.session.IoSession;
 import org.apache.mina.filter.codec.ProtocolCodecFactory;
 import org.apache.mina.filter.codec.ProtocolDecoder;
 import org.apache.mina.filter.codec.ProtocolEncoder;
@@ -31,11 +32,11 @@ import org.apache.vysper.xml.decoder.XML
  */
 public class XMPPProtocolCodecFactory implements ProtocolCodecFactory {
 
-    public ProtocolEncoder getEncoder() throws Exception {
+	public ProtocolEncoder getEncoder(IoSession s) throws Exception {
         return new StanzaWriterProtocolEncoder();
     }
 
-    public ProtocolDecoder getDecoder() throws Exception {
+	public ProtocolDecoder getDecoder(IoSession s) throws Exception {
         return new XMLStreamTokenizer(new StanzaBuilderFactory());
     }
 }

Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/MockIoSession.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/MockIoSession.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/MockIoSession.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/MockIoSession.java Tue Mar  9 12:09:50 2010
@@ -19,107 +19,20 @@
  */
 package org.apache.vysper.mina.codec;
 
-import org.apache.mina.common.support.BaseIoSession;
-import org.apache.mina.common.IoSessionConfig;
-import org.apache.mina.common.IoFilterChain;
-import org.apache.mina.common.IoHandler;
-import org.apache.mina.common.IoService;
-import org.apache.mina.common.IoServiceConfig;
-import org.apache.mina.common.TransportType;
-
 import java.net.SocketAddress;
-import java.util.Set;
-
-public class MockIoSession extends BaseIoSession
-{
-
-    @Override
-    protected void updateTrafficMask()
-    {
-    }
-
-    public IoSessionConfig getConfig()
-    {
-        return null;
-    }
 
-    public IoFilterChain getFilterChain()
+import org.apache.mina.core.service.DefaultTransportMetadata;
+import org.apache.mina.core.session.DummySession;
+import org.apache.mina.core.session.IoSessionConfig;
+
+public class MockIoSession extends DummySession
     {
-        return null;
-    }
 
-    public IoHandler getHandler()
-    {
-        return null;
+  public MockIoSession() {
+    setTransportMetadata(
+    new DefaultTransportMetadata(
+        "mina", "dummy", false, true,
+        SocketAddress.class, IoSessionConfig.class, Object.class));
     }
 
-    public SocketAddress getLocalAddress()
-    {
-        return null;
-    }
-
-    public SocketAddress getRemoteAddress()
-    {
-        return null;
-    }
-
-    public int getScheduledWriteBytes()
-    {
-        return 0;
-    }
-
-    public int getScheduledWriteRequests()
-    {
-        return 0;
-    }
-
-    public IoService getService()
-    {
-        return null;
-    }
-
-    public SocketAddress getServiceAddress()
-    {
-        return null;
-    }
-
-    public IoServiceConfig getServiceConfig()
-    {
-        return null;
-    }
-
-    public TransportType getTransportType()
-    {
-        return null;
-    }
-
-    @Override
-    public Object getAttribute(String s) {
-        return super.getAttribute(s);
-    }
-
-    @Override
-    public Object setAttribute(String s, Object o) {
-        return super.setAttribute(s, o);
-    }
-
-    @Override
-    public Object setAttribute(String s) {
-        return super.setAttribute(s);
-    }
-
-    @Override
-    public Object removeAttribute(String s) {
-        return super.removeAttribute(s);
-    }
-
-    @Override
-    public boolean containsAttribute(String s) {
-        return super.containsAttribute(s);
-    }
-
-    @Override
-    public Set<String> getAttributeKeys() {
-        return super.getAttributeKeys();
-    }
 }

Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/XMLStreamTokenizerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/XMLStreamTokenizerTestCase.java?rev=920821&r1=920820&r2=920821&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/XMLStreamTokenizerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/mina/codec/XMLStreamTokenizerTestCase.java Tue Mar  9 12:09:50 2010
@@ -26,7 +26,9 @@ import java.util.List;
 
 import junit.framework.TestCase;
 
-import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.core.buffer.IoBuffer;
+import org.apache.mina.core.filterchain.IoFilter.NextFilter;
+import org.apache.mina.core.session.IoSession;
 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
 import org.apache.vysper.charset.CharsetUtil;
 import org.apache.vysper.xml.decoder.XMLStreamTokenizer;
@@ -43,8 +45,8 @@ public class XMLStreamTokenizerTestCase 
     public void testDecoderSimple() throws Exception {
         XMLStreamTokenizer decoder = new XMLStreamTokenizer();
         MockIoSession session = new MockIoSession();
-        ByteBuffer firstByteBuffer = createByteBuffer();
-        ByteBuffer secondByteBuffer = createByteBuffer();
+        IoBuffer firstByteBuffer = createByteBuffer();
+        IoBuffer secondByteBuffer = createByteBuffer();
         
         String stanza = StanzaWriter.XML_PROLOG + "\n\r" + 
                 "<stream:stream to='example.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>" +
@@ -61,11 +63,11 @@ public class XMLStreamTokenizerTestCase 
         decoder.decode(session, secondByteBuffer, protocolDecoderOutput);
         assertEquals(5, protocolDecoderOutput.size());
 
-        ByteBuffer emptyBuffer = createByteBuffer().putString("eee", CHARSET_ENCODER_UTF8).flip();
+        IoBuffer emptyBuffer = createByteBuffer().putString("eee", CHARSET_ENCODER_UTF8).flip();
         decoder.decode(session, emptyBuffer, protocolDecoderOutput);
         assertEquals("plain must be terminated by <", 5, protocolDecoderOutput.size());
         
-        ByteBuffer termBuffer = createByteBuffer().putString("<r>", CHARSET_ENCODER_UTF8).flip();
+        IoBuffer termBuffer = createByteBuffer().putString("<r>", CHARSET_ENCODER_UTF8).flip();
         decoder.decode(session, termBuffer, protocolDecoderOutput);
         // eee is now terminated, but r is not balanced yet
         assertEquals("plain termination", 6, protocolDecoderOutput.size());
@@ -75,15 +77,15 @@ public class XMLStreamTokenizerTestCase 
     public void testDecoderPartial() throws Exception {
         XMLStreamTokenizer decoder = new XMLStreamTokenizer();
         MockIoSession session = new MockIoSession();
-        ByteBuffer firstByteBuffer = createByteBuffer();
-        ByteBuffer secondByteBuffer = createByteBuffer();
+        IoBuffer firstByteBuffer = createByteBuffer();
+        IoBuffer secondByteBuffer = createByteBuffer();
         
         String stanzaPart1 = "<stream:stream to='example.com' xmlns='jabber:client' xmlns:stream='ht";
         String stanzaPart2 = "tp://etherx.jabber.org/streams' version='1.0'>";
 
         MockProtocolDecoderOutput protocolDecoderOutput = new MockProtocolDecoderOutput();
 
-        ByteBuffer prolog = createByteBuffer();
+        IoBuffer prolog = createByteBuffer();
         prolog.putString(StanzaWriter.XML_PROLOG + "\n\r", CHARSET_ENCODER_UTF8).flip();
         decoder.decode(session, prolog, protocolDecoderOutput);
         assertEquals(1, protocolDecoderOutput.size());
@@ -103,7 +105,7 @@ public class XMLStreamTokenizerTestCase 
     public void testCRLFInElement() throws Exception {
         XMLStreamTokenizer decoder = new XMLStreamTokenizer();
         MockIoSession session = new MockIoSession();
-        ByteBuffer byteBuffer = createByteBuffer();
+        IoBuffer byteBuffer = createByteBuffer();
         
         String stanza = 
         "<stream:stream\n" +
@@ -130,17 +132,14 @@ public class XMLStreamTokenizerTestCase 
         assertEquals("stream", stanzaNSPrefix);
     }
 
-    private ByteBuffer createByteBuffer() {
-        return ByteBuffer.allocate(0, false).setAutoExpand(true).clear();
+    private IoBuffer createByteBuffer() {
+        return IoBuffer.allocate(0, false).setAutoExpand(true).clear();
     }
 
     protected class MockProtocolDecoderOutput implements ProtocolDecoderOutput
     {
         private List<XMLFragment> result = new ArrayList<XMLFragment>();
 
-        public void flush()
-        {
-        }
 
         public void write( Object message )
         {
@@ -158,6 +157,9 @@ public class XMLStreamTokenizerTestCase 
         public int size() {
             return result.size();
         }
+
+        public void flush(NextFilter nextFilter, IoSession session) {
+        }
     }    
 }