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=525038&r1=525037&r2=525038
==============================================================================
--- 
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
 Mon Apr  2 22:25:09 2007
@@ -231,7 +231,7 @@
             // The normal is OP_READ and, if there are write requests in the
             // session's write queue, set OP_WRITE to trigger flushing.
             int ops = SelectionKey.OP_READ;
-            Queue writeRequestQueue = session.getWriteRequestQueue();
+            Queue<WriteRequest> writeRequestQueue = 
session.getWriteRequestQueue();
             synchronized( writeRequestQueue )
             {
                 if( !writeRequestQueue.isEmpty() )
@@ -299,12 +299,12 @@
         }
     }
 
-    private void processReadySessions( Set keys )
+    private void processReadySessions( Set<SelectionKey> keys )
     {
-        Iterator it = keys.iterator();
+        Iterator<SelectionKey> it = keys.iterator();
         while( it.hasNext() )
         {
-            SelectionKey key = ( SelectionKey ) it.next();
+            SelectionKey key = it.next();
             it.remove();
 
             DatagramSessionImpl session = ( DatagramSessionImpl ) 
key.attachment();
@@ -368,14 +368,14 @@
     {
         DatagramChannel ch = session.getChannel();
 
-        Queue writeRequestQueue = session.getWriteRequestQueue();
+        Queue<WriteRequest> writeRequestQueue = session.getWriteRequestQueue();
 
         WriteRequest req;
         for( ;; )
         {
             synchronized( writeRequestQueue )
             {
-                req = ( WriteRequest ) writeRequestQueue.peek();
+                req = writeRequestQueue.peek();
             }
 
             if( req == null )

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/util/AvailablePortFinder.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/util/AvailablePortFinder.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/util/AvailablePortFinder.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/util/AvailablePortFinder.java 
Mon Apr  2 22:25:09 2007
@@ -60,7 +60,7 @@
      *
      * WARNING: this can take a very long time.
      */
-    public static Set getAvailablePorts()
+    public static Set<Integer> getAvailablePorts()
     {
         return getAvailablePorts(MIN_PORT_NUMBER, MAX_PORT_NUMBER);
     }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/util/ExpirationListener.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/util/ExpirationListener.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/util/ExpirationListener.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/util/ExpirationListener.java 
Mon Apr  2 22:25:09 2007
@@ -22,10 +22,10 @@
 /**
  * A listener for expired object events.
  * 
- * @author The Apache MINA Project ([email protected])
+ * @author The Apache Directory Project ([email protected])
  * TODO Make this a inner interface of ExpiringMap
  */
-public interface ExpirationListener
+public interface ExpirationListener<E>
 {
-    void expired(Object expiredObject);
+    void expired(E expiredObject);
 }

Modified: mina/trunk/core/src/main/java/org/apache/mina/util/ExpiringMap.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/util/ExpiringMap.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/util/ExpiringMap.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/util/ExpiringMap.java Mon Apr 
 2 22:25:09 2007
@@ -6,21 +6,20 @@
  *  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. 
- *  
+ *  under the License.
+ *
  */
 package org.apache.mina.util;
 
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -30,10 +29,10 @@
 
 /**
  * A map with expiration.
- * 
- * @author The Apache MINA Project ([email protected])
+ *
+ * @author The Apache Directory Project ([email protected])
  */
-public class ExpiringMap implements Map
+public class ExpiringMap<K, V> implements Map<K, V>
 {
     public static final int DEFAULT_TIME_TO_LIVE = 60;
 
@@ -41,7 +40,7 @@
 
     private static volatile int expirerCount = 1;
 
-    private final ConcurrentHashMap<Object, ExpiringObject> delegate;
+    private final ConcurrentHashMap<K, ExpiringObject> delegate;
 
     private final CopyOnWriteArrayList<ExpirationListener> expirationListeners;
 
@@ -59,11 +58,11 @@
 
     public ExpiringMap( int timeToLive, int expirationInterval )
     {
-        this( new ConcurrentHashMap<Object, ExpiringObject>(), new 
CopyOnWriteArrayList<ExpirationListener>(), timeToLive, expirationInterval );
+        this( new ConcurrentHashMap<K, ExpiringObject>(), new 
CopyOnWriteArrayList<ExpirationListener>(), timeToLive, expirationInterval );
     }
 
     private ExpiringMap(
-            ConcurrentHashMap<Object, ExpiringObject> delegate, 
CopyOnWriteArrayList<ExpirationListener> expirationListeners,
+            ConcurrentHashMap<K, ExpiringObject> delegate, 
CopyOnWriteArrayList<ExpirationListener> expirationListeners,
             int timeToLive, int expirationInterval )
     {
         this.delegate = delegate;
@@ -74,29 +73,41 @@
         expirer.setExpirationInterval( expirationInterval );
     }
 
-    public Object put( Object key, Object value )
+    public V put( K key, V value )
     {
-        return delegate.put( key, new ExpiringObject( key, value, 
System.currentTimeMillis() ) );
+        ExpiringObject answer = delegate.put(
+                key, new ExpiringObject( key, value, 
System.currentTimeMillis() ) );
+        if( answer == null )
+        {
+            return null;
+        }
+        
+        return answer.getValue();
     }
 
-    public Object get( Object key )
+    public V get( Object key )
     {
-        Object object = delegate.get( key );
+        ExpiringObject object = delegate.get( key );
 
         if( object != null )
         {
-            ExpiringObject expObject = ( ExpiringObject ) object;
-            expObject.setLastAccessTime( System.currentTimeMillis() );
+            object.setLastAccessTime( System.currentTimeMillis() );
 
-            return expObject.getValue();
+            return object.getValue();
         }
 
-        return object;
+        return null;
     }
 
-    public Object remove( Object key )
+    public V remove( Object key )
     {
-        return delegate.remove( key );
+        ExpiringObject answer = delegate.remove( key );
+        if( answer == null )
+        {
+            return null;
+        }
+        
+        return answer.getValue();
     }
 
     public boolean containsKey( Object key )
@@ -124,60 +135,51 @@
         delegate.clear();
     }
 
-    public int hashCode()
+    @Override
+        public int hashCode()
     {
         return delegate.hashCode();
     }
 
-    public Set keySet()
+    public Set<K> keySet()
     {
         return delegate.keySet();
     }
 
+    @Override
     public boolean equals( Object obj )
     {
         return delegate.equals( obj );
     }
 
-    public void putAll( Map inMap )
+    public void putAll( Map<? extends K, ? extends V> inMap )
     {
-        synchronized( inMap )
+        for( Entry<? extends K, ? extends V> e: inMap.entrySet() )
         {
-            Iterator inMapKeysIt = inMap.keySet().iterator();
-
-            while( inMapKeysIt.hasNext() )
-            {
-                Object key = inMapKeysIt.next();
-                Object value = inMap.get( key );
-
-                if( value instanceof ExpiringObject )
-                {
-                    delegate.put( key, ( ExpiringObject ) value );
-                }
-            }
+            this.put( e.getKey(), e.getValue() );
         }
     }
 
-    public Collection values()
+    public Collection<V> values()
     {
-        return delegate.values();
+        throw new UnsupportedOperationException();
     }
 
-    public Set entrySet()
+    public Set<Map.Entry<K, V>> entrySet()
     {
-        return delegate.entrySet();
+        throw new UnsupportedOperationException();
     }
 
-    public void addExpirationListener( ExpirationListener listener )
+    public void addExpirationListener( ExpirationListener<? extends V> 
listener )
     {
         expirationListeners.add( listener );
     }
 
-    public void removeExpirationListener( ExpirationListener listener )
+    public void removeExpirationListener( ExpirationListener<? extends V> 
listener )
     {
         expirationListeners.remove( listener );
     }
-    
+
     public Expirer getExpirer()
     {
         return expirer;
@@ -205,15 +207,15 @@
 
     private class ExpiringObject
     {
-        private Object key;
+        private K key;
 
-        private Object value;
+        private V value;
 
         private long lastAccessTime;
 
         private ReadWriteLock lastAccessTimeLock = new 
ReentrantReadWriteLock();
 
-        public ExpiringObject( Object key, Object value, long lastAccessTime )
+        ExpiringObject( K key, V value, long lastAccessTime )
         {
             if( value == null )
             {
@@ -253,21 +255,23 @@
             }
         }
 
-        public Object getKey()
+        public K getKey()
         {
             return key;
         }
 
-        public Object getValue()
+        public V getValue()
         {
             return value;
         }
 
+        @Override
         public boolean equals( Object obj )
         {
             return value.equals( obj );
         }
 
+        @Override
         public int hashCode()
         {
             return value.hashCode();
@@ -312,28 +316,18 @@
         {
             long timeNow = System.currentTimeMillis();
 
-            Iterator expiringObjectsIterator = delegate.values().iterator();
-
-            while( expiringObjectsIterator.hasNext() )
-            {
-                ExpiringObject expObject = ( ExpiringObject ) 
expiringObjectsIterator.next();
+            for (ExpiringObject o : delegate.values()) {
 
-                if( timeToLiveMillis <= 0 )
+                if (timeToLiveMillis <= 0)
                     continue;
 
-                long timeIdle = timeNow - expObject.getLastAccessTime();
-
-                if( timeIdle >= timeToLiveMillis )
-                {
-                    delegate.remove( expObject.getKey() );
-
-                    Iterator listenerIterator = expirationListeners.iterator();
+                long timeIdle = timeNow - o.getLastAccessTime();
 
-                    while( listenerIterator.hasNext() )
-                    {
-                        ExpirationListener listener = ( ExpirationListener ) 
listenerIterator.next();
+                if (timeIdle >= timeToLiveMillis) {
+                    delegate.remove(o.getKey());
 
-                        listener.expired( expObject.getValue() );
+                    for (ExpirationListener<V> listener : expirationListeners) 
{
+                        listener.expired(o.getValue());
                     }
                 }
             }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java 
(original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java 
Mon Apr  2 22:25:09 2007
@@ -256,7 +256,7 @@
     {
         StreamWriteFilter filter = new StreamWriteFilter();
         
-        Queue queue = new LinkedList();
+        Queue<WriteRequest> queue = new LinkedList<WriteRequest>();
         InputStream stream = new ByteArrayInputStream( new byte[ 5 ] );
         
         /*

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java
 Mon Apr  2 22:25:09 2007
@@ -148,7 +148,7 @@
             values.add( message );
         }
         
-        public List getValues()
+        public List<Object> getValues()
         {
             return values;
         }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/serialization/ObjectSerializationTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/codec/serialization/ObjectSerializationTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/serialization/ObjectSerializationTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/serialization/ObjectSerializationTest.java
 Mon Apr  2 22:25:09 2007
@@ -66,7 +66,7 @@
         encoder.encode( session, expected, out );
         
         Assert.assertEquals( 1, out.getBufferQueue().size() );
-        ByteBuffer buf = ( ByteBuffer ) out.getBufferQueue().poll();
+        ByteBuffer buf = out.getBufferQueue().poll();
         
         testDecoderAndInputStream( expected, buf );
     }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
 Mon Apr  2 22:25:09 2007
@@ -330,7 +330,7 @@
             messageQueue.offer( message );
         }
         
-        public Queue getMessageQueue()
+        public Queue<Object> getMessageQueue()
         {
             return messageQueue;
         }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineEncoderTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineEncoderTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineEncoderTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineEncoderTest.java
 Mon Apr  2 22:25:09 2007
@@ -65,7 +65,7 @@
         
         encoder.encode( session, "ABC", out );
         Assert.assertEquals( 1, out.getBufferQueue().size() );
-        ByteBuffer buf = ( ByteBuffer ) out.getBufferQueue().poll();
+        ByteBuffer buf = out.getBufferQueue().poll();
         Assert.assertEquals( 5, buf.remaining() );
         Assert.assertEquals( 'A', buf.get() );
         Assert.assertEquals( 'B', buf.get() );

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/handler/demux/DemuxingIoHandlerTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/handler/demux/DemuxingIoHandlerTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/handler/demux/DemuxingIoHandlerTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/handler/demux/DemuxingIoHandlerTest.java
 Mon Apr  2 22:25:09 2007
@@ -76,6 +76,7 @@
         session = ( IoSession ) MockControl.createControl( IoSession.class 
).getMock();    
     }
 
+    @SuppressWarnings("unchecked")
     public void testFindHandlerByClass() throws Exception
     {
         /*
@@ -134,6 +135,7 @@
         mockHandler3.verify();        
     }
     
+    @SuppressWarnings("unchecked")
     public void testFindHandlerByInterface() throws Exception
     {
         /*

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java
 Mon Apr  2 22:25:09 2007
@@ -74,7 +74,7 @@
         // Wait for the server side sessions to be created.
         Thread.sleep( 500 );
         
-        Collection managedSessions = acceptor.getManagedSessions();
+        Collection<IoSession> managedSessions = acceptor.getManagedSessions();
         Assert.assertEquals( 5, managedSessions.size() );
         
         acceptor.unbind();

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java?view=diff&rev=525038&r1=525037&r2=525038
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java
 Mon Apr  2 22:25:09 2007
@@ -75,7 +75,7 @@
         // Wait for the server side sessions to be created.
         Thread.sleep( 500 );
         
-        Collection managedSessions = acceptor.getManagedSessions();
+        Collection<IoSession> managedSessions = acceptor.getManagedSessions();
         Assert.assertEquals( 5, managedSessions.size() );
         // Make sure it's the server side sessions we get when calling 
getManagedSessions()
         for( int i = 0; i < sessions.length; i++ )


Reply via email to