Author: trustin
Date: Sat Sep 29 12:45:26 2007
New Revision: 580629
URL: http://svn.apache.org/viewvc?rev=580629&view=rev
Log:
* Added IoEvent.fire()
* Overrided IoEvent.fire() at IoFilterEvent to fire the event using its
underlying nextFilter
* Improved WrappingFilter to use IoFilterEvent instead of IoEvent
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/IoEvent.java
mina/trunk/core/src/main/java/org/apache/mina/common/IoFilterEvent.java
mina/trunk/core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
mina/trunk/core/src/main/java/org/apache/mina/filter/util/WrappingFilter.java
mina/trunk/core/src/test/java/org/apache/mina/filter/util/WrappingFilterTest.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoEvent.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoEvent.java?rev=580629&r1=580628&r2=580629&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoEvent.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoEvent.java Sat Sep
29 12:45:26 2007
@@ -57,6 +57,10 @@
public Object getParameter() {
return parameter;
}
+
+ public void fire() {
+ getSession().getFilterChain().fire(getType(), getParameter());
+ }
@Override
public String toString() {
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/IoFilterEvent.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoFilterEvent.java?rev=580629&r1=580628&r2=580629&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoFilterEvent.java
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoFilterEvent.java Sat
Sep 29 12:45:26 2007
@@ -46,4 +46,9 @@
public NextFilter getNextFilter() {
return nextFilter;
}
+
+ @Override
+ public void fire() {
+ getNextFilter().filter(this);
+ }
}
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java?rev=580629&r1=580628&r2=580629&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
Sat Sep 29 12:45:26 2007
@@ -4,7 +4,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.mina.common.IoEvent;
+import org.apache.mina.common.IoFilterEvent;
import org.apache.mina.common.IoSession;
import org.apache.mina.filter.util.WrappingFilter;
import org.slf4j.MDC;
@@ -57,7 +57,7 @@
};
@Override
- protected void filter(NextFilter nextFilter, IoEvent event) throws
Exception {
+ protected void filter(IoFilterEvent event) throws Exception {
// since this method can potentially call into itself
// we need to check the call depth before clearing the MDC
callDepth.set (callDepth.get() + 1);
@@ -68,7 +68,7 @@
}
try {
/* propagate event down the filter chain */
- nextFilter.filter(event);
+ event.fire();
} finally {
callDepth.set ( callDepth.get() - 1);
if (callDepth.get() == 0) {
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/util/WrappingFilter.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/util/WrappingFilter.java?rev=580629&r1=580628&r2=580629&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/filter/util/WrappingFilter.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/filter/util/WrappingFilter.java
Sat Sep 29 12:45:26 2007
@@ -1,9 +1,9 @@
package org.apache.mina.filter.util;
import org.apache.mina.common.IdleStatus;
-import org.apache.mina.common.IoEvent;
import org.apache.mina.common.IoEventType;
import org.apache.mina.common.IoFilterAdapter;
+import org.apache.mina.common.IoFilterEvent;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.WriteRequest;
@@ -16,50 +16,50 @@
public WrappingFilter() {
}
- protected abstract void filter(NextFilter nextFilter, IoEvent event)
throws Exception;
+ protected abstract void filter(IoFilterEvent event) throws Exception;
@Override
public final void sessionCreated(NextFilter nextFilter, IoSession session)
throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.SESSION_CREATED, session,
null));
+ filter(new IoFilterEvent(nextFilter, IoEventType.SESSION_CREATED,
session, null));
}
@Override
public final void sessionOpened(NextFilter nextFilter, IoSession session)
throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.SESSION_OPENED, session,
null));
+ filter(new IoFilterEvent(nextFilter, IoEventType.SESSION_OPENED,
session, null));
}
@Override
public final void sessionClosed(NextFilter nextFilter, IoSession session)
throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.SESSION_CLOSED, session,
null));
+ filter(new IoFilterEvent(nextFilter, IoEventType.SESSION_CLOSED,
session, null));
}
@Override
public final void sessionIdle(NextFilter nextFilter, IoSession session,
IdleStatus status) throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.SESSION_IDLE, session,
status));
+ filter(new IoFilterEvent(nextFilter, IoEventType.SESSION_IDLE,
session, status));
}
@Override
public final void exceptionCaught(NextFilter nextFilter, IoSession
session, Throwable cause) throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.EXCEPTION_CAUGHT, session,
cause));
+ filter(new IoFilterEvent(nextFilter, IoEventType.EXCEPTION_CAUGHT,
session, cause));
}
@Override
public final void messageReceived(NextFilter nextFilter, IoSession
session, Object message) throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.MESSAGE_RECEIVED, session,
message));
+ filter(new IoFilterEvent(nextFilter, IoEventType.MESSAGE_RECEIVED,
session, message));
}
@Override
public final void messageSent(NextFilter nextFilter, IoSession session,
WriteRequest writeRequest) throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.MESSAGE_SENT, session,
writeRequest));
+ filter(new IoFilterEvent(nextFilter, IoEventType.MESSAGE_SENT,
session, writeRequest));
}
@Override
public final void filterWrite(NextFilter nextFilter, IoSession session,
WriteRequest writeRequest) throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.WRITE, session,
writeRequest));
+ filter(new IoFilterEvent(nextFilter, IoEventType.WRITE, session,
writeRequest));
}
@Override
public final void filterClose(NextFilter nextFilter, IoSession session)
throws Exception {
- filter(nextFilter, new IoEvent(IoEventType.CLOSE, session, null));
+ filter(new IoFilterEvent(nextFilter, IoEventType.CLOSE, session,
null));
}
}
Modified:
mina/trunk/core/src/test/java/org/apache/mina/filter/util/WrappingFilterTest.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/util/WrappingFilterTest.java?rev=580629&r1=580628&r2=580629&view=diff
==============================================================================
---
mina/trunk/core/src/test/java/org/apache/mina/filter/util/WrappingFilterTest.java
(original)
+++
mina/trunk/core/src/test/java/org/apache/mina/filter/util/WrappingFilterTest.java
Sat Sep 29 12:45:26 2007
@@ -8,9 +8,9 @@
import org.apache.mina.common.DefaultWriteRequest;
import org.apache.mina.common.DummySession;
import org.apache.mina.common.IdleStatus;
-import org.apache.mina.common.IoEvent;
import org.apache.mina.common.IoEventType;
import org.apache.mina.common.IoFilter;
+import org.apache.mina.common.IoFilterEvent;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.WriteRequest;
import org.easymock.MockControl;
@@ -104,9 +104,9 @@
private List<IoEventType> eventsAfter = new ArrayList<IoEventType>();
@Override
- protected void filter(NextFilter nextFilter, IoEvent event) {
+ protected void filter(IoFilterEvent event) {
eventsBefore.add(event.getType());
- nextFilter.filter(event);
+ event.fire();
eventsAfter.add(event.getType());
}
}