From 7f3682a7448c6c4f59d7b66b3eab81fcf2999d0d 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] Create a simple ls-users admin command
---
src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java | 46 ++++++++++------------------------------------
1 files changed, 10 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java b/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
index da57f76..2b2093e 100644
--- a/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
+++ b/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
@@ -34,20 +34,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.gitblit.git.GitblitReceivePackFactory;
-import com.gitblit.git.GitblitUploadPackFactory;
-import com.gitblit.git.RepositoryResolver;
import com.gitblit.manager.IGitblit;
import com.gitblit.models.UserModel;
-import com.gitblit.transport.ssh.commands.AddKeyCommand;
-import com.gitblit.transport.ssh.commands.CreateRepository;
import com.gitblit.transport.ssh.commands.DispatchCommand;
-import com.gitblit.transport.ssh.commands.Receive;
-import com.gitblit.transport.ssh.commands.RemoveKeyCommand;
-import com.gitblit.transport.ssh.commands.ReviewCommand;
-import com.gitblit.transport.ssh.commands.SetAccountCommand;
-import com.gitblit.transport.ssh.commands.Upload;
-import com.gitblit.transport.ssh.commands.VersionCommand;
+import com.gitblit.transport.ssh.git.GitDispatchCommand;
+import com.gitblit.transport.ssh.gitblit.GitblitDispatchCommand;
import com.gitblit.utils.IdGenerator;
import com.gitblit.utils.WorkQueue;
import com.google.common.util.concurrent.Atomics;
@@ -61,12 +52,10 @@
private static final Logger logger = LoggerFactory.getLogger(SshCommandFactory.class);
private final IGitblit gitblit;
- private final PublicKeyAuthenticator keyAuthenticator;
private final ScheduledExecutorService startExecutor;
- public SshCommandFactory(IGitblit gitblit, PublicKeyAuthenticator keyAuthenticator, IdGenerator idGenerator) {
+ public SshCommandFactory(IGitblit gitblit, IdGenerator idGenerator) {
this.gitblit = gitblit;
- this.keyAuthenticator = keyAuthenticator;
int threads = 2;// cfg.getInt("sshd","commandStartThreads", 2);
WorkQueue workQueue = new WorkQueue(idGenerator);
@@ -83,29 +72,13 @@
protected DispatchCommand createRootDispatcher(SshDaemonClient client, String cmdLine) {
final UserModel user = client.getUser();
- DispatchCommand gitblitCmd = new DispatchCommand();
- gitblitCmd.registerCommand(user, VersionCommand.class);
- gitblitCmd.registerCommand(user, AddKeyCommand.class);
- gitblitCmd.registerCommand(user, RemoveKeyCommand.class);
- gitblitCmd.registerCommand(user, ReviewCommand.class);
+ DispatchCommand root = new DispatchCommand() {
+ };
+ root.setContext(new SshCommandContext(gitblit, client, cmdLine));
- gitblitCmd.registerCommand(user, CreateRepository.class);
- gitblitCmd.registerCommand(user, SetAccountCommand.class);
-
- DispatchCommand gitCmd = new DispatchCommand();
- gitCmd.registerCommand(user, Upload.class);
- gitCmd.registerCommand(user, Receive.class);
-
- DispatchCommand root = new DispatchCommand();
- root.registerDispatcher("gitblit", gitblitCmd);
- root.registerDispatcher("git", gitCmd);
-
- root.setRepositoryResolver(new RepositoryResolver<SshDaemonClient>(gitblit));
- root.setUploadPackFactory(new GitblitUploadPackFactory<SshDaemonClient>(gitblit));
- root.setReceivePackFactory(new GitblitReceivePackFactory<SshDaemonClient>(gitblit));
- root.setAuthenticator(keyAuthenticator);
-
- root.setContext(new SshCommandContext(client, cmdLine));
+ // TODO convert these dispatchers to plugin extension points
+ root.registerDispatcher(user, GitblitDispatchCommand.class);
+ root.registerDispatcher(user, GitDispatchCommand.class);
return root;
}
@@ -252,6 +225,7 @@
}
}
+ @SuppressWarnings("unused")
private void onDestroy() {
synchronized (this) {
if (cmd != null) {
--
Gitblit v1.9.1