Extends the AbstratIoFilter class, call teh super.XXX method instead of invoking the controller directly
diff --git a/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java b/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
index 1ded779..973b9d8 100644
--- a/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
+++ b/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
@@ -21,8 +21,8 @@
import java.nio.ByteBuffer;
+import org.apache.mina.api.AbstractIoFilter;
import org.apache.mina.api.IdleStatus;
-import org.apache.mina.api.IoFilter;
import org.apache.mina.api.IoSession;
import org.apache.mina.filterchain.ReadFilterChainController;
import org.apache.mina.filterchain.WriteFilterChainController;
@@ -34,11 +34,10 @@
/**
* A simple filter logging incoming events.
*
- * @author jvermillar
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
*
*/
-public class LoggingFilter implements IoFilter {
-
+public class LoggingFilter extends AbstractIoFilter {
/** The logger */
private final Logger logger;
@@ -70,18 +69,21 @@
/**
* Create a new LoggingFilter using a class name
*
- * @param clazz the class which name will be used to create the logger
+ * @param clazz
+ * the class which name will be used to create the logger
*/
- public LoggingFilter(final Class<?> clazz) {
+ public LoggingFilter(Class<?> clazz) {
this(clazz.getName());
}
/**
* Create a new LoggingFilter using a name
*
- * @param name the name used to create the logger. If null, will default to "LoggingFilter"
+ * @param name
+ * the name used to create the logger. If null, will default to
+ * "LoggingFilter"
*/
- public LoggingFilter(final String name) {
+ public LoggingFilter(String name) {
if (name == null) {
logger = LoggerFactory.getLogger(LoggingFilter.class.getName());
} else {
@@ -90,13 +92,17 @@
}
/**
- * Log if the logger and the current event log level are compatible. We log a formated message and its parameters.
+ * Log if the logger and the current event log level are compatible. We log
+ * a formated message and its parameters.
*
- * @param eventLevel the event log level as requested by the user
- * @param message the formated message to log
- * @param param the parameter injected into the message
+ * @param eventLevel
+ * the event log level as requested by the user
+ * @param message
+ * the formated message to log
+ * @param param
+ * the parameter injected into the message
*/
- private void log(final LogLevel eventLevel, final String message, final Object param) {
+ private void log(LogLevel eventLevel, String message, Object param) {
switch (eventLevel) {
case TRACE:
logger.trace(message, param);
@@ -119,12 +125,15 @@
}
/**
- * Log if the logger and the current event log level are compatible. We log a simple message.
+ * Log if the logger and the current event log level are compatible. We log
+ * a simple message.
*
- * @param eventLevel the event log level as requested by the user
- * @param message the message to log
+ * @param eventLevel
+ * the event log level as requested by the user
+ * @param message
+ * the message to log
*/
- private void log(final LogLevel eventLevel, final String message) {
+ private void log(LogLevel eventLevel, String message) {
switch (eventLevel) {
case TRACE:
logger.trace(message);
@@ -150,58 +159,59 @@
* {@inheritDoc}
*/
@Override
- public void sessionOpened(final IoSession session) {
+ public void sessionOpened(IoSession session) {
log(sessionOpenedLevel, "OPENED");
-
+ super.sessionOpened(session);
}
/**
* {@inheritDoc}
*/
@Override
- public void sessionClosed(final IoSession session) {
+ public void sessionClosed(IoSession session) {
log(sessionClosedLevel, "CLOSED");
+ super.sessionClosed(session);
}
/**
* {@inheritDoc}
*/
@Override
- public void sessionIdle(final IoSession session, final IdleStatus status) {
+ public void sessionIdle(IoSession session, IdleStatus status) {
log(sessionIdleLevel, "IDLE");
+ super.sessionIdle(session, status);
}
/**
* {@inheritDoc}
*/
@Override
- public void messageSent(final IoSession session, final Object message) {
+ public void messageSent(IoSession session, Object message) {
log(messageSentLevel, "SENT");
+ super.messageSent(session, message);
}
/**
* {@inheritDoc}
*/
@Override
- public void messageReceived(final IoSession session, final Object message,
- final ReadFilterChainController controller) {
+ public void messageReceived(IoSession session, Object message, ReadFilterChainController controller) {
if (message instanceof ByteBuffer) {
log(messageReceivedLevel, "RECEIVED: {}", ByteBufferDumper.dump((ByteBuffer) message));
} else {
log(messageReceivedLevel, "RECEIVED: {}", message);
}
- controller.callReadNextFilter(message);
+ super.messageReceived(session, message, controller);
}
/**
* {@inheritDoc}
*/
@Override
- public void messageWriting(final IoSession session, final WriteRequest message,
- final WriteFilterChainController controller) {
+ public void messageWriting(IoSession session, WriteRequest message, WriteFilterChainController controller) {
log(messageReceivedLevel, "WRITTING: {}", message);
- controller.callWriteNextFilter(message);
+ super.messageWriting(session, message, controller);
}
// =========================
@@ -211,9 +221,10 @@
/**
* Set the LogLevel for the MessageReceived event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setMessageReceivedLogLevel(final LogLevel level) {
+ public void setMessageReceivedLogLevel(LogLevel level) {
messageReceivedLevel = level;
}
@@ -229,9 +240,10 @@
/**
* Set the LogLevel for the MessageWriting event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setMessageWritingLogLevel(final LogLevel level) {
+ public void setMessageWritingLogLevel(LogLevel level) {
messageWritingLevel = level;
}
@@ -247,9 +259,10 @@
/**
* Set the LogLevel for the SessionOpened event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setSessionOpenedLogLevel(final LogLevel level) {
+ public void setSessionOpenedLogLevel(LogLevel level) {
sessionOpenedLevel = level;
}
@@ -265,9 +278,10 @@
/**
* Set the LogLevel for the SessionIdle event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setSessionIdleLogLevel(final LogLevel level) {
+ public void setSessionIdleLogLevel(LogLevel level) {
sessionIdleLevel = level;
}
@@ -283,9 +297,10 @@
/**
* Set the LogLevel for the SessionClosed event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setSessionClosedLogLevel(final LogLevel level) {
+ public void setSessionClosedLogLevel(LogLevel level) {
sessionClosedLevel = level;
}
@@ -310,9 +325,10 @@
/**
* Set the LogLevel for the messageSent event.
*
- * @param level The LogLevel to set
+ * @param level
+ * The LogLevel to set
*/
- public void setMessageSentLevel(final LogLevel messageSentLevel) {
+ public void setMessageSentLevel(LogLevel messageSentLevel) {
this.messageSentLevel = messageSentLevel;
}