James Moger
2014-03-27 8d96b960e472433d2b4a5b71df7000bf1fbde648
src/main/java/com/gitblit/GitBlit.java
@@ -28,6 +28,7 @@
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IGitblit;
import com.gitblit.manager.INotificationManager;
import com.gitblit.manager.IPluginManager;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
@@ -41,6 +42,7 @@
import com.gitblit.tickets.ITicketService;
import com.gitblit.tickets.NullTicketService;
import com.gitblit.tickets.RedisTicketService;
import com.gitblit.transport.ssh.IPublicKeyManager;
import com.gitblit.utils.StringUtils;
import dagger.Module;
@@ -64,17 +66,21 @@
   public GitBlit(
         IRuntimeManager runtimeManager,
         IPluginManager pluginManager,
         INotificationManager notificationManager,
         IUserManager userManager,
         IAuthenticationManager authenticationManager,
         IPublicKeyManager publicKeyManager,
         IRepositoryManager repositoryManager,
         IProjectManager projectManager,
         IFederationManager federationManager) {
      super(runtimeManager,
            pluginManager,
            notificationManager,
            userManager,
            authenticationManager,
            publicKeyManager,
            repositoryManager,
            projectManager,
            federationManager);
@@ -101,6 +107,11 @@
      return this;
   }
   @Override
   public boolean isServingRepositories() {
      return servicesManager.isServingRepositories();
   }
   protected Object [] getModules() {
      return new Object [] { new GitBlitModule()};
   }
@@ -121,11 +132,21 @@
      String username = StringUtils.encodeUsername(UserModel.ANONYMOUS.equals(user) ? "" : user.username);
      List<RepositoryUrl> list = new ArrayList<RepositoryUrl>();
      // http/https url
      if (settings.getBoolean(Keys.git.enableGitServlet, true)) {
         AccessPermission permission = user.getRepositoryPermission(repository).permission;
         if (permission.exceeds(AccessPermission.NONE)) {
            list.add(new RepositoryUrl(getRepositoryUrl(request, username, repository), permission));
         }
      }
      // ssh daemon url
      String sshDaemonUrl = servicesManager.getSshDaemonUrl(request, user, repository);
      if (!StringUtils.isEmpty(sshDaemonUrl)) {
         AccessPermission permission = user.getRepositoryPermission(repository).permission;
         if (permission.exceeds(AccessPermission.NONE)) {
            list.add(new RepositoryUrl(sshDaemonUrl, permission));
         }
      }
@@ -172,6 +193,27 @@
      if (isRename && ticketService != null) {
         ticketService.rename(oldModel, repository);
      }
   }
   /**
    * Delete the user and all associated public ssh keys.
    */
   @Override
   public boolean deleteUser(String username) {
      boolean success = userManager.deleteUser(username);
      if (success) {
         getPublicKeyManager().removeAllKeys(username);
      }
      return success;
   }
   @Override
   public boolean deleteUserModel(UserModel model) {
      boolean success = userManager.deleteUserModel(model);
      if (success) {
         getPublicKeyManager().removeAllKeys(model.username);
      }
      return success;
   }
   /**
@@ -252,7 +294,7 @@
               FileTicketService.class,
               BranchTicketService.class,
               RedisTicketService.class
         }
            }
         )
   class GitBlitModule {