James Moger
2014-03-28 a9dc74e73eea068b8cbb5c96958abccae88b4abc
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));
         }
      }
@@ -175,6 +196,24 @@
   }
   /**
    * Delete the user and all associated public ssh keys.
    */
   @Override
   public boolean deleteUser(String username) {
      UserModel user = userManager.getUserModel(username);
      return deleteUserModel(user);
   }
   @Override
   public boolean deleteUserModel(UserModel model) {
      boolean success = userManager.deleteUserModel(model);
      if (success) {
         getPublicKeyManager().removeAllKeys(model.username);
      }
      return success;
   }
   /**
    * Delete the repository and all associated tickets.
    */
   @Override
@@ -187,7 +226,7 @@
   public boolean deleteRepositoryModel(RepositoryModel model) {
      boolean success = repositoryManager.deleteRepositoryModel(model);
      if (success && ticketService != null) {
         return ticketService.deleteAll(model);
         ticketService.deleteAll(model);
      }
      return success;
   }
@@ -252,7 +291,7 @@
               FileTicketService.class,
               BranchTicketService.class,
               RedisTicketService.class
         }
            }
         )
   class GitBlitModule {