You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2014/11/04 15:32:01 UTC

[2/2] git commit: o Added the missing Javadoc o Removed the ExceptionHolder inner class in DefaultReadFuture : it's useless o A few typoes fix

o Added the missing Javadoc
o Removed the ExceptionHolder inner class in DefaultReadFuture : it's
useless
o A few typoes fix

Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/bdad876b
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/bdad876b
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/bdad876b

Branch: refs/heads/2.0
Commit: bdad876b214c8a6f68382e29a2b145e69225c72a
Parents: 4adb1cd
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Tue Nov 4 15:31:38 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Tue Nov 4 15:31:38 2014 +0100

----------------------------------------------------------------------
 .../mina/core/future/DefaultCloseFuture.java    | 20 +++++
 .../mina/core/future/DefaultReadFuture.java     | 81 ++++++++++++++------
 .../mina/core/future/DefaultWriteFuture.java    | 21 ++++-
 .../mina/core/service/AbstractIoService.java    |  6 ++
 4 files changed, 101 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/bdad876b/mina-core/src/main/java/org/apache/mina/core/future/DefaultCloseFuture.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/future/DefaultCloseFuture.java b/mina-core/src/main/java/org/apache/mina/core/future/DefaultCloseFuture.java
index 3121e99..8378694 100644
--- a/mina-core/src/main/java/org/apache/mina/core/future/DefaultCloseFuture.java
+++ b/mina-core/src/main/java/org/apache/mina/core/future/DefaultCloseFuture.java
@@ -29,11 +29,16 @@ import org.apache.mina.core.session.IoSession;
 public class DefaultCloseFuture extends DefaultIoFuture implements CloseFuture {
     /**
      * Creates a new instance.
+     * 
+     * @param session The associated session
      */
     public DefaultCloseFuture(IoSession session) {
         super(session);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isClosed() {
         if (isDone()) {
             return ((Boolean) getValue()).booleanValue();
@@ -42,25 +47,40 @@ public class DefaultCloseFuture extends DefaultIoFuture implements CloseFuture {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setClosed() {
         setValue(Boolean.TRUE);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public CloseFuture await() throws InterruptedException {
         return (CloseFuture) super.await();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public CloseFuture awaitUninterruptibly() {
         return (CloseFuture) super.awaitUninterruptibly();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public CloseFuture addListener(IoFutureListener<?> listener) {
         return (CloseFuture) super.addListener(listener);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public CloseFuture removeListener(IoFutureListener<?> listener) {
         return (CloseFuture) super.removeListener(listener);

http://git-wip-us.apache.org/repos/asf/mina/blob/bdad876b/mina-core/src/main/java/org/apache/mina/core/future/DefaultReadFuture.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/future/DefaultReadFuture.java b/mina-core/src/main/java/org/apache/mina/core/future/DefaultReadFuture.java
index fb1756f..97199c1 100644
--- a/mina-core/src/main/java/org/apache/mina/core/future/DefaultReadFuture.java
+++ b/mina-core/src/main/java/org/apache/mina/core/future/DefaultReadFuture.java
@@ -30,34 +30,39 @@ import org.apache.mina.core.session.IoSession;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public class DefaultReadFuture extends DefaultIoFuture implements ReadFuture {
-
+    /** A static object used when the session is closed */
     private static final Object CLOSED = new Object();
 
     /**
      * Creates a new instance.
+     * 
+     * @param session The associated session
      */
     public DefaultReadFuture(IoSession session) {
         super(session);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public Object getMessage() {
         if (isDone()) {
             Object v = getValue();
+            
             if (v == CLOSED) {
                 return null;
             }
 
-            if (v instanceof ExceptionHolder) {
-                v = ((ExceptionHolder) v).exception;
-                if (v instanceof RuntimeException) {
-                    throw (RuntimeException) v;
-                }
-                if (v instanceof Error) {
-                    throw (Error) v;
-                }
-                if (v instanceof IOException || v instanceof Exception) {
-                    throw new RuntimeIoException((Exception) v);
-                }
+            if (v instanceof RuntimeException) {
+                throw (RuntimeException) v;
+            }
+            
+            if (v instanceof Error) {
+                throw (Error) v;
+            }
+            
+            if (v instanceof IOException || v instanceof Exception) {
+                throw new RuntimeIoException((Exception) v);
             }
 
             return v;
@@ -66,75 +71,103 @@ public class DefaultReadFuture extends DefaultIoFuture implements ReadFuture {
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isRead() {
         if (isDone()) {
             Object v = getValue();
-            return (v != CLOSED && !(v instanceof ExceptionHolder));
+            
+            return (v != CLOSED && !(v instanceof Throwable));
         }
+        
         return false;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isClosed() {
         if (isDone()) {
             return getValue() == CLOSED;
         }
+        
         return false;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public Throwable getException() {
         if (isDone()) {
             Object v = getValue();
-            if (v instanceof ExceptionHolder) {
-                return ((ExceptionHolder) v).exception;
+            
+            if (v instanceof Throwable) {
+                return (Throwable)v;
             }
         }
+        
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setClosed() {
         setValue(CLOSED);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setRead(Object message) {
         if (message == null) {
             throw new IllegalArgumentException("message");
         }
+        
         setValue(message);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setException(Throwable exception) {
         if (exception == null) {
             throw new IllegalArgumentException("exception");
         }
 
-        setValue(new ExceptionHolder(exception));
+        setValue(exception);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public ReadFuture await() throws InterruptedException {
         return (ReadFuture) super.await();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public ReadFuture awaitUninterruptibly() {
         return (ReadFuture) super.awaitUninterruptibly();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public ReadFuture addListener(IoFutureListener<?> listener) {
         return (ReadFuture) super.addListener(listener);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public ReadFuture removeListener(IoFutureListener<?> listener) {
         return (ReadFuture) super.removeListener(listener);
     }
-
-    private static class ExceptionHolder {
-        private final Throwable exception;
-
-        private ExceptionHolder(Throwable exception) {
-            this.exception = exception;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/bdad876b/mina-core/src/main/java/org/apache/mina/core/future/DefaultWriteFuture.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/future/DefaultWriteFuture.java b/mina-core/src/main/java/org/apache/mina/core/future/DefaultWriteFuture.java
index 2e7b2bb..59377e2 100644
--- a/mina-core/src/main/java/org/apache/mina/core/future/DefaultWriteFuture.java
+++ b/mina-core/src/main/java/org/apache/mina/core/future/DefaultWriteFuture.java
@@ -29,24 +29,35 @@ import org.apache.mina.core.session.IoSession;
 public class DefaultWriteFuture extends DefaultIoFuture implements WriteFuture {
     /**
      * Returns a new {@link DefaultWriteFuture} which is already marked as 'written'.
+     * 
+     * @param session The associated session
+     * @return A new future for a written message
      */
     public static WriteFuture newWrittenFuture(IoSession session) {
-        DefaultWriteFuture unwrittenFuture = new DefaultWriteFuture(session);
-        unwrittenFuture.setWritten();
-        return unwrittenFuture;
+        DefaultWriteFuture writtenFuture = new DefaultWriteFuture(session);
+        writtenFuture.setWritten();
+        
+        return writtenFuture;
     }
 
     /**
      * Returns a new {@link DefaultWriteFuture} which is already marked as 'not written'.
+     * 
+     * @param session The associated session
+     * @param cause The reason why the message has not be written
+     * @return A new future for not written message
      */
     public static WriteFuture newNotWrittenFuture(IoSession session, Throwable cause) {
         DefaultWriteFuture unwrittenFuture = new DefaultWriteFuture(session);
         unwrittenFuture.setException(cause);
+        
         return unwrittenFuture;
     }
 
     /**
      * Creates a new instance.
+     * 
+     * @param session The associated session
      */
     public DefaultWriteFuture(IoSession session) {
         super(session);
@@ -58,10 +69,12 @@ public class DefaultWriteFuture extends DefaultIoFuture implements WriteFuture {
     public boolean isWritten() {
         if (isDone()) {
             Object v = getValue();
+            
             if (v instanceof Boolean) {
                 return ((Boolean) v).booleanValue();
             }
         }
+        
         return false;
     }
 
@@ -71,10 +84,12 @@ public class DefaultWriteFuture extends DefaultIoFuture implements WriteFuture {
     public Throwable getException() {
         if (isDone()) {
             Object v = getValue();
+            
             if (v instanceof Throwable) {
                 return (Throwable) v;
             }
         }
+        
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/mina/blob/bdad876b/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoService.java b/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
index 6a09763..adb5edf 100644
--- a/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
+++ b/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
@@ -487,6 +487,11 @@ public abstract class AbstractIoService implements IoService {
         // Do nothing. Extended class might add some specific code
     }
 
+    /**
+     * A specific class used to 
+     * @author elecharny
+     *
+     */
     protected static class ServiceOperationFuture extends DefaultIoFuture {
         public ServiceOperationFuture() {
             super(null);
@@ -512,6 +517,7 @@ public abstract class AbstractIoService implements IoService {
             if (exception == null) {
                 throw new IllegalArgumentException("exception");
             }
+            
             setValue(exception);
         }
     }