From f81ed74578eb1d0fed26c56ddcfbb39f08a4e47c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 10 Apr 2014 18:58:10 -0400 Subject: [PATCH] Support querying in tickets ls and accept Object[][] for table data --- src/main/java/com/gitblit/transport/ssh/WelcomeShell.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java b/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java index 156e99e..ccf2586 100644 --- a/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java +++ b/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java @@ -34,6 +34,8 @@ import com.gitblit.IStoredSettings; import com.gitblit.Keys; import com.gitblit.models.UserModel; +import com.gitblit.transport.ssh.commands.DispatchCommand; +import com.gitblit.transport.ssh.commands.SshCommandFactory; import com.gitblit.utils.StringUtils; /** @@ -56,7 +58,7 @@ private static class SendMessage implements Command, SessionAware { private final IStoredSettings settings; - private SshDaemonClient client; + private ServerSession session; private InputStream in; private OutputStream out; @@ -89,7 +91,7 @@ @Override public void setSession(final ServerSession session) { - this.client = session.getAttribute(SshDaemonClient.KEY); + this.session = session; } @Override @@ -105,27 +107,38 @@ @Override public void destroy() { + this.session = null; } String getMessage() { + SshDaemonClient client = session.getAttribute(SshDaemonClient.KEY); UserModel user = client.getUser(); StringBuilder msg = new StringBuilder(); msg.append("\r\n"); - msg.append(" Hi "); + msg.append("Hi "); msg.append(user.getDisplayName()); - msg.append(", you have successfully connected to Gitblit over SSH."); + msg.append(", you have successfully connected to Gitblit over SSH"); + msg.append("\r\n"); + msg.append("with client: "); + msg.append(session.getClientVersion()); msg.append("\r\n"); msg.append("\r\n"); - msg.append(" You may clone a repository with the following Git syntax:\r\n"); + msg.append("You may clone a repository with the following Git syntax:\r\n"); msg.append("\r\n"); - msg.append(" git clone "); + msg.append(" git clone "); msg.append(formatUrl(user.username)); msg.append("\r\n"); msg.append("\r\n"); + // display the core commands + SshCommandFactory cmdFactory = (SshCommandFactory) session.getFactoryManager().getCommandFactory(); + DispatchCommand root = cmdFactory.createRootDispatcher(client, ""); + String usage = root.usage().replace("\n", "\r\n"); + msg.append(usage); + return msg.toString(); } -- Gitblit v1.9.1