Author: norman
Date: Tue Sep 27 05:54:29 2011
New Revision: 1176210
URL: http://svn.apache.org/viewvc?rev=1176210&view=rev
Log:
Just use one interface for result handling
Added:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java
- copied, changed from r1175675,
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java
Removed:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ConnectHandlerResultHandler.java
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/LineHandlerResultHandler.java
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java?rev=1176210&r1=1176209&r2=1176210&view=diff
==============================================================================
---
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
(original)
+++
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
Tue Sep 27 05:54:29 2011
@@ -45,7 +45,7 @@ public abstract class AbstractCommandDis
*/
private HashMap<String, List<CommandHandler<Session>>> commandHandlerMap =
new HashMap<String, List<CommandHandler<Session>>>();
- private List<CommandHandlerResultHandler<Response, Session>> rHandlers =
new ArrayList<CommandHandlerResultHandler<Response, Session>>();
+ private List<ProtocolHandlerResultHandler<Response, Session>> rHandlers =
new ArrayList<ProtocolHandlerResultHandler<Response, Session>>();
private final Charset charset = Charset.forName(getLineDecodingCharset());
@@ -93,7 +93,7 @@ public abstract class AbstractCommandDis
*/
@SuppressWarnings("unchecked")
public void wireExtensions(Class interfaceName, List extension) throws
WiringException {
- if (interfaceName.equals(CommandHandlerResultHandler.class)) {
+ if (interfaceName.equals(ProtocolHandlerResultHandler.class)) {
rHandlers.addAll(extension);
}
if (interfaceName.equals(CommandHandler.class)) {
@@ -149,6 +149,7 @@ public abstract class AbstractCommandDis
BaseRequest request = new BaseRequest(curCommandName,
curCommandArgument);
Iterator<CommandHandler<Session>> handlers =
commandHandlers.iterator();
+
while (handlers.hasNext()) {
final long start = System.currentTimeMillis();
CommandHandler<Session> cHandler = handlers.next();
@@ -181,7 +182,7 @@ public abstract class AbstractCommandDis
public List<Class<?>> getMarkerInterfaces() {
List res = new LinkedList();
res.add(CommandHandler.class);
- res.add(CommandHandlerResultHandler.class);
+ res.add(ProtocolHandlerResultHandler.class);
return res;
}
Copied:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java
(from r1175675,
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java)
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java?p2=james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java&p1=james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java&r1=1175675&r2=1176210&rev=1176210&view=diff
==============================================================================
---
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java
(original)
+++
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java
Tue Sep 27 05:54:29 2011
@@ -22,15 +22,15 @@ package org.apache.james.protocols.api.h
import org.apache.james.protocols.api.ProtocolSession;
import org.apache.james.protocols.api.Response;
-public interface CommandHandlerResultHandler<R extends Response, S extends
ProtocolSession> extends ProtocolHandler{
+public interface ProtocolHandlerResultHandler<R extends Response, S extends
ProtocolSession> extends ProtocolHandler{
/**
- * Get called when a {@link Response} was returned from the {@link
CommandHandler}
+ * Get called when a {@link Response} was returned from the {@link
ProtocolHandler}
*
* @param session
* @param response
* @param handler
* @return response
*/
- Response onResponse(ProtocolSession session, R response, long
executionTime, CommandHandler<S> handler);
+ Response onResponse(ProtocolSession session, R response, long
executionTime, ProtocolHandler handler);
}
Modified:
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java?rev=1176210&r1=1176209&r2=1176210&view=diff
==============================================================================
---
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
(original)
+++
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java
Tue Sep 27 05:54:29 2011
@@ -29,11 +29,10 @@ import org.apache.james.protocols.api.Pr
import org.apache.james.protocols.api.ProtocolSessionFactory;
import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.ConnectHandler;
-import org.apache.james.protocols.api.handler.ConnectHandlerResultHandler;
import org.apache.james.protocols.api.handler.DisconnectHandler;
import org.apache.james.protocols.api.handler.LineHandler;
-import org.apache.james.protocols.api.handler.LineHandlerResultHandler;
import org.apache.james.protocols.api.handler.ProtocolHandlerChain;
+import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
import org.apache.james.protocols.impl.NettyProtocolTransport;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
@@ -88,7 +87,7 @@ public class BasicChannelUpstreamHandler
@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent
e) throws Exception {
List<ConnectHandler> connectHandlers =
chain.getHandlers(ConnectHandler.class);
- List<ConnectHandlerResultHandler> resultHandlers =
chain.getHandlers(ConnectHandlerResultHandler.class);
+ List<ProtocolHandlerResultHandler> resultHandlers =
chain.getHandlers(ProtocolHandlerResultHandler.class);
ProtocolSession session = (ProtocolSession) ctx.getAttachment();
session.getLogger().info("Connection established from " +
session.getRemoteHost() + " (" + session.getRemoteIPAddress()+ ")");
if (connectHandlers != null) {
@@ -100,7 +99,7 @@ public class BasicChannelUpstreamHandler
long executionTime = System.currentTimeMillis() - start;
for (int a = 0; a < resultHandlers.size(); a++) {
- resultHandlers.get(a).onResponse(session, executionTime,
cHandler);
+ resultHandlers.get(a).onResponse(session, response,
executionTime, cHandler);
}
if (response != null) {
((AbstractSession)session).getProtocolTransport().writeResponse(response,
session);
@@ -134,7 +133,7 @@ public class BasicChannelUpstreamHandler
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
throws Exception {
ProtocolSession pSession = (ProtocolSession) ctx.getAttachment();
LinkedList<LineHandler> lineHandlers =
chain.getHandlers(LineHandler.class);
- LinkedList<LineHandlerResultHandler> resultHandlers =
chain.getHandlers(LineHandlerResultHandler.class);
+ LinkedList<ProtocolHandlerResultHandler> resultHandlers =
chain.getHandlers(ProtocolHandlerResultHandler.class);
if (lineHandlers.size() > 0) {
@@ -156,7 +155,7 @@ public class BasicChannelUpstreamHandler
long executionTime = System.currentTimeMillis() - start;
for (int i = 0; i < resultHandlers.size(); i++) {
- resultHandlers.get(i).onResponse(pSession, executionTime,
lHandler);
+ resultHandlers.get(i).onResponse(pSession, response,
executionTime, lHandler);
}
if (response != null) {
((AbstractSession)pSession).getProtocolTransport().writeResponse(response,
pSession);
Modified:
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java?rev=1176210&r1=1176209&r2=1176210&view=diff
==============================================================================
---
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java
(original)
+++
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java
Tue Sep 27 05:54:29 2011
@@ -21,30 +21,30 @@ package org.apache.james.protocols.impl.
import org.apache.james.protocols.api.ProtocolSession;
import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.CommandHandler;
-import org.apache.james.protocols.api.handler.CommandHandlerResultHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
/**
*
*
*
*/
-public abstract class AbstractCommandHandlerResultLogger<R extends Response, S
extends ProtocolSession> implements CommandHandlerResultHandler<R, S> {
+public abstract class AbstractCommandHandlerResultLogger<R extends Response, S
extends ProtocolSession> implements ProtocolHandlerResultHandler<R, S> {
- /*
- * (non-Javadoc)
- * @see
org.apache.james.protocols.api.CommandHandlerResultHandler#onResponse(org.apache.james.protocols.api.ProtocolSession,
org.apache.james.protocols.api.Response, long,
org.apache.james.protocols.api.CommandHandler)
- */
- public Response onResponse(ProtocolSession session, R response, long
executionTime, CommandHandler<S> handler) {
- String code = response.getRetCode();
- String msg = handler.getClass().getName() + ": " + response.toString();
+
+ public Response onResponse(ProtocolSession session, R response, long
executionTime, ProtocolHandler handler) {
+ if (handler instanceof CommandHandler) {
+ String code = response.getRetCode();
+ String msg = handler.getClass().getName() + ": " +
response.toString();
- // check if the response should log with info
- if (logWithInfo(code)) {
- session.getLogger().info(msg);
- } else {
- session.getLogger().debug(msg);
+ // check if the response should log with info
+ if (logWithInfo(code)) {
+ session.getLogger().info(msg);
+ } else {
+ session.getLogger().debug(msg);
+ }
}
return response;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]