summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-03-17 21:23:44 -0400
committerJames Moger <james.moger@gitblit.com>2014-04-10 18:58:09 -0400
commit9d44ade215922fd9e7bda7c604b31c31d217d750 (patch)
treef73dff5e26e2a8ce842a43c49439581c7a0f5ee1 /src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
parent01b529edac600feb3c0750d27d0759b5f49fde72 (diff)
downloadgitblit-9d44ade215922fd9e7bda7c604b31c31d217d750.tar.gz
gitblit-9d44ade215922fd9e7bda7c604b31c31d217d750.zip
Create git and gitblit dispatchers
Diffstat (limited to 'src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java')
-rw-r--r--src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java41
1 files changed, 8 insertions, 33 deletions
diff --git a/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java b/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
index b8dd5b9f..de7aad1f 100644
--- a/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
+++ b/src/main/java/com/gitblit/transport/ssh/SshCommandFactory.java
@@ -34,21 +34,11 @@ import org.apache.sshd.server.session.ServerSession;
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.ListRepositoriesCommand;
-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;
@@ -86,31 +76,16 @@ public class SshCommandFactory implements CommandFactory {
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, ListRepositoriesCommand.class);
- gitblitCmd.registerCommand(user, ReviewCommand.class);
-
- 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.setContext(new SshCommandContext(gitblit, client, cmdLine));
- DispatchCommand root = new DispatchCommand();
- root.registerDispatcher("gitblit", gitblitCmd);
- root.registerDispatcher("git", gitCmd);
+ // TODO convert these dispatchers to plugin extension points
+ root.registerDispatcher(user, GitblitDispatchCommand.class);
+ root.registerDispatcher(user, GitDispatchCommand.class);
- 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(gitblit, client, cmdLine));
-
return root;
}