From 4495ff757818e2a5c2a556ab2e6a0c3d36bbbc11 Mon Sep 17 00:00:00 2001
From: David Ostrovsky <david@ostrovsky.org>
Date: Thu, 10 Apr 2014 18:58:09 -0400
Subject: [PATCH] Report identified user and command on command failure
---
src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java b/src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java
index 5d9eb19..896391f 100644
--- a/src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java
+++ b/src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java
@@ -15,6 +15,11 @@
*/
package com.gitblit.transport.ssh.commands;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.gitblit.manager.IGitblit;
import com.gitblit.models.UserModel;
import com.gitblit.transport.ssh.SshDaemonClient;
@@ -28,6 +33,8 @@
*/
public class RootDispatcher extends DispatchCommand {
+ private Logger log = LoggerFactory.getLogger(getClass());
+
public RootDispatcher(IGitblit gitblit, SshDaemonClient client, String cmdLine) {
super();
setContext(new SshCommandContext(gitblit, client, cmdLine));
@@ -36,7 +43,14 @@
registerDispatcher(user, GitblitDispatcher.class);
registerDispatcher(user, GitDispatcher.class);
- // TODO register plugin dispatchers here
+ List<DispatchCommand> exts = gitblit.getExtensions(DispatchCommand.class);
+ for (DispatchCommand ext : exts) {
+ Class<? extends DispatchCommand> extClass = ext.getClass();
+ String plugin = gitblit.whichPlugin(extClass).getDescriptor().getPluginId();
+ CommandMetaData meta = extClass.getAnnotation(CommandMetaData.class);
+ log.info("Dispatcher {} is loaded from plugin {}", meta.name(), plugin);
+ registerDispatcher(user, ext);
+ }
}
@Override
--
Gitblit v1.9.1