You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2007/09/23 02:21:42 UTC
svn commit: r578531 - in /geronimo/sandbox/gshell/trunk/gshell-remote:
gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/
gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/
gshell-remote-common/src/m...
Author: jdillon
Date: Sat Sep 22 17:21:40 2007
New Revision: 578531
URL: http://svn.apache.org/viewvc?rev=578531&view=rev
Log:
Update the visitor api to take a session and visitor, since almost all of the visitor operations want a session anyways
Modified:
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/RshClientHandler.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/Message.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageHandler.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageSupport.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitor.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitorSupport.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/CloseShellMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ConnectMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/EchoMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ExecuteMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/LoginMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/OpenShellMessage.java
geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-server/src/main/java/org/apache/geronimo/gshell/remote/server/RshServerHandler.java
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/RshClientHandler.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/RshClientHandler.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/RshClientHandler.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-client/src/main/java/org/apache/geronimo/gshell/remote/client/RshClientHandler.java Sat Sep 22 17:21:40 2007
@@ -22,6 +22,7 @@
import org.apache.geronimo.gshell.remote.message.MessageHandler;
import org.apache.geronimo.gshell.remote.message.MessageVisitorSupport;
import org.apache.geronimo.gshell.remote.message.rsh.EchoMessage;
+import org.apache.mina.common.IoSession;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
@@ -49,7 +50,7 @@
private class Visitor
extends MessageVisitorSupport
{
- public void visitEcho(final EchoMessage msg) throws Exception {
+ public void visitEcho(IoSession session, final EchoMessage msg) throws Exception {
assert msg != null;
log.info("ECHO: {}", msg.getText());
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/Message.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/Message.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/Message.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/Message.java Sat Sep 22 17:21:40 2007
@@ -49,7 +49,7 @@
IoSession getSession();
- void process(MessageVisitor visitor) throws Exception;
+ void process(IoSession session, MessageVisitor visitor) throws Exception;
void freeze();
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageHandler.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageHandler.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageHandler.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageHandler.java Sat Sep 22 17:21:40 2007
@@ -82,13 +82,14 @@
if (obj instanceof Message) {
Message msg = (Message)obj;
- // Attach the session to the context
+ // Attach the session to the message (which is needed for methods like reply())
msg.setSession(session);
msg.freeze();
-
+
// Hand over to visitor for processing
MessageVisitor visitor = MessageVisitor.BINDER.lookup(session);
- msg.process(visitor);
+
+ msg.process(session, visitor);
}
else {
throw new InvalidMessageException(obj);
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageSupport.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageSupport.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageSupport.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageSupport.java Sat Sep 22 17:21:40 2007
@@ -189,7 +189,7 @@
return frozen;
}
- public void process(final MessageVisitor visitor) throws Exception {
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
// Non-operation
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitor.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitor.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitor.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitor.java Sat Sep 22 17:21:40 2007
@@ -26,6 +26,7 @@
import org.apache.geronimo.gshell.remote.message.rsh.LoginMessage;
import org.apache.geronimo.gshell.remote.message.rsh.OpenShellMessage;
import org.apache.geronimo.gshell.remote.session.SessionAttributeBinder;
+import org.apache.mina.common.IoSession;
/**
* Provides an abstraction layer for message processing.
@@ -40,15 +41,15 @@
SessionAttributeBinder<MessageVisitor> BINDER = new SessionAttributeBinder<MessageVisitor>(MessageVisitor.class);
- void visitConnect(ConnectMessage msg) throws Exception;
+ void visitConnect(IoSession session, ConnectMessage msg) throws Exception;
- void visitLogin(LoginMessage msg) throws Exception;
+ void visitLogin(IoSession session, LoginMessage msg) throws Exception;
- void visitEcho(EchoMessage msg) throws Exception;
+ void visitEcho(IoSession session, EchoMessage msg) throws Exception;
- void visitOpenShell(OpenShellMessage msg) throws Exception;
+ void visitOpenShell(IoSession session, OpenShellMessage msg) throws Exception;
- void visitCloseShell(CloseShellMessage msg) throws Exception;
+ void visitCloseShell(IoSession session, CloseShellMessage msg) throws Exception;
- void visitExecute(ExecuteMessage msg) throws Exception;
+ void visitExecute(IoSession session, ExecuteMessage msg) throws Exception;
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitorSupport.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitorSupport.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitorSupport.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/MessageVisitorSupport.java Sat Sep 22 17:21:40 2007
@@ -25,6 +25,7 @@
import org.apache.geronimo.gshell.remote.message.rsh.OpenShellMessage;
import org.apache.geronimo.gshell.remote.message.rsh.ConnectMessage;
import org.apache.geronimo.gshell.remote.message.rsh.LoginMessage;
+import org.apache.mina.common.IoSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,15 +45,15 @@
protected MessageVisitorSupport() {}
- public void visitConnect(ConnectMessage msg) throws Exception {}
+ public void visitConnect(IoSession session, ConnectMessage msg) throws Exception {}
- public void visitLogin(LoginMessage msg) throws Exception {}
+ public void visitLogin(IoSession session, LoginMessage msg) throws Exception {}
- public void visitEcho(EchoMessage msg) throws Exception {}
+ public void visitEcho(IoSession session, EchoMessage msg) throws Exception {}
- public void visitOpenShell(OpenShellMessage msg) throws Exception {}
+ public void visitOpenShell(IoSession session, OpenShellMessage msg) throws Exception {}
- public void visitCloseShell(CloseShellMessage msg) throws Exception {}
+ public void visitCloseShell(IoSession session, CloseShellMessage msg) throws Exception {}
- public void visitExecute(ExecuteMessage msg) throws Exception {}
+ public void visitExecute(IoSession session, ExecuteMessage msg) throws Exception {}
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/CloseShellMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/CloseShellMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/CloseShellMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/CloseShellMessage.java Sat Sep 22 17:21:40 2007
@@ -22,6 +22,7 @@
import org.apache.geronimo.gshell.remote.message.MessageSupport;
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
+import org.apache.mina.common.IoSession;
/**
* Close the remote shell instance.
@@ -35,9 +36,9 @@
super(MessageType.CLOSE_SHELL);
}
- public void process(final MessageVisitor visitor) throws Exception {
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
assert visitor != null;
- visitor.visitCloseShell(this);
+ visitor.visitCloseShell(session, this);
}
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ConnectMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ConnectMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ConnectMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ConnectMessage.java Sat Sep 22 17:21:40 2007
@@ -26,6 +26,7 @@
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.IoSession;
/**
* Initial client to server message to initiate the connection.
@@ -64,8 +65,8 @@
this.clientKey = clientKey;
}
- public void process(final MessageVisitor visitor) throws Exception {
- visitor.visitConnect(this);
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
+ visitor.visitConnect(session, this);
}
public void readExternal(final ByteBuffer in) throws Exception {
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/EchoMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/EchoMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/EchoMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/EchoMessage.java Sat Sep 22 17:21:40 2007
@@ -24,6 +24,7 @@
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.IoSession;
/**
* Echo text.
@@ -65,9 +66,9 @@
Marshaller.writeString(out, text);
}
- public void process(final MessageVisitor visitor) throws Exception {
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
assert visitor != null;
- visitor.visitEcho(this);
+ visitor.visitEcho(session, this);
}
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ExecuteMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ExecuteMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ExecuteMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/ExecuteMessage.java Sat Sep 22 17:21:40 2007
@@ -25,6 +25,7 @@
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.IoSession;
/**
* Execute a command. This supports all flavors of the {@link CommandExecutor} execution methods.
@@ -94,10 +95,10 @@
Marshaller.writeObject(out, args);
}
- public void process(final MessageVisitor visitor) throws Exception {
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
assert visitor != null;
- visitor.visitExecute(this);
+ visitor.visitExecute(session, this);
}
//
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/LoginMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/LoginMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/LoginMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/LoginMessage.java Sat Sep 22 17:21:40 2007
@@ -27,6 +27,7 @@
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.IoSession;
import org.codehaus.plexus.util.StringUtils;
/**
@@ -74,8 +75,8 @@
return password;
}
- public void process(final MessageVisitor visitor) throws Exception {
- visitor.visitLogin(this);
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
+ visitor.visitLogin(session, this);
}
public void readExternal(final ByteBuffer in) throws Exception {
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/OpenShellMessage.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/OpenShellMessage.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/OpenShellMessage.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-common/src/main/java/org/apache/geronimo/gshell/remote/message/rsh/OpenShellMessage.java Sat Sep 22 17:21:40 2007
@@ -22,6 +22,7 @@
import org.apache.geronimo.gshell.remote.message.MessageSupport;
import org.apache.geronimo.gshell.remote.message.MessageType;
import org.apache.geronimo.gshell.remote.message.MessageVisitor;
+import org.apache.mina.common.IoSession;
/**
* Open a remote shell instance.
@@ -35,9 +36,9 @@
super(MessageType.OPEN_SHELL);
}
- public void process(final MessageVisitor visitor) throws Exception {
+ public void process(final IoSession session, final MessageVisitor visitor) throws Exception {
assert visitor != null;
- visitor.visitOpenShell(this);
+ visitor.visitOpenShell(session, this);
}
}
Modified: geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-server/src/main/java/org/apache/geronimo/gshell/remote/server/RshServerHandler.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-server/src/main/java/org/apache/geronimo/gshell/remote/server/RshServerHandler.java?rev=578531&r1=578530&r2=578531&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-server/src/main/java/org/apache/geronimo/gshell/remote/server/RshServerHandler.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-remote/gshell-remote-server/src/main/java/org/apache/geronimo/gshell/remote/server/RshServerHandler.java Sat Sep 22 17:21:40 2007
@@ -72,7 +72,7 @@
implements Initializable
{
//
- // TODO: Introduce a context object which we can stuff any kinda of data we want into for the session... and have one binder, etc...
+ // TODO: Introduce a context object which we can stuff any kinda of data we want into for the client connection... and have one binder, etc...
//
private static final SessionAttributeBinder<PublicKey> CLIENT_KEY_BINDER = new SessionAttributeBinder<PublicKey>(RshServerHandler.class, "clientpk");
@@ -122,11 +122,6 @@
if (securityToken.equals(token)) {
super.messageReceived(session, obj);
}
- else if (token != null) {
- log.error("Invalid security token: {}", token);
-
- session.close();
- }
else if (obj instanceof HandshakeMessage) {
super.messageReceived(session, obj);
}
@@ -183,6 +178,10 @@
// MessageVisitor
//
+ //
+ // TODO: Introduce a context object which we can stuff any kinda of data we want into for the remote shell session... and have one binder, etc...
+ //
+
private static final SessionAttributeBinder<IO> IO_BINDER = new SessionAttributeBinder<IO>(IO.class);
private static final SessionAttributeBinder<Environment> ENV_BINDER = new SessionAttributeBinder<Environment>(Environment.class);
@@ -197,12 +196,8 @@
//
@Override
- public void visitConnect(final ConnectMessage msg) throws Exception {
- assert msg != null;
-
+ public void visitConnect(final IoSession session, final ConnectMessage msg) throws Exception {
log.debug("Processing handshake");
-
- IoSession session = msg.getSession();
// Try to cancel the timeout task
if (!cancelTimeout(session)) {
@@ -227,13 +222,9 @@
}
@Override
- public void visitLogin(final LoginMessage msg) throws Exception {
- assert msg != null;
-
+ public void visitLogin(final IoSession session, final LoginMessage msg) throws Exception {
log.debug("Processing login");
- IoSession session = msg.getSession();
-
// Try to cancel the timeout task
if (!cancelTimeout(session)) {
log.warn("Aborting login processing; timeout has triggered");
@@ -278,13 +269,9 @@
}
@Override
- public void visitOpenShell(final OpenShellMessage msg) throws Exception {
- assert msg != null;
-
+ public void visitOpenShell(final IoSession session, final OpenShellMessage msg) throws Exception {
log.info("OPEN SHELL: {}", msg);
- IoSession session = msg.getSession();
-
RemoteShellContainer shellContainer = createContainer();
RemoteShellContainer.BINDER.bind(session, shellContainer);
@@ -292,7 +279,7 @@
IO io = new IO(SessionInputStream.BINDER.lookup(session), SessionOutputStream.BINDER.lookup(session), false);
//
- // FIXME: We need to set the verbosity of this I/O context as specified by the client
+ // TODO: We need to set the verbosity of this I/O context as specified by the client
//
IOLookup.set(shellContainer, io);
@@ -315,13 +302,9 @@
}
@Override
- public void visitCloseShell(final CloseShellMessage msg) throws Exception {
- assert msg != null;
-
+ public void visitCloseShell(final IoSession session, final CloseShellMessage msg) throws Exception {
log.info("CLOSE SHELL: {}", msg);
- IoSession session = msg.getSession();
-
log.info("Closing shell");
RemoteShell shell = SHELL_BINDER.unbind(session);
@@ -351,13 +334,9 @@
//
@Override
- public void visitExecute(final ExecuteMessage msg) throws Exception {
- assert msg != null;
-
+ public void visitExecute(final IoSession session, final ExecuteMessage msg) throws Exception {
log.info("EXECUTE: {}", msg);
- IoSession session = msg.getSession();
-
RemoteShell shell = SHELL_BINDER.lookup(session);
try {
@@ -396,21 +375,16 @@
//
@Override
- public void visitEcho(final EchoMessage msg) throws Exception {
+ public void visitEcho(final IoSession session, final EchoMessage msg) throws Exception {
assert msg != null;
log.info("ECHO: {}", msg);
String text = msg.getText();
- //
- // HACK:
- //
-
if ("NOISE MAKER".equals(text)) {
log.info("Making noise...");
- final IoSession session = msg.getSession();
final PrintWriter out = new PrintWriter(SessionOutputStream.BINDER.lookup(session), false);
new Thread("NOISE MAKER") {