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