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 2018/06/07 14:38:56 UTC

mina git commit: Reverted the addition of the event() method from the IoHandler, to keep a compatible API with the previous version (2.0.17)

Repository: mina
Updated Branches:
  refs/heads/2.0 4b5e33850 -> 775f94250


Reverted the addition of the event() method from the IoHandler, to keep
a compatible API with the previous version (2.0.17)

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

Branch: refs/heads/2.0
Commit: 775f94250248472fd45fde1f880b0ccd4ee8f1f4
Parents: 4b5e338
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Thu Jun 7 16:38:43 2018 +0200
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Thu Jun 7 16:38:43 2018 +0200

----------------------------------------------------------------------
 .../core/filterchain/DefaultIoFilterChain.java  | 36 --------------------
 .../apache/mina/core/filterchain/IoFilter.java  | 21 ------------
 .../mina/core/filterchain/IoFilterAdapter.java  |  9 -----
 .../mina/core/filterchain/IoFilterChain.java    | 11 ------
 .../mina/core/service/AbstractIoConnector.java  |  9 -----
 .../org/apache/mina/core/service/IoHandler.java | 11 ------
 .../mina/core/service/IoHandlerAdapter.java     |  9 -----
 .../org/apache/mina/filter/FilterEvent.java     | 28 ---------------
 .../org/apache/mina/filter/ssl/SslEvent.java    | 32 -----------------
 .../org/apache/mina/filter/ssl/SslFilter.java   |  2 --
 .../org/apache/mina/filter/ssl/SslHandler.java  | 11 ++----
 .../multiton/SingleSessionIoHandler.java        | 11 ------
 .../multiton/SingleSessionIoHandlerAdapter.java |  9 -----
 .../SingleSessionIoHandlerDelegate.java         | 14 --------
 .../executor/ExecutorFilterRegressionTest.java  |  5 ---
 .../mina/filter/ssl/SslDIRMINA937Test.java      | 12 +++----
 .../apache/mina/filter/ssl/SslFilterTest.java   |  3 --
 .../example/echoserver/EchoProtocolHandler.java |  4 +++
 .../mina/example/echoserver/AbstractTest.java   |  5 ---
 19 files changed, 13 insertions(+), 229 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java b/mina-core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
index 51d1ee6..ee17646 100644
--- a/mina-core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
+++ b/mina-core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
@@ -35,7 +35,6 @@ import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.WriteRequest;
 import org.apache.mina.core.write.WriteRequestQueue;
