You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2011/07/04 22:09:37 UTC

svn commit: r1142792 - in /mina/branches/3.0/core/src: main/java/org/apache/mina/IoFilter.java main/java/org/apache/mina/IoFilterChain.java main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java test/java/filterchain/DefaultIoFilterChainTest.java

Author: jvermillard
Date: Mon Jul  4 20:09:37 2011
New Revision: 1142792

URL: http://svn.apache.org/viewvc?rev=1142792&view=rev
Log:
fixing typos,
processing message for writing in the chain

Modified:
    mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilter.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilterChain.java
    mina/branches/3.0/core/src/main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java
    mina/branches/3.0/core/src/test/java/filterchain/DefaultIoFilterChainTest.java

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilter.java?rev=1142792&r1=1142791&r2=1142792&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilter.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilter.java Mon Jul  4 20:09:37 2011
@@ -78,9 +78,11 @@ public interface IoFilter {
      * Invoked when a message is under writing. The filter is supposed to apply the needed transformation.
      * 
      * @param session {@link IoSession} associated with the invocation
+     * @param message the message to process before writing
      * @throws Exception Exception If an error occurs while processing
+     * @return the message after processing
      */
-    void messageWritting(IoSession session, Object message) throws Exception;
+    Object messageWriting(IoSession session, Object message) throws Exception;
 
     /**
      * Invoked when an exception occurs while executing the method

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilterChain.java?rev=1142792&r1=1142791&r2=1142792&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilterChain.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/IoFilterChain.java Mon Jul  4 20:09:37 2011
@@ -122,9 +122,18 @@ public interface IoFilterChain {
 
     /**
      * Call this method for processing a received message using this chain.
+     * This processing is done in reverse order.
      * @param session {@link IoSession} associated with this message
-     * @param messagethe received message
+     * @param message the received message
      * @return the message after the processing of each filter
      */
     Object processMessageReceived(IoSession session, Object message);
+
+    /**
+     * Call this method for processing a message for writing using this chain.
+     * @param session {@link IoSession} associated with this message
+     * @param message the message to write
+     * @return the message after the processing
+     */
+    Object processMessageWriting(IoSession session, Object message);
 }
\ No newline at end of file

Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java?rev=1142792&r1=1142791&r2=1142792&view=diff
==============================================================================
--- mina/branches/3.0/core/src/main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java (original)
+++ mina/branches/3.0/core/src/main/java/org/apache/mina/filterchain/DefaultIoFilterChain.java Mon Jul  4 20:09:37 2011
@@ -116,11 +116,27 @@ public class DefaultIoFilterChain implem
             try {
                 message = filter.messageReceived(session, message);
             } catch (Exception e) {
-                LOG.error("Exception caught during processing session created event", e);
+                LOG.error("Exception caught during processing message received event", e);
                 // we re-forward the catched Exception
                 processExceptionCaught(session, e);
             }
         }
         return message;
     }
+
+    @Override
+    public Object processMessageWriting(IoSession session, Object message) {
+        int len = chain.size();
+        for (int i = 1; i <= len; i++) {
+            try {
+                message = chain.get(len - i).messageWriting(session, message);
+            } catch (Exception e) {
+                LOG.error("Exception caught during processing message writing event", e);
+                // we re-forward the catched Exception
+                processExceptionCaught(session, e);
+            }
+        }
+        return message;
+    }
+
 }
\ No newline at end of file

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=1142792&r1=1142791&r2=1142792&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 Mon Jul  4 20:09:37 2011
@@ -125,7 +125,8 @@ public class DefaultIoFilterChainTest {
         }
 
         @Override
-        public void messageWritting(IoSession session, Object message) throws Exception {
+        public Object messageWriting(IoSession session, Object message) throws Exception {
+            return message;
         }
 
         @Override