James Moger
2014-06-09 ca4d98678c20e4033fdaca09ecbbf0f5952e0b84
src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -66,6 +66,7 @@
import com.gitblit.GitBlitException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.extensions.RepositoryLifeCycleListener;
import com.gitblit.models.ForkModel;
import com.gitblit.models.Metric;
import com.gitblit.models.RefModel;
@@ -114,6 +115,8 @@
   private final IRuntimeManager runtimeManager;
   private final IPluginManager pluginManager;
   private final IUserManager userManager;
   private final File repositoriesFolder;
@@ -126,10 +129,12 @@
   public RepositoryManager(
         IRuntimeManager runtimeManager,
         IPluginManager pluginManager,
         IUserManager userManager) {
      this.settings = runtimeManager.getSettings();
      this.runtimeManager = runtimeManager;
      this.pluginManager = pluginManager;
      this.userManager = userManager;
      this.repositoriesFolder = runtimeManager.getFileOrFolder(Keys.git.repositoriesFolder, "${baseFolder}/git");
   }
@@ -1420,6 +1425,16 @@
      removeFromCachedRepositoryList(repositoryName);
      // model will actually be replaced on next load because config is stale
      addToCachedRepositoryList(repository);
      if (isCreate && pluginManager != null) {
         for (RepositoryLifeCycleListener listener : pluginManager.getExtensions(RepositoryLifeCycleListener.class)) {
            try {
               listener.onCreation(repository);
            } catch (Throwable t) {
               logger.error(String.format("failed to call plugin onCreation %s", repositoryName), t);
            }
         }
      }
   }
   /**
@@ -1588,6 +1603,16 @@
            FileUtils.delete(folder, FileUtils.RECURSIVE | FileUtils.RETRY);
            if (userManager.deleteRepositoryRole(repositoryName)) {
               logger.info(MessageFormat.format("Repository \"{0}\" deleted", repositoryName));
               if (pluginManager != null) {
                  for (RepositoryLifeCycleListener listener : pluginManager.getExtensions(RepositoryLifeCycleListener.class)) {
                     try {
                        listener.onDeletion(repository);
                     } catch (Throwable t) {
                        logger.error(String.format("failed to call plugin onDeletion %s", repositoryName), t);
                     }
                  }
               }
               return true;
            }
         }