-import org.apache.mina.filter.FilterEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -559,14 +558,6 @@ public class DefaultIoFilterChain implements IoFilterChain {
         callNextSessionOpened(head, session);
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void fireEvent(FilterEvent event) {
-        callNextFilterEvent(head, session, event);
-    }
-
     private void callNextSessionOpened(Entry entry, IoSession session) {
         try {
             IoFilter filter = entry.getFilter();
@@ -782,19 +773,6 @@ public void fireFilterWrite(WriteRequest writeRequest) {
         }
     }
 
-    private void callNextFilterEvent(Entry entry, IoSession session, FilterEvent event) {
-        try {
-            IoFilter filter = entry.getFilter();
-            NextFilter nextFilter = entry.getNextFilter();
-            filter.event(nextFilter, session, event);
-        } catch (Exception e) {
-            fireExceptionCaught(e);
-        } catch (Error e) {
-            fireExceptionCaught(e);
-            throw e;
-        }
-    }
-
     /**
      * {@inheritDoc}
      */
@@ -1046,11 +1024,6 @@ public void fireFilterWrite(WriteRequest writeRequest) {
         public void filterClose(NextFilter nextFilter, IoSession session) throws Exception {
             nextFilter.filterClose(session);
         }
-        
-        @Override
-        public void event(NextFilter nextFilter, IoSession session, FilterEvent event) throws Exception {
-            session.getHandler().event(session, event);
-        }
     }
 
     private final class EntryImpl implements Entry {
@@ -1172,15 +1145,6 @@ public void fireFilterWrite(WriteRequest writeRequest) {
                  * {@inheritDoc}
                  */
                 @Override
-                public void event(IoSession session, FilterEvent event) {
-                    Entry nextEntry = EntryImpl.this.nextEntry;
-                    callNextFilterEvent(nextEntry, session, event);
-                }
-
-                /**
-                 * {@inheritDoc}
-                 */
-                @Override
                 public String toString() {
                     return EntryImpl.this.nextEntry.name;
                 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilter.java b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilter.java
index 1ec0412..707733a 100644
--- a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilter.java
@@ -23,7 +23,6 @@ import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.WriteRequest;
-import org.apache.mina.filter.FilterEvent;
 import org.apache.mina.filter.util.ReferenceCountingFilter;
 
 /**
@@ -270,18 +269,6 @@ public interface IoFilter {
      * @throws Exception If an error occurred while processing the event
      */
     void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception;
-    
-    /**
-     * Propagate an event up to the {@link IoHandler}
-     * 
-     * @param nextFilter
-     *            the {@link NextFilter} for this filter. You can reuse this
-     *            object until this filter is removed from the chain.
-     * @param session The {@link IoSession} which has to process this invocation
-     * @param event The event to propagate
-     * @throws Exception If an error occurred while processing the event
-     */
-    void event(NextFilter nextFilter, IoSession session, FilterEvent event) throws Exception;
 
     /**
      * Represents the next {@link IoFilter} in {@link IoFilterChain}.
@@ -360,13 +347,5 @@ public interface IoFilter {
          * @param session The {@link IoSession} which has to process this invocation
          */
         void filterClose(IoSession session);
-
-        /**
-         * Forwards an event to next filter.
-         * 
-         * @param session The {@link IoSession} which has to process this invocation
-         * @param event The event to propagate
-         */
-        void event(IoSession session, FilterEvent event);
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
index 5ea6b15..424df5c 100644
--- a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterAdapter.java
@@ -22,7 +22,6 @@ package org.apache.mina.core.filterchain;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.WriteRequest;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * An adapter class for {@link IoFilter}.  You can extend
@@ -158,14 +157,6 @@ public class IoFilterAdapter implements IoFilter {
      * {@inheritDoc}
      */
     @Override
-    public void event(NextFilter nextFilter, IoSession session, FilterEvent event) throws Exception {
-        nextFilter.event(session, event);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public String toString() {
         return this.getClass().getSimpleName();
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterChain.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterChain.java b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterChain.java
index fefa995..10079fc 100644
--- a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterChain.java
+++ b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterChain.java
@@ -26,7 +26,6 @@ import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.WriteRequest;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * A container of {@link IoFilter}s that forwards {@link IoHandler} events
@@ -323,16 +322,6 @@ public interface IoFilterChain {
      * event.
      */
     void fireFilterClose();
-    
-    
-    /**
-     * Fires a {@link IoHandler#event(IoSession, FilterEvent)} event. Most users don't need to call this method at
-     * all. Please use this method only when you implement a new transport or fire a virtual
-     * event.
-     * 
-     * @param event The specific event being fired
-     */
-    void fireEvent(FilterEvent event);
 
     /**
      * Represents a name-filter pair that an {@link IoFilterChain} contains.

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java b/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
index dde3813..1ae1a30 100644
--- a/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
+++ b/mina-core/src/main/java/org/apache/mina/core/service/AbstractIoConnector.java
@@ -30,7 +30,6 @@ import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.session.IoSessionConfig;
 import org.apache.mina.core.session.IoSessionInitializer;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * A base implementation of {@link IoConnector}.
@@ -314,14 +313,6 @@ public abstract class AbstractIoConnector extends AbstractIoService implements I
                     public void inputClosed(IoSession session) throws Exception {
                         // Empty handler
                     }
-
-                    /**
-                     * {@inheritDoc}
-                     */
-                    @Override
-                    public void event(IoSession session, FilterEvent event) throws Exception {
-                        // Empty handler
-                    }
                 });
             } else {
                 throw new IllegalStateException("handler is not set.");

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/service/IoHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/service/IoHandler.java b/mina-core/src/main/java/org/apache/mina/core/service/IoHandler.java
index d27d80f..e7db2fe 100644
--- a/mina-core/src/main/java/org/apache/mina/core/service/IoHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/core/service/IoHandler.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * Handles all I/O events fired by MINA.
@@ -112,14 +111,4 @@ public interface IoHandler {
      * @throws Exception If we get an exception while closing the input
      */
     void inputClosed(IoSession session) throws Exception;
-    
-    /**
-     * Invoked when a filter event is fired. Each filter might sent a different event,
-     * this is very application specific.
-     * 
-     * @param session The session for which we have an event to process
-     * @param event The event to process
-     * @throws Exception If we get an exception while processing the event 
-     */
-    void event(IoSession session, FilterEvent event) throws Exception;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/core/service/IoHandlerAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/service/IoHandlerAdapter.java b/mina-core/src/main/java/org/apache/mina/core/service/IoHandlerAdapter.java
index 54cefae..7df46cf 100644
--- a/mina-core/src/main/java/org/apache/mina/core/service/IoHandlerAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/core/service/IoHandlerAdapter.java
@@ -21,7 +21,6 @@ package org.apache.mina.core.service;
 
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -101,12 +100,4 @@ public class IoHandlerAdapter implements IoHandler {
     public void inputClosed(IoSession session) throws Exception {
         session.closeNow();
     }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void event(IoSession session, FilterEvent event) throws Exception {
-        // Empty handler
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/filter/FilterEvent.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/FilterEvent.java b/mina-core/src/main/java/org/apache/mina/filter/FilterEvent.java
deleted file mode 100644
index 599c8a2..0000000
--- a/mina-core/src/main/java/org/apache/mina/filter/FilterEvent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  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.
- *
- */
-package org.apache.mina.filter;
-
-/**
- * An empty interface that each Filter that are going to send a specific event must implement.
- *   
- * @author <a href="http://mina.apache.org">Apache MINA Project</a>
- */
-public interface FilterEvent {
-}

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java
deleted file mode 100644
index 060d313..0000000
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  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.
- *
- */
-package org.apache.mina.filter.ssl;
-
-import org.apache.mina.filter.FilterEvent;
-
-/**
- * A SSL event sent by {@link SslFilter} when the session is secured or not secured.
- * 
- * @author <a href="http://mina.apache.org">Apache MINA Project</a>
- */
-public enum SslEvent implements FilterEvent {
-    SECURED,
-    UNSECURED
-}

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
index 7c62252..412cac9 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
@@ -792,8 +792,6 @@ public class SslFilter extends IoFilterAdapter {
                 sslHandler.scheduleMessageReceived(nextFilter, SESSION_UNSECURED);
             }
             
-            // Inform that the session is not any more secured
-            session.getFilterChain().fireEvent(SslEvent.UNSECURED);
         } catch (SSLException se) {
             sslHandler.release();
             throw se;

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java
index 0cef504..93904fb 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java
@@ -537,14 +537,9 @@ class SslHandler {
                 handshakeComplete = true;
 
                 // Send the SECURE message only if it's the first SSL handshake
-                if (firstSSLNegociation) {
-                    firstSSLNegociation = false;
-                    
-                    if (session.containsAttribute(SslFilter.USE_NOTIFICATION)) {
-                        scheduleMessageReceived(nextFilter, SslFilter.SESSION_SECURED);
-                    }
-                    
-                    nextFilter.event(session, SslEvent.SECURED);
+                if (firstSSLNegociation && session.containsAttribute(SslFilter.USE_NOTIFICATION)) {
+                    // SESSION_SECURED is fired only when it's the first handshake
+                    scheduleMessageReceived(nextFilter, SslFilter.SESSION_SECURED);
                 }
 
                 if (LOGGER.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandler.java b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandler.java
index 86c1484..2059049 100644
--- a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandler.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * A session handler without an {@link IoSession} parameter for simplicity.
@@ -123,14 +122,4 @@ public interface SingleSessionIoHandler {
      * @see IoHandler#messageSent(IoSession, Object)
      */
     void messageSent(Object message) throws Exception;
-
-
-    /**
-     * Invoked when a filter event is fired. Each filter might sent a different event,
-     * this is very application specific.
-     * 
-     * @param event The event to process
-     * @throws Exception If we get an exception while processing the event 
-     */
-    void event(FilterEvent event) throws Exception;
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
index 4827a57..12bafed 100644
--- a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerAdapter.java
@@ -21,7 +21,6 @@ package org.apache.mina.handler.multiton;
 
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * Adapter class for implementors of the {@link SingleSessionIoHandler}
@@ -125,12 +124,4 @@ public class SingleSessionIoHandlerAdapter implements SingleSessionIoHandler {
     public void sessionOpened() throws Exception {
         // Do nothing
     }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void event(FilterEvent event) throws Exception {
-        // Do nothing
-    }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
index 6d794b9..5b6cacd 100644
--- a/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
+++ b/mina-core/src/main/java/org/apache/mina/handler/multiton/SingleSessionIoHandlerDelegate.java
@@ -23,7 +23,6 @@ import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.AttributeKey;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 
 /**
  * An {@link IoHandler} implementation which delegates all requests to
@@ -176,17 +175,4 @@ public class SingleSessionIoHandlerDelegate implements IoHandler {
         SingleSessionIoHandler handler = (SingleSessionIoHandler) session.getAttribute(HANDLER);
         handler.inputClosed(session);
     }
-
-    /**
-     * Delegates the method call to the
-     * {@link SingleSessionIoHandler#event(FilterEvent)} method of the handler
-     * assigned to this session.
-     * 
-     * {@inheritDoc}
-     */
-    @Override
-    public void event(IoSession session, FilterEvent event) throws Exception {
-        SingleSessionIoHandler handler = (SingleSessionIoHandler) session.getAttribute(HANDLER);
-        handler.event(event);
-    }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/test/java/org/apache/mina/filter/executor/ExecutorFilterRegressionTest.java
----------------------------------------------------------------------
diff --git a/mina-core/src/test/java/org/apache/mina/filter/executor/ExecutorFilterRegressionTest.java b/mina-core/src/test/java/org/apache/mina/filter/executor/ExecutorFilterRegressionTest.java
index 078849b..2b8aeda 100644
--- a/mina-core/src/test/java/org/apache/mina/filter/executor/ExecutorFilterRegressionTest.java
+++ b/mina-core/src/test/java/org/apache/mina/filter/executor/ExecutorFilterRegressionTest.java
@@ -29,7 +29,6 @@ import org.apache.mina.core.session.DummySession;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.WriteRequest;
-import org.apache.mina.filter.FilterEvent;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -164,9 +163,5 @@ public class ExecutorFilterRegressionTest {
         public void sessionCreated(IoSession session) {
             // Do nothing
         }
-        
-        public void event(IoSession session, FilterEvent event) {
-            // Do nothing
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/test/java/org/apache/mina/filter/ssl/SslDIRMINA937Test.java
----------------------------------------------------------------------
diff --git a/mina-core/src/test/java/org/apache/mina/filter/ssl/SslDIRMINA937Test.java b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslDIRMINA937Test.java
index 3fe5c45..5773c9a 100644
--- a/mina-core/src/test/java/org/apache/mina/filter/ssl/SslDIRMINA937Test.java
+++ b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslDIRMINA937Test.java
@@ -19,7 +19,8 @@
  */
 package org.apache.mina.filter.ssl;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
+
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.security.GeneralSecurityException;
@@ -35,7 +36,6 @@ import javax.net.ssl.TrustManagerFactory;
 import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
 import org.apache.mina.core.service.IoHandlerAdapter;
 import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.FilterEvent;
 import org.apache.mina.filter.codec.ProtocolCodecFilter;
 import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
@@ -117,13 +117,13 @@ public class SslDIRMINA937Test {
         //sslFilter.setEnabledCipherSuites(getClientCipherSuites());
         filters.addLast("sslFilter", sslFilter);
         connector.setHandler(new IoHandlerAdapter() {
-            @Override
-            public void messageReceived(IoSession session, Object message) throws Exception {
+            public void sessionCreated(IoSession session) throws Exception {
+                session.setAttribute(SslFilter.USE_NOTIFICATION, Boolean.TRUE);
             }
 
             @Override
-            public void event(IoSession session, FilterEvent event) throws Exception {
-                if (event == SslEvent.UNSECURED ) {
+            public void messageReceived(IoSession session, Object message) throws Exception {
+                if (message == SslFilter.SESSION_SECURED) {
                     counter.countDown();
                 }
             }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterTest.java
----------------------------------------------------------------------
diff --git a/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterTest.java b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterTest.java
index 550f3c9..d829cc7 100644
--- a/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterTest.java
+++ b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterTest.java
@@ -36,7 +36,6 @@ import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.core.write.DefaultWriteRequest;
 import org.apache.mina.core.write.WriteRequest;
-import org.apache.mina.filter.FilterEvent;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -66,8 +65,6 @@ abstract class AbstractNextFilter implements NextFilter {
 
     public void filterClose(IoSession session) { }
 
-    public void event(IoSession session, FilterEvent event) { }
-
     public String toString() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
----------------------------------------------------------------------
diff --git a/mina-example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java b/mina-example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
index 74b67c5..4524812 100644
--- a/mina-example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
+++ b/mina-example/src/main/java/org/apache/mina/example/echoserver/EchoProtocolHandler.java
@@ -24,6 +24,7 @@ import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.service.IoHandlerAdapter;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.ssl.SslFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,6 +39,9 @@ public class EchoProtocolHandler extends IoHandlerAdapter {
     @Override
     public void sessionCreated(IoSession session) {
         session.getConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
+
+        // We're going to use SSL negotiation notification.
+        session.setAttribute(SslFilter.USE_NOTIFICATION);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina/blob/775f9425/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java
----------------------------------------------------------------------
diff --git a/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java b/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java
index 508f331..f674138 100644
--- a/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java
+++ b/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java
@@ -29,7 +29,6 @@ import org.apache.mina.core.buffer.IoBuffer;
 import org.apache.mina.core.service.IoAcceptor;
 import org.apache.mina.core.session.IoSession;
 import org.apache.mina.example.echoserver.ssl.BogusSslContextFactory;
-import org.apache.mina.filter.FilterEvent;
 import org.apache.mina.filter.ssl.SslFilter;
 import org.apache.mina.transport.socket.DatagramSessionConfig;
 import org.apache.mina.transport.socket.nio.NioDatagramAcceptor;
@@ -159,10 +158,6 @@ public abstract class AbstractTest {
                         super.messageReceived(session, buf);
                     }
                 }
-                
-                public void fire(IoSession session, FilterEvent event) {
-                    System.out.println( event );
-                }
             });
 
             socketAcceptor.bind(address);