You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/03/21 04:49:30 UTC
svn commit: r520734 - in /mina:
branches/1.1/core/src/main/java/org/apache/mina/common/
branches/1.1/core/src/main/java/org/apache/mina/common/support/
branches/1.1/core/src/main/java/org/apache/mina/handler/support/
branches/1.1/core/src/test/java/org...
Author: trustin
Date: Tue Mar 20 20:49:29 2007
New Revision: 520734
URL: http://svn.apache.org/viewvc?view=rev&rev=520734
Log:
* Fixed API compatibility issue in IoFuture, 1.1
* Changed DefaultIoFilterChainBuilder.getAll() and getReversedAll() to use Generic types
* Fixed some compilation issues
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFilter.java
mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFuture.java
mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
mina/branches/1.1/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java
mina/branches/1.1/core/src/test/java/org/apache/mina/common/support/FutureTest.java
mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java Tue Mar 20 20:49:29 2007
@@ -56,8 +56,8 @@
*/
public class DefaultIoFilterChainBuilder implements IoFilterChainBuilder, Cloneable
{
- private List entries;
- private Map entriesByName;
+ private List<Entry> entries;
+ private Map<String, Entry> entriesByName;
/**
* Creates a new instance with an empty filter list.
@@ -69,8 +69,8 @@
private void init()
{
- entries = new ArrayList();
- entriesByName = new HashMap();
+ entries = new ArrayList<Entry>();
+ entriesByName = new HashMap<String, Entry>();
}
/**
@@ -78,7 +78,7 @@
*/
public synchronized Entry getEntry( String name )
{
- return ( Entry ) entriesByName.get( name );
+ return entriesByName.get( name );
}
/**
@@ -98,17 +98,17 @@
/**
* @see IoFilterChain#getAll()
*/
- public List getAll()
+ public List<Entry> getAll()
{
- return new ArrayList( entries );
+ return new ArrayList<Entry>( entries );
}
/**
* @see IoFilterChain#getAllReversed()
*/
- public List getAllReversed()
+ public List<Entry> getAllReversed()
{
- List result = getAll();
+ List<Entry> result = getAll();
Collections.reverse( result );
return result;
}
@@ -141,7 +141,7 @@
/**
* @see IoFilterChain#contains(Class)
*/
- public boolean contains( Class filterType )
+ public boolean contains( Class<? extends IoFilter> filterType )
{
for( Iterator i = entries.iterator(); i.hasNext(); )
{
@@ -196,11 +196,11 @@
{
checkBaseName( baseName );
- List entries = new ArrayList( this.entries );
+ List<Entry> entries = new ArrayList<Entry>( this.entries );
- for( ListIterator i = entries.listIterator(); i.hasNext(); )
+ for( ListIterator<Entry> i = entries.listIterator(); i.hasNext(); )
{
- Entry base = ( Entry ) i.next();
+ Entry base = i.next();
if( base.getName().equals( baseName ) )
{
register( i.nextIndex(), new EntryImpl( name, filter ) );
@@ -219,9 +219,9 @@
throw new NullPointerException( "name" );
}
- for( ListIterator i = entries.listIterator(); i.hasNext(); )
+ for( ListIterator<Entry> i = entries.listIterator(); i.hasNext(); )
{
- Entry e = ( Entry ) i.next();
+ Entry e = i.next();
if( e.getName().equals( name ) )
{
deregister( i.previousIndex(), e );
@@ -299,9 +299,9 @@
ret.init();
- for( Iterator i = entries.iterator(); i.hasNext(); )
+ for( Iterator<Entry> i = entries.iterator(); i.hasNext(); )
{
- Entry e = ( Entry ) i.next();
+ Entry e = i.next();
ret.addLast( e.getName(), e.getFilter() );
}
return ret;
@@ -326,7 +326,7 @@
throw new IllegalArgumentException( "Other filter is using the same name: " + e.getName() );
}
- List newEntries = new ArrayList( entries );
+ List<Entry> newEntries = new ArrayList<Entry>( entries );
newEntries.add( index, e );
this.entries = newEntries;
entriesByName.put( e.getName(), e );
@@ -334,7 +334,7 @@
private void deregister( int index, Entry e )
{
- List newEntries = new ArrayList( entries );
+ List<Entry> newEntries = new ArrayList<Entry>( entries );
newEntries.remove( index );
this.entries = newEntries;
entriesByName.remove( e.getName() );
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFilter.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFilter.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFilter.java Tue Mar 20 20:49:29 2007
@@ -270,11 +270,6 @@
return null;
}
- public Object getLock()
- {
- return this;
- }
-
public void join()
{
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFuture.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFuture.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFuture.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/IoFuture.java Tue Mar 20 20:49:29 2007
@@ -36,14 +36,14 @@
/**
* Wait for the asynchronous operation to end.
*/
- void join() throws InterruptedException;
+ void join();
/**
* Wait for the asynchronous operation to end with the specified timeout.
*
* @return <tt>true</tt> if the operation is finished.
*/
- boolean join( long timeoutInMillis ) throws InterruptedException;
+ boolean join( long timeoutInMillis );
/**
* Returns if the asynchronous operation is finished.
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java Tue Mar 20 20:49:29 2007
@@ -59,14 +59,48 @@
return session;
}
- public void join() throws InterruptedException
+ public void join()
{
- completionLatch.await();
+ for( ;; )
+ {
+ try
+ {
+ completionLatch.await();
+ }
+ catch( InterruptedException e )
+ {
+ }
+ }
}
- public boolean join( long timeoutInMillis ) throws InterruptedException
+ public boolean join( long timeoutInMillis )
{
- return completionLatch.await( timeoutInMillis, TimeUnit.MILLISECONDS );
+ long startTime = ( timeoutInMillis <= 0 ) ? 0 : System
+ .currentTimeMillis();
+ long waitTime = timeoutInMillis;
+
+ for( ;; )
+ {
+ boolean ready = false;
+ try
+ {
+ ready = completionLatch.await( waitTime, TimeUnit.MILLISECONDS );
+ }
+ catch( InterruptedException e )
+ {
+ }
+
+ if( ready )
+ return true;
+ else
+ {
+ waitTime = timeoutInMillis - ( System.currentTimeMillis() - startTime );
+ if( waitTime <= 0 )
+ {
+ return ready;
+ }
+ }
+ }
}
public boolean isReady()
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java Tue Mar 20 20:49:29 2007
@@ -24,7 +24,6 @@
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IoSession;
-import org.apache.mina.common.RuntimeIOException;
import org.apache.mina.common.WriteFuture;
/**
@@ -47,13 +46,7 @@
@Override
public void close()
{
- try
- {
- session.close().join();
- } catch( InterruptedException e )
- {
- throw new RuntimeIOException( e );
- }
+ session.close().join();
}
private void checkClosed() throws IOException
@@ -93,14 +86,7 @@
return;
}
- try
- {
- lastWriteFuture.join();
- } catch( InterruptedException e )
- {
- throw new RuntimeIOException( e );
- }
-
+ lastWriteFuture.join();
if( !lastWriteFuture.isWritten() )
{
throw new IOException( "The bytes could not be written to the session" );
Modified: mina/branches/1.1/core/src/test/java/org/apache/mina/common/support/FutureTest.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/test/java/org/apache/mina/common/support/FutureTest.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/branches/1.1/core/src/test/java/org/apache/mina/common/support/FutureTest.java (original)
+++ mina/branches/1.1/core/src/test/java/org/apache/mina/common/support/FutureTest.java Tue Mar 20 20:49:29 2007
@@ -207,14 +207,7 @@
@Override
public void run()
{
- try
- {
- success = future.join( 10000 );
- } catch( InterruptedException e )
- {
- // propagate
- Thread.currentThread().interrupt();
- }
+ success = future.join( 10000 );
}
}
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java?view=diff&rev=520734&r1=520733&r2=520734
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java Tue Mar 20 20:49:29 2007
@@ -98,7 +98,7 @@
/**
* @see IoFilterChain#getAll()
*/
- public List getAll()
+ public List<Entry> getAll()
{
return new ArrayList<Entry>( entries );
}
@@ -106,9 +106,9 @@
/**
* @see IoFilterChain#getAllReversed()
*/
- public List getAllReversed()
+ public List<Entry> getAllReversed()
{
- List result = getAll();
+ List<Entry> result = getAll();
Collections.reverse( result );
return result;
}