Author: trustin
Date: Wed Jan 17 23:24:34 2007
New Revision: 497328

URL: http://svn.apache.org/viewvc?view=rev&rev=497328
Log:
Resolved issue: DIRMINA-16 (org.apache.mina.common.TransportType)
* Changed TransportType into an interface
* Added TransportType.getAddressType()
* Added TransportType.getSessionConfigType()
* Removed transport type registry feature because it's not used anywhere
** Removed the related unit test

Added:
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
   (with props)
Removed:
    mina/trunk/core/src/test/java/org/apache/mina/common/TransportTypeTest.java
Modified:
    mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
    mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
    
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
    
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
    
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoService.java Wed Jan 
17 23:24:34 2007
@@ -32,6 +32,11 @@
 public interface IoService
 {
     /**
+     * Returns the [EMAIL PROTECTED] TransportType} that this service runs on.
+     */
+    TransportType getTransportType();
+    
+    /**
      * Adds an [EMAIL PROTECTED] IoServiceListener} that listens any events 
related with
      * this service.
      */

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/TransportType.java Wed 
Jan 17 23:24:34 2007
@@ -19,204 +19,73 @@
  */
 package org.apache.mina.common;
 
-import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+
+import org.apache.mina.common.support.DefaultTransportType;
+import org.apache.mina.transport.socket.nio.DatagramSessionConfig;
+import org.apache.mina.transport.socket.nio.SocketSessionConfig;
+import org.apache.mina.transport.vmpipe.VmPipeAddress;
+import org.apache.mina.transport.vmpipe.VmPipeSessionConfig;
 
 /**
- * Represents network transport types.
- * MINA provides three transport types by default:
- * <ul>
- *   <li>[EMAIL PROTECTED] #SOCKET} - TCP/IP</li>
- *   <li>[EMAIL PROTECTED] #DATAGRAM} - UDP/IP</li>
- *   <li>[EMAIL PROTECTED] #VM_PIPE} - in-VM pipe support (only available in 
protocol
- *       layer</li>
- * </ul>
- * <p>
- * You can also create your own transport type.  Please refer to
- * [EMAIL PROTECTED] #TransportType(String[], boolean)}.
+ * Represents a network transport type and its related metadata.
  * 
  * @author The Apache MINA Project ([email protected])
  * @version $Rev$, $Date$
  */
-public final class TransportType implements Serializable
-{
-    private static final long serialVersionUID = 3258132470497883447L;
-    
-    private static final Map<String, TransportType> name2type = new 
HashMap<String, TransportType>();
-    
-    private static void register( String[] names, TransportType type )
-    {
-        synchronized( name2type )
-        {
-            for( int i = names.length - 1; i >= 0; i -- )
-            {
-                if( name2type.containsKey( names[i] ) )
-                {
-                    throw new IllegalArgumentException(
-                            "Transport type name '" + names[i] + "' is already 
taken." );
-                }
-            }
-
-            for( int i = names.length - 1; i >= 0; i -- )
-            {
-                name2type.put( names[i].toUpperCase(), type );
-            }
-        }
-    }
-
+public interface TransportType {
+    
     /**
-     * Transport type: TCP/IP (Registry name: <tt>"SOCKET"</tt> or 
<tt>"TCP"</tt>)
+     * A pre-defined transport type for TCP/IP socket transport.
      */
-    public static final TransportType SOCKET =
-        new TransportType( new String[] { "SOCKET", "TCP" }, false );
-
+    static TransportType SOCKET =
+        new DefaultTransportType(
+                "socket", false,
+                InetSocketAddress.class, ByteBuffer.class,
+                SocketSessionConfig.class);
+    
     /**
-     * Transport type: UDP/IP (Registry name: <tt>"DATAGRAM"</tt> or 
<tt>"UDP"</tt>)
+     * A pre-defined transport type for UDP/IP datagram transport.
      */
-    public static final TransportType DATAGRAM =
-        new TransportType( new String[] { "DATAGRAM", "UDP" }, true );
-
+    static TransportType DATAGRAM =
+        new DefaultTransportType(
+                "datagram", true,
+                InetSocketAddress.class, ByteBuffer.class,
+                DatagramSessionConfig.class);
+    
     /**
-     * Transport type: in-VM pipe (Registry name: <tt>"VM_PIPE"</tt>) 
-     * Please refer to
-     * <a 
href="../protocol/vmpipe/package-summary.htm"><tt>org.apache.mina.protocol.vmpipe</tt></a>
-     * package.
+     * A pre-defined transport type for in-VM pipe transport.
      */
-    public static final TransportType VM_PIPE =
-        new TransportType( new String[] { "VM_PIPE" }, Object.class, false );
+    static TransportType VM_PIPE =
+        new DefaultTransportType(
+                "vmpipe", false,
+                VmPipeAddress.class, Object.class,
+                VmPipeSessionConfig.class);
     
-
     /**
-     * Returns the transport type of the specified name.
-     * All names are case-insensitive.
-     * 
-     * @param name the name of the transport type
-     * @return the transport type
-     * @throws IllegalArgumentException if the specified name is not available.
-     */
-    public static TransportType getInstance( String name )
-    {
-        TransportType type = name2type.get( name.toUpperCase() );
-        if( type != null )
-        {
-            return type;
-        }
-        
-        throw new IllegalArgumentException("Unknown transport type name: " + 
name);
-    }
-
-    private final String[] names;
-
-    private final transient boolean connectionless;
+     * Returns the name of this transport type.
+     */
+    String getName();
     
-    private final transient Class<? extends Object> envelopeType;
-
-    /**
-     * Creates a new instance.  New transport type is automatically registered
-     * to internal registry so that you can look it up using [EMAIL PROTECTED] 
#getInstance(String)}.
-     * 
-     * @param names the name or aliases of this transport type
-     * @param connectionless <tt>true</tt> if and only if this transport type 
is connectionless
-     * 
-     * @throws IllegalArgumentException if <tt>names</tt> are already 
registered or empty
-     */
-    public TransportType( String[] names, boolean connectionless )
-    {
-        this( names, ByteBuffer.class, connectionless );
-    }
-
-    /**
-     * Creates a new instance.  New transport type is automatically registered
-     * to internal registry so that you can look it up using [EMAIL PROTECTED] 
#getInstance(String)}.
-     * 
-     * @param names the name or aliases of this transport type
-     * @param connectionless <tt>true</tt> if and only if this transport type 
is connectionless
-     * 
-     * @throws IllegalArgumentException if <tt>names</tt> are already 
registered or empty
-     */
-    public TransportType( String[] names, Class<? extends Object> 
envelopeType, boolean connectionless )
-    {
-        if( names == null )
-        {
-            throw new NullPointerException( "names" );
-        }
-        if( names.length == 0 )
-        {
-            throw new IllegalArgumentException( "names is empty" );
-        }
-        if( envelopeType == null )
-        {
-            throw new NullPointerException( "envelopeType" );
-        }
-
-        for( int i = 0; i < names.length; i ++ )
-        {
-            if( names[ i ] == null )
-            {
-                throw new NullPointerException( "strVals[" + i + "]" );
-            }
-            
-            names[ i ] = names[ i ].toUpperCase();
-        }
-
-        register( names, this );
-        this.names = names;
-        this.connectionless = connectionless;
-        this.envelopeType = envelopeType;
-    }
-
     /**
      * Returns <code>true</code> if the session of this transport type is
      * connectionless.
      */
-    public boolean isConnectionless()
-    {
-        return connectionless;
-    }
-    
-    public Class<? extends Object> getEnvelopeType()
-    {
-        return envelopeType;
-    }
-    
-    /**
-     * Returns the known names of this transport type.
-     */
-    public Set<String> getNames()
-    {
-        Set<String> result = new TreeSet<String>();
-        for( int i = names.length - 1; i >= 0; i -- )
-        {
-            result.add( names[ i ] );
-        }
-        
-        return result;
-    }
+    boolean isConnectionless();
 
-    public String toString()
-    {
-        return names[0];
-    }
-    
-    private Object readResolve() throws ObjectStreamException
-    {
-        for( int i = names.length - 1; i >= 0; i -- )
-        {
-            try
-            {
-                return getInstance( names[ i ] );
-            }
-            catch( IllegalArgumentException e )
-            {
-                // ignore
-            }
-        }
-        
-        throw new InvalidObjectException( "Unknown transport type." );
-    }
+    /**
+     * Returns the address type of this transport type.
+     */
+    Class<? extends SocketAddress> getAddressType();
+    
+    /**
+     * Returns the type of the envelope message of this transport type.
+     */
+    Class<? extends Object> getEnvelopeType();
+    
+    /**
+     * Returns the type of the [EMAIL PROTECTED] IoSessionConfig} of this 
transport type.
+     */
+    Class<? extends IoSessionConfig> getSessionConfigType();
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoAcceptor.java
 Wed Jan 17 23:24:34 2007
@@ -56,11 +56,13 @@
     
     public void setLocalAddress( SocketAddress localAddress )
     {
-        if( localAddress != null && !getAddressType().isAssignableFrom( 
localAddress.getClass() ) )
+        if( localAddress != null &&
+            !getTransportType().getAddressType().isAssignableFrom(
+                    localAddress.getClass() ) )
         {
             throw new IllegalArgumentException(
                     "localAddress type: " + localAddress.getClass() + 
-                    " (expected: " + getAddressType() + ")");
+                    " (expected: " + getTransportType().getAddressType() + 
")");
         }
         
         synchronized( bindLock )

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoConnector.java
 Wed Jan 17 23:24:34 2007
@@ -69,18 +69,21 @@
         if( remoteAddress == null )
             throw new NullPointerException( "remoteAddress" );
         
-        if( !getAddressType().isAssignableFrom( remoteAddress.getClass() ) )
+        if( !getTransportType().getAddressType().isAssignableFrom(
+                remoteAddress.getClass() ) )
         {
             throw new IllegalArgumentException(
                     "remoteAddress type: " + remoteAddress.getClass() + 
-                    " (expected: " + getAddressType() + ")");
+                    " (expected: " + getTransportType().getAddressType() + 
")");
         }
 
-        if( localAddress != null && !getAddressType().isAssignableFrom( 
localAddress.getClass() ) )
+        if( localAddress != null &&
+            !getTransportType().getAddressType().isAssignableFrom(
+                    localAddress.getClass() ) )
         {
             throw new IllegalArgumentException(
                     "localAddress type: " + localAddress.getClass() + 
-                    " (expected: " + getAddressType() + ")");
+                    " (expected: " + getTransportType().getAddressType() + 
")");
         }
         
         if( getHandler() == null )

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java 
(original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/BaseIoService.java 
Wed Jan 17 23:24:34 2007
@@ -19,7 +19,6 @@
  */
 package org.apache.mina.common.support;
 
-import java.net.SocketAddress;
 import java.util.Set;
 
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
@@ -63,16 +62,6 @@
         setSessionConfig( sessionConfig );
     }
     
-    /**
-     * Returns the type of [EMAIL PROTECTED] SocketAddress} this service uses.
-     */
-    protected abstract Class<? extends SocketAddress> getAddressType();
-    
-    /**
-     * Returns the type of [EMAIL PROTECTED] IoSessionConfig} this service 
uses.
-     */
-    protected abstract Class<? extends IoSessionConfig> getSessionConfigType();
-    
     public IoFilterChainBuilder getFilterChainBuilder()
     {
         return filterChainBuilder;
@@ -146,11 +135,11 @@
         {
             throw new NullPointerException( "sessionConfig" );
         }
-        if( ! getSessionConfigType().isAssignableFrom( 
sessionConfig.getClass() ) )
+        if( ! getTransportType().getSessionConfigType().isAssignableFrom( 
sessionConfig.getClass() ) )
         {
             throw new IllegalArgumentException( "sessionConfig type: " 
                     + sessionConfig.getClass() 
-                    + " (expected: " + getSessionConfigType() + ")" );
+                    + " (expected: " + 
getTransportType().getSessionConfigType() + ")" );
         }
         this.sessionConfig = sessionConfig;
     }    

Added: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java?view=auto&rev=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
 (added)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
 Wed Jan 17 23:24:34 2007
@@ -0,0 +1,100 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.mina.common.support;
+
+import java.net.SocketAddress;
+
+import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
+
+/**
+ * A default immutable implementation of [EMAIL PROTECTED] TransportType}.
+ * 
+ * @author The Apache MINA Project ([email protected])
+ * @version $Rev$, $Date$
+ */
+public class DefaultTransportType implements TransportType {
+
+    private final String name;
+    private final boolean connectionless;
+    private final Class<? extends SocketAddress> addressType;
+    private final Class<? extends Object> envelopeType;
+    private final Class<? extends IoSessionConfig> sessionConfigType;
+    
+    public DefaultTransportType(
+            String name,
+            boolean connectionless,
+            Class<? extends SocketAddress> addressType,
+            Class<? extends Object> envelopeType,
+            Class<? extends IoSessionConfig> sessionConfigType) {
+
+        if (name == null) {
+            throw new NullPointerException("name");
+        }
+        
+        name = name.trim();
+        
+        if (name.length() == 0) {
+            throw new IllegalArgumentException("name is empty.");
+        }
+        
+        if (addressType == null) {
+            throw new NullPointerException("addressType");
+        }
+        
+        if (envelopeType == null) {
+            throw new NullPointerException("envelopeType");
+        }
+        
+        if (sessionConfigType == null) {
+            throw new NullPointerException("sessionConfigType");
+        }
+        
+        this.name = name;
+        this.connectionless = connectionless;
+        this.addressType = addressType;
+        this.envelopeType = envelopeType;
+        this.sessionConfigType = sessionConfigType;
+    }
+    
+    public Class<? extends SocketAddress> getAddressType() {
+        return addressType;
+    }
+
+    public Class<? extends Object> getEnvelopeType() {
+        return envelopeType;
+    }
+    
+    public Class<? extends IoSessionConfig> getSessionConfigType() {
+        return sessionConfigType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public boolean isConnectionless() {
+        return connectionless;
+    }
+    
+    public String toString() {
+        return name;
+    }
+}

Propchange: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultTransportType.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoAcceptor.java
 Wed Jan 17 23:24:34 2007
@@ -30,6 +30,7 @@
 import org.apache.mina.common.IoServiceListener;
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
 
 /**
  * A delegated [EMAIL PROTECTED] IoAcceptor} that wraps the other [EMAIL 
PROTECTED] IoAcceptor}.
@@ -145,5 +146,9 @@
     public boolean isBound()
     {
         return delegate.isBound();
+    }
+
+    public TransportType getTransportType() {
+        return delegate.getTransportType();
     }
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/support/DelegatedIoConnector.java
 Wed Jan 17 23:24:34 2007
@@ -29,6 +29,7 @@
 import org.apache.mina.common.IoHandler;
 import org.apache.mina.common.IoServiceListener;
 import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
 
 /**
  * A delegated [EMAIL PROTECTED] IoConnector} that wraps the other [EMAIL 
PROTECTED] IoConnector}.
@@ -129,5 +130,9 @@
     public void setHandler( IoHandler handler )
     {
         delegate.setHandler( handler );
+    }
+
+    public TransportType getTransportType() {
+        return delegate.getTransportType();
     }
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
 Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
 package org.apache.mina.transport.socket.nio;
 
 import java.io.IOException;
-import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.SocketAddress;
 import java.nio.channels.SelectionKey;
@@ -36,8 +35,8 @@
 import org.apache.mina.common.ExceptionMonitor;
 import org.apache.mina.common.IoAcceptor;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
 import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.support.BaseIoAcceptor;
 import org.apache.mina.common.support.IoServiceListenerSupport;
 import org.apache.mina.util.NamePreservingRunnable;
@@ -156,15 +155,8 @@
         }
     }
 
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return InetSocketAddress.class;
-    }
-
-    @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return SocketSessionConfig.class;
+    public TransportType getTransportType() {
+        return TransportType.SOCKET;
     }
 
     /**

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
 Wed Jan 17 23:24:34 2007
@@ -21,7 +21,6 @@
 
 import java.io.IOException;
 import java.net.ConnectException;
-import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
@@ -35,8 +34,8 @@
 import org.apache.mina.common.ConnectFuture;
 import org.apache.mina.common.ExceptionMonitor;
 import org.apache.mina.common.IoConnector;
-import org.apache.mina.common.IoSessionConfig;
 import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.support.AbstractIoFilterChain;
 import org.apache.mina.common.support.BaseIoConnector;
 import org.apache.mina.common.support.DefaultConnectFuture;
@@ -123,16 +122,9 @@
             ExceptionMonitor.getInstance().exceptionCaught( e );
         }
     }
-
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return InetSocketAddress.class;
-    }
-
-       @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return SocketSessionConfig.class;
+    
+    public TransportType getTransportType() {
+        return TransportType.SOCKET;
     }
 
     /**

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramAcceptorDelegate.java
 Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
 package org.apache.mina.transport.socket.nio.support;
 
 import java.io.IOException;
-import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.nio.channels.DatagramChannel;
 import java.nio.channels.SelectionKey;
@@ -36,9 +35,9 @@
 import org.apache.mina.common.ExpiringSessionRecycler;
 import org.apache.mina.common.IoAcceptor;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
 import org.apache.mina.common.IoSessionRecycler;
 import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.IoFilter.WriteRequest;
 import org.apache.mina.common.support.BaseIoAcceptor;
 import org.apache.mina.common.support.IoServiceListenerSupport;
@@ -102,16 +101,9 @@
             ExceptionMonitor.getInstance().exceptionCaught( e );
         }
     }
-
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return InetSocketAddress.class;
-    }
-
-    @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return DatagramSessionConfig.class;
+    
+    public TransportType getTransportType() {
+        return TransportType.DATAGRAM;
     }
 
     protected void doBind() throws IOException

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
 Wed Jan 17 23:24:34 2007
@@ -20,7 +20,6 @@
 package org.apache.mina.transport.socket.nio.support;
 
 import java.io.IOException;
-import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.nio.channels.DatagramChannel;
 import java.nio.channels.SelectionKey;
@@ -36,8 +35,8 @@
 import org.apache.mina.common.ExceptionMonitor;
 import org.apache.mina.common.IoConnector;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
 import org.apache.mina.common.RuntimeIOException;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.IoFilter.WriteRequest;
 import org.apache.mina.common.support.AbstractIoFilterChain;
 import org.apache.mina.common.support.BaseIoConnector;
@@ -99,15 +98,8 @@
         }
     }
 
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return InetSocketAddress.class;
-    }
-
-    @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return DatagramSessionConfig.class;
+    public TransportType getTransportType() {
+        return TransportType.DATAGRAM;
     }
 
     protected ConnectFuture doConnect( SocketAddress remoteAddress, 
SocketAddress localAddress )

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
 Wed Jan 17 23:24:34 2007
@@ -26,7 +26,7 @@
 
 import org.apache.mina.common.IoHandler;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.support.BaseIoAcceptor;
 import org.apache.mina.transport.vmpipe.support.VmPipe;
 
@@ -49,15 +49,8 @@
         super( new DefaultVmPipeSessionConfig() );
     }
 
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return VmPipeAddress.class;
-    }
-
-    @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return VmPipeSessionConfig.class;
+    public TransportType getTransportType() {
+        return TransportType.VM_PIPE;
     }
 
     protected void doBind() throws IOException

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
 Wed Jan 17 23:24:34 2007
@@ -26,7 +26,7 @@
 import org.apache.mina.common.ExceptionMonitor;
 import org.apache.mina.common.IoFilterChain;
 import org.apache.mina.common.IoHandler;
-import org.apache.mina.common.IoSessionConfig;
+import org.apache.mina.common.TransportType;
 import org.apache.mina.common.support.AbstractIoFilterChain;
 import org.apache.mina.common.support.BaseIoConnector;
 import org.apache.mina.common.support.DefaultConnectFuture;
@@ -53,15 +53,8 @@
         super( new DefaultVmPipeSessionConfig() );
     }
 
-    protected Class<? extends SocketAddress> getAddressType()
-    {
-        return VmPipeAddress.class;
-    }
-
-    @Override
-    protected Class<? extends IoSessionConfig> getSessionConfigType()
-    {
-        return VmPipeSessionConfig.class;
+    public TransportType getTransportType() {
+        return TransportType.VM_PIPE;
     }
 
     protected ConnectFuture doConnect( SocketAddress remoteAddress, 
SocketAddress localAddress )

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramTrafficControlTest.java
 Wed Jan 17 23:24:34 2007
@@ -28,8 +28,8 @@
 import org.apache.mina.transport.AbstractTrafficControlTest;
 
 /**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#DATAGRAM} transport 
type. 
+ * Tests suspending and resuming reads and writes for the datagram
+ * transport type. 
  *
  * @author The Apache MINA Project ([email protected])
  * @version $Id$

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketTrafficControlTest.java
 Wed Jan 17 23:24:34 2007
@@ -28,8 +28,8 @@
 import org.apache.mina.transport.AbstractTrafficControlTest;
 
 /**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#SOCKET} transport 
type. 
+ * Tests suspending and resuming reads and writes for the socket transport
+ * type. 
  *
  * @author The Apache MINA Project ([email protected])
  * @version $Id$

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java?view=diff&rev=497328&r1=497327&r2=497328
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeTrafficControlTest.java
 Wed Jan 17 23:24:34 2007
@@ -27,8 +27,8 @@
 import org.apache.mina.transport.AbstractTrafficControlTest;
 
 /**
- * Tests suspending and resuming reads and writes for the
- * [EMAIL PROTECTED] org.apache.mina.common.TransportType#VM_PIPE} transport 
type. 
+ * Tests suspending and resuming reads and writes for the VM pipe transport
+ * type. 
  *
  * @author The Apache MINA Project ([email protected])
  * @version $Id$


Reply via email to