James Moger
2014-04-14 d3b1e34c7428fbe4ef3abeee9eaef0f885c3f19b
src/main/java/com/gitblit/transport/ssh/commands/RootDispatcher.java
@@ -20,11 +20,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ro.fortsoft.pf4j.PluginWrapper;
import com.gitblit.manager.IGitblit;
import com.gitblit.models.UserModel;
import com.gitblit.transport.ssh.SshDaemonClient;
import com.gitblit.transport.ssh.git.GitDispatcher;
import com.gitblit.transport.ssh.gitblit.GitblitDispatcher;
import com.gitblit.transport.ssh.keys.KeysDispatcher;
/**
 * The root dispatcher is the dispatch command that handles registering all
@@ -41,15 +43,18 @@
      setContext(new SshCommandContext(gitblit, client, cmdLine));
      UserModel user = client.getUser();
      register(user, GitblitDispatcher.class);
      register(user, VersionCommand.class);
      register(user, GitDispatcher.class);
      register(user, KeysDispatcher.class);
      register(user, PluginDispatcher.class);
      List<DispatchCommand> exts = gitblit.getExtensions(DispatchCommand.class);
      for (DispatchCommand ext : exts) {
         Class<? extends DispatchCommand> extClass = ext.getClass();
         String plugin = gitblit.whichPlugin(extClass).getDescriptor().getPluginId();
         PluginWrapper wrapper = gitblit.whichPlugin(extClass);
         String plugin = wrapper.getDescriptor().getPluginId();
         CommandMetaData meta = extClass.getAnnotation(CommandMetaData.class);
         log.info("Dispatcher {} is loaded from plugin {}", meta.name(), plugin);
         log.debug("Dispatcher {} is loaded from plugin {}", meta.name(), plugin);
         register(user, ext);
      }
   }