James Moger
2014-07-03 1c301ba07b13c1cd941c44805ee09d1ac8759bd5
src/main/java/com/gitblit/manager/GitblitManager.java
@@ -86,6 +86,7 @@
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Singleton;
import com.google.inject.Provider;
/**
 * GitblitManager is an aggregate interface delegate.  It implements all the manager
@@ -106,6 +107,10 @@
   protected final ObjectCache<Collection<GitClientApplication>> clientApplications = new ObjectCache<Collection<GitClientApplication>>();
   protected final Provider<IPublicKeyManager> publicKeyManagerProvider;
   protected final Provider<ITicketService> ticketServiceProvider;
   protected final IStoredSettings settings;
   protected final IRuntimeManager runtimeManager;
@@ -118,8 +123,6 @@
   protected final IAuthenticationManager authenticationManager;
   protected final IPublicKeyManager publicKeyManager;
   protected final IRepositoryManager repositoryManager;
   protected final IProjectManager projectManager;
@@ -128,15 +131,19 @@
   @Inject
   public GitblitManager(
         Provider<IPublicKeyManager> publicKeyManagerProvider,
         Provider<ITicketService> ticketServiceProvider,
         IRuntimeManager runtimeManager,
         IPluginManager pluginManager,
         INotificationManager notificationManager,
         IUserManager userManager,
         IAuthenticationManager authenticationManager,
         IPublicKeyManager publicKeyManager,
         IRepositoryManager repositoryManager,
         IProjectManager projectManager,
         IFederationManager federationManager) {
      this.publicKeyManagerProvider = publicKeyManagerProvider;
      this.ticketServiceProvider = ticketServiceProvider;
      this.settings = runtimeManager.getSettings();
      this.runtimeManager = runtimeManager;
@@ -144,7 +151,6 @@
      this.notificationManager = notificationManager;
      this.userManager = userManager;
      this.authenticationManager = authenticationManager;
      this.publicKeyManager = publicKeyManager;
      this.repositoryManager = repositoryManager;
      this.projectManager = projectManager;
      this.federationManager = federationManager;
@@ -476,18 +482,14 @@
      }
   }
   /**
    * Throws an exception if trying to get a ticket service.
    *
    */
   @Override
   public ITicketService getTicketService() {
      throw new RuntimeException("This class does not have a ticket service!");
      return ticketServiceProvider.get();
   }
   @Override
   public IPublicKeyManager getPublicKeyManager() {
      return publicKeyManager;
      return publicKeyManagerProvider.get();
   }
   /*
@@ -707,11 +709,6 @@
   }
   @Override
   public boolean deleteUser(String username) {
      return userManager.deleteUser(username);
   }
   @Override
   public UserModel getUserModel(String username) {
      return userManager.getUserModel(username);
   }
@@ -752,8 +749,22 @@
   }
   @Override
   public boolean deleteUser(String username) {
      // delegate to deleteUserModel() to delete public ssh keys
      UserModel user = userManager.getUserModel(username);
      return deleteUserModel(user);
   }
   /**
    * Delete the user and all associated public ssh keys.
    */
   @Override
   public boolean deleteUserModel(UserModel model) {
      return userManager.deleteUserModel(model);
      boolean success = userManager.deleteUserModel(model);
      if (success) {
         getPublicKeyManager().removeAllKeys(model.username);
      }
      return success;
   }
   @Override
@@ -949,10 +960,23 @@
      return repositoryManager.getRepositoryDefaultMetrics(model, repository);
   }
   /**
    * Detect renames and reindex as appropriate.
    */
   @Override
   public void updateRepositoryModel(String repositoryName, RepositoryModel repository,
         boolean isCreate) throws GitBlitException {
      RepositoryModel oldModel = null;
      boolean isRename = !isCreate && !repositoryName.equalsIgnoreCase(repository.name);
      if (isRename) {
         oldModel = repositoryManager.getRepositoryModel(repositoryName);
      }
      repositoryManager.updateRepositoryModel(repositoryName, repository, isCreate);
      if (isRename && ticketServiceProvider.get() != null) {
         ticketServiceProvider.get().rename(oldModel, repository);
      }
   }
   @Override
@@ -965,14 +989,23 @@
      return repositoryManager.canDelete(model);
   }
   /**
    * Delete the repository and all associated tickets.
    */
   @Override
   public boolean deleteRepositoryModel(RepositoryModel model) {
      return repositoryManager.deleteRepositoryModel(model);
      boolean success = repositoryManager.deleteRepositoryModel(model);
      if (success && ticketServiceProvider.get() != null) {
         ticketServiceProvider.get().deleteAll(model);
      }
      return success;
   }
   @Override
   public boolean deleteRepository(String repositoryName) {
      return repositoryManager.deleteRepository(repositoryName);
      // delegate to deleteRepositoryModel() to destroy indexed tickets
      RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName);
      return deleteRepositoryModel(repository);
   }
   @Override