Author: jvermillard
Date: Sun Jul 10 19:40:42 2011
New Revision: 1144944

URL: http://svn.apache.org/viewvc?rev=1144944&view=rev
Log:
fixed some possible bugs using findbugs

Modified:
    
mina/branches/3.0/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
    
mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
    
mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java
    
mina/branches/3.0/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java

Modified: 
mina/branches/3.0/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
URL: 
http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/session/AbstractIoSession.java?rev=1144944&r1=1144943&r2=1144944&view=diff
==============================================================================
--- 
mina/branches/3.0/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
 (original)
+++ 
mina/branches/3.0/core/src/main/java/org/apache/mina/session/AbstractIoSession.java
 Sun Jul 10 19:40:42 2011
@@ -54,7 +54,7 @@ public abstract class AbstractIoSession 
 
     /** The {@link SelectorProcessor} used for handling this session writing */
     private SelectorProcessor writeProcessor;
-    
+
     /** The number of bytes read since this session has been created */
     private volatile long readBytes;
 
@@ -72,16 +72,17 @@ public abstract class AbstractIoSession 
 
     /** unique identifier generator */
     private static final AtomicLong NEXT_ID = new AtomicLong(0);
-    
-    protected Object stateMonitor = new Object();
+
+    protected final Object stateMonitor = new Object();
+
     protected SessionState state;
 
     /** is this session registered for being polled for write ready events */
     AtomicBoolean registeredForWrite = new AtomicBoolean();
-    
+
     /** the queue of pending writes for the session, to be dequeued by the 
{@link SelectorProcessor} */
     private Queue<WriteRequest> writeQueue = new DefaultWriteQueue();
-    
+
     /**
      * Create an {@link org.apache.mina.api.IoSession} with a unique 
identifier (
      * {@link org.apache.mina.api.IoSession#getId()}) and an associated {@link 
IoService}
@@ -95,16 +96,17 @@ public abstract class AbstractIoSession 
         creationTime = System.currentTimeMillis();
         this.service = service;
         this.writeProcessor = writeProcessor;
-        
+
         LOG.debug("Created new session with id : {}", id);
         synchronized (stateMonitor) {
-            this.state=SessionState.CREATED;
-               }
+            this.state = SessionState.CREATED;
+        }
     }
 
     public SessionState getState() {
         return state;
     }
+
     /**
      * {@inheritDoc}
      */
@@ -208,36 +210,36 @@ public abstract class AbstractIoSession 
     public Set<Object> getAttributeNames() {
         return attributes.keySet();
     }
-    
+
     /**
      * {@inheritDoc}
      */
     @Override
     public void write(Object message) {
-        LOG.debug("writing message {} to session {}",message,this);
-       if (state == SessionState.CLOSED || state == SessionState.CLOSING) {
-               // TODO actually we just just shallow the message if the 
session is closed/closing
-               LOG.error("writing to closed or cloing session");
-               return;
-       }
-       writeQueue.add(new DefaultWriteRequest(message));
-       
-       // If it wasn't, we register this session as interested to write.
-       // It's done in atomic fashion for avoiding two concurrent registering.
-       if (!registeredForWrite.getAndSet(true)) {
-               writeProcessor.flush(this);
-       }
+        LOG.debug("writing message {} to session {}", message, this);
+        if (state == SessionState.CLOSED || state == SessionState.CLOSING) {
+            // TODO actually we just just shallow the message if the session 
is closed/closing
+            LOG.error("writing to closed or cloing session");
+            return;
+        }
+        writeQueue.add(new DefaultWriteRequest(message));
+
+        // If it wasn't, we register this session as interested to write.
+        // It's done in atomic fashion for avoiding two concurrent registering.
+        if (!registeredForWrite.getAndSet(true)) {
+            writeProcessor.flush(this);
+        }
     }
-    
+
     @Override
     public IoFuture<Void> writeWithFuture(Object message) {
-       write(message);
-       // TODO implements IoFuture
-       return null;
+        write(message);
+        // TODO implements IoFuture
+        return null;
     }
-    
+
     @Override
     public Queue<WriteRequest> getWriteQueue() {
-       return writeQueue;
+        return writeQueue;
     }
 }
\ No newline at end of file

Modified: 
mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
URL: 
http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java?rev=1144944&r1=1144943&r2=1144944&view=diff
==============================================================================
--- 
mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
 (original)
+++ 
mina/branches/3.0/core/src/main/java/org/apache/mina/transport/tcp/NioSelectorProcessor.java
 Sun Jul 10 19:40:42 2011
@@ -144,8 +144,10 @@ public class NioSelectorProcessor implem
         ServerSocketChannel channel = serverSocketChannels.get(address);
         channel.socket().close();
         channel.close();
-        serverSocketChannels.remove(channel);
-        LOGGER.debug("removing a server channel " + channel);
+        if (serverSocketChannels.remove(address) == null) {
+            LOGGER.warn("The server channel for address {} was already 
unbound", address);
+        }
+        LOGGER.debug("Removing a server channel {}", channel);
         serversToRemove.add(channel);
         wakeupWorker();
     }
@@ -374,7 +376,7 @@ public class NioSelectorProcessor implem
                         worker = null;
                         break;
                     }
-                }finally {
+                } finally {
                     workerLock.unlock();
                 }
             }

Modified: 
mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java
URL: 
http://svn.apache.org/viewvc/mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java?rev=1144944&r1=1144943&r2=1144944&view=diff
==============================================================================
--- 
mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java 
(original)
+++ 
mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java 
Sun Jul 10 19:40:42 2011
@@ -19,9 +19,7 @@
  */
 package filterchain;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 import java.util.List;
 
@@ -95,7 +93,7 @@ public class DefaultIoFilterChainTest {
 
     }
 
-    private class DummyFilter implements IoFilter {
+    private static class DummyFilter implements IoFilter {
 
         String id;
 

Modified: 
mina/branches/3.0/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
URL: 
http://svn.apache.org/viewvc/mina/branches/3.0/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java?rev=1144944&r1=1144943&r2=1144944&view=diff
==============================================================================
--- 
mina/branches/3.0/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
 (original)
+++ 
mina/branches/3.0/core/src/test/java/org/apache/mina/session/AbstractIoSessionTest.java
 Sun Jul 10 19:40:42 2011
@@ -7,14 +7,13 @@ import junit.framework.Assert;
 import org.apache.mina.api.IoFuture;
 import org.apache.mina.api.IoService;
 import org.apache.mina.api.IoSessionConfig;
-
 import org.junit.Test;
 
 public class AbstractIoSessionTest {
 
-    private final class DummySession extends AbstractIoSession {
+    private static final class DummySession extends AbstractIoSession {
         private DummySession(IoService service) {
-            super(service,null);
+            super(service, null);
         }
 
         @Override
@@ -76,8 +75,7 @@ public class AbstractIoSessionTest {
 
     @Test
     public void testGetId() {
-        Assert.assertNotSame((new DummySession(null)).getId(),
-                (new DummySession(null)).getId());
+        Assert.assertNotSame((new DummySession(null)).getId(), (new 
DummySession(null)).getId());
 
     }
 


Reply via email to