You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2009/03/30 21:09:33 UTC
svn commit: r760108 - in /mina/sshd/trunk/src/main/java/org/apache/sshd:
SshClient.java client/SessionFactory.java
Author: gnodet
Date: Mon Mar 30 19:09:33 2009
New Revision: 760108
URL: http://svn.apache.org/viewvc?rev=760108&view=rev
Log:
SSHD-17: Custom session handler factory (client side)
Added:
mina/sshd/trunk/src/main/java/org/apache/sshd/client/SessionFactory.java
- copied, changed from r755158, mina/sshd/trunk/src/main/java/org/apache/sshd/server/SessionFactory.java
Modified:
mina/sshd/trunk/src/main/java/org/apache/sshd/SshClient.java
Modified: mina/sshd/trunk/src/main/java/org/apache/sshd/SshClient.java
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/src/main/java/org/apache/sshd/SshClient.java?rev=760108&r1=760107&r2=760108&view=diff
==============================================================================
--- mina/sshd/trunk/src/main/java/org/apache/sshd/SshClient.java (original)
+++ mina/sshd/trunk/src/main/java/org/apache/sshd/SshClient.java Mon Mar 30 19:09:33 2009
@@ -35,6 +35,7 @@
import org.apache.sshd.client.kex.DHG14;
import org.apache.sshd.client.future.ConnectFuture;
import org.apache.sshd.client.future.DefaultConnectFuture;
+import org.apache.sshd.client.SessionFactory;
import org.apache.sshd.common.AbstractFactoryManager;
import org.apache.sshd.common.session.AbstractSession;
import org.apache.sshd.common.AbstractSessionIoHandler;
@@ -119,17 +120,28 @@
public class SshClient extends AbstractFactoryManager {
private IoConnector connector;
+ private SessionFactory sessionFactory;
public SshClient() {
}
+ public SessionFactory getSessionFactory() {
+ return sessionFactory;
+ }
+
+ public void setSessionFactory(SessionFactory sessionFactory) {
+ this.sessionFactory = sessionFactory;
+ }
+
public void start() {
connector = new NioSocketConnector();
- connector.setHandler(new AbstractSessionIoHandler() {
- protected AbstractSession createSession(IoSession ioSession) throws Exception {
- return new ClientSessionImpl(SshClient.this, ioSession);
- }
- });
+
+ SessionFactory handler = sessionFactory;
+ if (handler == null) {
+ handler = new SessionFactory();
+ }
+ handler.setClient(this);
+ connector.setHandler(handler);
}
public void stop() {
Copied: mina/sshd/trunk/src/main/java/org/apache/sshd/client/SessionFactory.java (from r755158, mina/sshd/trunk/src/main/java/org/apache/sshd/server/SessionFactory.java)
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/src/main/java/org/apache/sshd/client/SessionFactory.java?p2=mina/sshd/trunk/src/main/java/org/apache/sshd/client/SessionFactory.java&p1=mina/sshd/trunk/src/main/java/org/apache/sshd/server/SessionFactory.java&r1=755158&r2=760108&rev=760108&view=diff
==============================================================================
--- mina/sshd/trunk/src/main/java/org/apache/sshd/server/SessionFactory.java (original)
+++ mina/sshd/trunk/src/main/java/org/apache/sshd/client/SessionFactory.java Mon Mar 30 19:09:33 2009
@@ -16,19 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.sshd.server;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
+package org.apache.sshd.client;
import org.apache.mina.core.session.IoSession;
-
-import org.apache.sshd.common.session.AbstractSession;
-import org.apache.sshd.common.AbstractSessionIoHandler;
-
import org.apache.sshd.SshServer;
-import org.apache.sshd.server.session.ServerSession;
+import org.apache.sshd.SshClient;
+import org.apache.sshd.client.session.ClientSessionImpl;
+import org.apache.sshd.common.AbstractSessionIoHandler;
+import org.apache.sshd.common.session.AbstractSession;
/**
* A factory of sessions.
@@ -37,14 +32,14 @@
*/
public class SessionFactory extends AbstractSessionIoHandler {
- protected SshServer server;
+ protected SshClient client;
- public void setServer(SshServer server) {
- this.server = server;
+ public void setClient(SshClient client) {
+ this.client = client;
}
protected AbstractSession createSession(IoSession ioSession) throws Exception {
- return new ServerSession(server, ioSession);
+ return new ClientSessionImpl(client, ioSession);
}
-}
+}
\ No newline at end of file