Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 53404 invoked from network); 9 May 2005 11:09:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 May 2005 11:09:16 -0000 Received: (qmail 63282 invoked by uid 500); 9 May 2005 11:11:20 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 63181 invoked by uid 500); 9 May 2005 11:11:19 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 63083 invoked by uid 99); 9 May 2005 11:11:18 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 09 May 2005 04:11:18 -0700 Received: (qmail 52970 invoked by uid 65534); 9 May 2005 11:08:01 -0000 Message-ID: <20050509110801.52969.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r169280 - in /directory/network/branches/api_integration/src: examples/org/apache/mina/examples/tennis/ java/org/apache/mina/common/ java/org/apache/mina/registry/ Date: Mon, 09 May 2005 11:08:00 -0000 To: commits@directory.apache.org From: trustin@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Mon May 9 04:07:58 2005 New Revision: 169280 URL: http://svn.apache.org/viewcvs?rev=3D169280&view=3Drev Log: * Added: TransportType.envelopeType to check the eventual type of filtered = message. * AbstractIoFilterChain checks TransportType.envelopeType Modified: directory/network/branches/api_integration/src/examples/org/apache/mina= /examples/tennis/TennisPlayer.java directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/AbstractIoFilterChain.java directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/IoSessionFilterChain.java directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/TransportType.java directory/network/branches/api_integration/src/java/org/apache/mina/reg= istry/SimpleServiceRegistry.java Modified: directory/network/branches/api_integration/src/examples/org/apach= e/mina/examples/tennis/TennisPlayer.java URL: http://svn.apache.org/viewcvs/directory/network/branches/api_integrati= on/src/examples/org/apache/mina/examples/tennis/TennisPlayer.java?rev=3D169= 280&r1=3D169279&r2=3D169280&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/branches/api_integration/src/examples/org/apache/mina= /examples/tennis/TennisPlayer.java (original) +++ directory/network/branches/api_integration/src/examples/org/apache/mina= /examples/tennis/TennisPlayer.java Mon May 9 04:07:58 2005 @@ -56,4 +56,10 @@ { System.out.println( "Player-" + id + ": SENT " + message ); } + =20 + public void exceptionCaught( IoSession session, Throwable cause ) + { + cause.printStackTrace(); + session.close(); + } } Modified: directory/network/branches/api_integration/src/java/org/apache/mi= na/common/AbstractIoFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/branches/api_integrati= on/src/java/org/apache/mina/common/AbstractIoFilterChain.java?rev=3D169280&= r1=3D169279&r2=3D169280&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/AbstractIoFilterChain.java (original) +++ directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/AbstractIoFilterChain.java Mon May 9 04:07:58 2005 @@ -108,13 +108,21 @@ public void filterWrite( NextFilter nextFilter, IoSession sess= ion, Object message ) { - if( message instanceof ByteBuffer ) + if( message =3D=3D null ) + { + throw new NullPointerException( "Filtered message is n= ull" ); + } + + if( session.getTransportType().getEnvelopeType().isAssigna= bleFrom( message.getClass() ) ) { doWrite( session, message ); } else { - throw new IllegalStateException( "Write requests must = be transformed to ByteBuffers: " + message ); + throw new IllegalStateException( + "Write requests must be transformed to " +=20 + session.getTransportType().getEnvelopeType() + + ": " + message ); } } }; Modified: directory/network/branches/api_integration/src/java/org/apache/mi= na/common/IoSessionFilterChain.java URL: http://svn.apache.org/viewcvs/directory/network/branches/api_integrati= on/src/java/org/apache/mina/common/IoSessionFilterChain.java?rev=3D169280&r= 1=3D169279&r2=3D169280&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/IoSessionFilterChain.java (original) +++ directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/IoSessionFilterChain.java Mon May 9 04:07:58 2005 @@ -36,7 +36,7 @@ { this.managerChain =3D managerChain; } - + =20 protected void doWrite( IoSession session, Object message ) { managerChain.filterWrite( session, message ); Modified: directory/network/branches/api_integration/src/java/org/apache/mi= na/common/TransportType.java URL: http://svn.apache.org/viewcvs/directory/network/branches/api_integrati= on/src/java/org/apache/mina/common/TransportType.java?rev=3D169280&r1=3D169= 279&r2=3D169280&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/TransportType.java (original) +++ directory/network/branches/api_integration/src/java/org/apache/mina/com= mon/TransportType.java Mon May 9 04:07:58 2005 @@ -87,7 +87,7 @@ * package. */ public static final TransportType VM_PIPE =3D - new TransportType( new String[] { "VM_PIPE" }, false ); + new TransportType( new String[] { "VM_PIPE" }, Object.class, false= ); =20 =20 /** @@ -112,6 +112,8 @@ private final String[] names; =20 private final transient boolean stateless; + =20 + private final transient Class envelopeType; =20 /** * Creates a new instance. New transport type is automatically regist= ered @@ -124,6 +126,20 @@ */ public TransportType( String[] names, boolean stateless ) { + this( names, ByteBuffer.class, stateless ); + } + + /** + * Creates a new instance. New transport type is automatically regist= ered + * to internal registry so that you can look it up using {@link #getIn= stance(String)}. + *=20 + * @param names the name or aliases of this transport type + * @param stateless true if and only if this transport type i= s stateless + *=20 + * @throws IllegalArgumentException if names are already regi= stered or empty + */ + public TransportType( String[] names, Class envelopeType, boolean stat= eless ) + { if( names =3D=3D null ) { throw new NullPointerException( "names" ); @@ -132,6 +148,10 @@ { throw new IllegalArgumentException( "names is empty" ); } + if( envelopeType =3D=3D null ) + { + throw new NullPointerException( "envelopeType" ); + } =20 for( int i =3D 0; i < names.length; i ++ ) { @@ -146,6 +166,7 @@ register( names, this ); this.names =3D names; this.stateless =3D stateless; + this.envelopeType =3D envelopeType; } =20 /** @@ -155,6 +176,11 @@ public boolean isStateless() { return stateless; + } + =20 + public Class getEnvelopeType() + { + return envelopeType; } =20 /** Modified: directory/network/branches/api_integration/src/java/org/apache/mi= na/registry/SimpleServiceRegistry.java URL: http://svn.apache.org/viewcvs/directory/network/branches/api_integrati= on/src/java/org/apache/mina/registry/SimpleServiceRegistry.java?rev=3D16928= 0&r1=3D169279&r2=3D169280&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/branches/api_integration/src/java/org/apache/mina/reg= istry/SimpleServiceRegistry.java (original) +++ directory/network/branches/api_integration/src/java/org/apache/mina/reg= istry/SimpleServiceRegistry.java Mon May 9 04:07:58 2005 @@ -169,8 +169,7 @@ else if( transportType =3D=3D TransportType.DATAGRAM ) return datagramIoAcceptor; else - throw new IllegalArgumentException( - "Unsupported transport type: " + transportType ); + return vmPipeAcceptor; =20 } =20