From 8f6d5356f3cb7f8e800541fe6d46911bd46c0247 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 10 Apr 2014 18:58:09 -0400 Subject: [PATCH] Get the command context with an accessor instead of direct field access --- src/main/java/com/gitblit/transport/ssh/git/Upload.java | 2 +- src/main/java/com/gitblit/transport/ssh/git/Receive.java | 2 +- src/main/java/com/gitblit/transport/ssh/gitblit/LsCommand.java | 8 ++++---- src/main/java/com/gitblit/transport/ssh/gitblit/BaseKeyCommand.java | 2 +- src/main/java/com/gitblit/transport/ssh/git/BaseGitCommand.java | 2 +- src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java | 18 +++++++++++++++--- src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java | 10 ---------- src/main/java/com/gitblit/transport/ssh/gitblit/RemoveKeyCommand.java | 2 +- src/main/java/com/gitblit/transport/ssh/gitblit/AddKeyCommand.java | 2 +- src/main/java/com/gitblit/transport/ssh/gitblit/LsUsersCommand.java | 2 +- 10 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java b/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java index 7088fef..7c71ffa 100644 --- a/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java @@ -48,9 +48,6 @@ private static final Logger log = LoggerFactory.getLogger(BaseCommand.class); - /** Ssh context */ - protected SshCommandContext ctx; - protected InputStream in; protected OutputStream out; @@ -60,6 +57,9 @@ protected ExitCallback exit; protected ServerSession session; + + /** Ssh command context */ + private SshCommandContext ctx; /** Text of the command line which lead up to invoking this instance. */ private String commandName = ""; @@ -96,10 +96,22 @@ @Override public abstract void start(Environment env) throws IOException; + protected void provideStateTo(final BaseCommand cmd) { + cmd.setContext(ctx); + cmd.setInputStream(in); + cmd.setOutputStream(out); + cmd.setErrorStream(err); + cmd.setExitCallback(exit); + } + public void setContext(SshCommandContext ctx) { this.ctx = ctx; } + public SshCommandContext getContext() { + return ctx; + } + @Override public void setInputStream(final InputStream in) { this.in = in; diff --git a/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java b/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java index f7c78d2..779f0b0 100644 --- a/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java @@ -239,14 +239,4 @@ usage.append("\n"); return usage.toString(); } - - protected void provideStateTo(final BaseCommand cmd) { - if (cmd instanceof BaseCommand) { - cmd.setContext(ctx); - } - cmd.setInputStream(in); - cmd.setOutputStream(out); - cmd.setErrorStream(err); - cmd.setExitCallback(exit); - } } diff --git a/src/main/java/com/gitblit/transport/ssh/git/BaseGitCommand.java b/src/main/java/com/gitblit/transport/ssh/git/BaseGitCommand.java index b203d47..2e4fda5 100644 --- a/src/main/java/com/gitblit/transport/ssh/git/BaseGitCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/git/BaseGitCommand.java @@ -84,7 +84,7 @@ } repository = repository.substring(1); try { - return repositoryResolver.open(ctx.getClient(), repository); + return repositoryResolver.open(getContext().getClient(), repository); } catch (Exception e) { throw new Failure(1, "fatal: '" + repository + "': not a git archive", e); } diff --git a/src/main/java/com/gitblit/transport/ssh/git/Receive.java b/src/main/java/com/gitblit/transport/ssh/git/Receive.java index 9597eb4..36bf271 100644 --- a/src/main/java/com/gitblit/transport/ssh/git/Receive.java +++ b/src/main/java/com/gitblit/transport/ssh/git/Receive.java @@ -24,7 +24,7 @@ @Override protected void runImpl() throws Failure { try { - ReceivePack rp = receivePackFactory.create(ctx.getClient(), repo); + ReceivePack rp = receivePackFactory.create(getContext().getClient(), repo); rp.receive(in, out, null); } catch (Exception e) { throw new Failure(1, "fatal: Cannot receive pack: ", e); diff --git a/src/main/java/com/gitblit/transport/ssh/git/Upload.java b/src/main/java/com/gitblit/transport/ssh/git/Upload.java index 5de6b4d..1a85368 100644 --- a/src/main/java/com/gitblit/transport/ssh/git/Upload.java +++ b/src/main/java/com/gitblit/transport/ssh/git/Upload.java @@ -24,7 +24,7 @@ @Override protected void runImpl() throws Failure { try { - UploadPack up = uploadPackFactory.create(ctx.getClient(), repo); + UploadPack up = uploadPackFactory.create(getContext().getClient(), repo); up.upload(in, out, null); } catch (Exception e) { throw new Failure(1, "fatal: Cannot upload pack: ", e); diff --git a/src/main/java/com/gitblit/transport/ssh/gitblit/AddKeyCommand.java b/src/main/java/com/gitblit/transport/ssh/gitblit/AddKeyCommand.java index ae24dfb..6980834 100644 --- a/src/main/java/com/gitblit/transport/ssh/gitblit/AddKeyCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/gitblit/AddKeyCommand.java @@ -41,7 +41,7 @@ @Override public void run() throws IOException, UnloggedFailure { - String username = ctx.getClient().getUsername(); + String username = getContext().getClient().getUsername(); List<String> keys = readKeys(addKeys); for (String key : keys) { getKeyManager().addKey(username, key); diff --git a/src/main/java/com/gitblit/transport/ssh/gitblit/BaseKeyCommand.java b/src/main/java/com/gitblit/transport/ssh/gitblit/BaseKeyCommand.java index 1b7bac1..23e1dfc 100644 --- a/src/main/java/com/gitblit/transport/ssh/gitblit/BaseKeyCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/gitblit/BaseKeyCommand.java @@ -53,6 +53,6 @@ } protected IPublicKeyManager getKeyManager() { - return ctx.getGitblit().getPublicKeyManager(); + return getContext().getGitblit().getPublicKeyManager(); } } diff --git a/src/main/java/com/gitblit/transport/ssh/gitblit/LsCommand.java b/src/main/java/com/gitblit/transport/ssh/gitblit/LsCommand.java index 75cb2d8..1f0d06c 100644 --- a/src/main/java/com/gitblit/transport/ssh/gitblit/LsCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/gitblit/LsCommand.java @@ -49,8 +49,8 @@ } protected void listProjects() { - IGitblit gitblit = ctx.getGitblit(); - UserModel user = ctx.getClient().getUser(); + IGitblit gitblit = getContext().getGitblit(); + UserModel user = getContext().getClient().getUser(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); List<ProjectModel> projects = gitblit.getProjectModels(user, false); @@ -85,8 +85,8 @@ } protected void listRepositories() { - IGitblit gitblit = ctx.getGitblit(); - UserModel user = ctx.getClient().getUser(); + IGitblit gitblit = getContext().getGitblit(); + UserModel user = getContext().getClient().getUser(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); List<RepositoryModel> repositories = gitblit.getRepositoryModels(user); diff --git a/src/main/java/com/gitblit/transport/ssh/gitblit/LsUsersCommand.java b/src/main/java/com/gitblit/transport/ssh/gitblit/LsUsersCommand.java index 752afaf..e59e8b9 100644 --- a/src/main/java/com/gitblit/transport/ssh/gitblit/LsUsersCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/gitblit/LsUsersCommand.java @@ -35,7 +35,7 @@ @Override public void run() { - IGitblit gitblit = ctx.getGitblit(); + IGitblit gitblit = getContext().getGitblit(); List<UserModel> users = gitblit.getAllUsers(); int displaynameLen = 0; int usernameLen = 0; diff --git a/src/main/java/com/gitblit/transport/ssh/gitblit/RemoveKeyCommand.java b/src/main/java/com/gitblit/transport/ssh/gitblit/RemoveKeyCommand.java index af30730..915dbc0 100644 --- a/src/main/java/com/gitblit/transport/ssh/gitblit/RemoveKeyCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/gitblit/RemoveKeyCommand.java @@ -44,7 +44,7 @@ @Override public void run() throws IOException, UnloggedFailure { - String username = ctx.getClient().getUsername(); + String username = getContext().getClient().getUsername(); List<String> keys = readKeys(removeKeys); if (keys.contains(ALL)) { getKeyManager().removeAllKeys(username); -- Gitblit v1.9.1