changeset 365:a1d70e112d47

Add logging for cleanup
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Mon, 30 Jan 2012 10:41:01 +0400
parents 262b57d2b94f
children a75f2b73b1d8
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Cleanup.java
diffstat 1 files changed, 41 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Cleanup.java	Fri Jan 27 22:19:21 2012 +0400
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Cleanup.java	Mon Jan 30 10:41:01 2012 +0400
@@ -1,24 +1,23 @@
 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
 
+import com.intellij.openapi.diagnostic.Logger;
 import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.Settings;
+import jetbrains.buildServer.serverSide.impl.LogUtil;
 import jetbrains.buildServer.util.FileUtil;
-import jetbrains.buildServer.util.filters.Filter;
-import jetbrains.buildServer.util.filters.FilterUtil;
 import jetbrains.buildServer.vcs.VcsManager;
 import jetbrains.buildServer.vcs.VcsRoot;
 import org.jetbrains.annotations.NotNull;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author dmitry.neverov
  */
 public class Cleanup implements Runnable {
 
+  private static Logger LOG = Logger.getInstance(Cleanup.class.getName());
+
   private final VcsManager myVcsManager;
   private final MirrorManager myMirrorManager;
   private final HgPathProvider myHgPathProvider;
@@ -45,16 +44,21 @@
   }
 
   private Collection<VcsRoot> mercurialVcsRoots() {
-    List<VcsRoot> roots = new ArrayList<VcsRoot>(myVcsManager.getAllRegisteredVcsRoots());
-    FilterUtil.filterCollection(roots, new Filter<VcsRoot>() {
-      public boolean accept(@NotNull final VcsRoot root) {
-        return Constants.VCS_NAME.equals(root.getVcsName());
-      }
-    });
-    return roots;
+    List<VcsRoot> mercurialRoots = new ArrayList<VcsRoot>();
+    for (VcsRoot root : myVcsManager.getAllRegisteredVcsRoots()) {
+      if (isMercurialRoot(root))
+        mercurialRoots.add(root);
+    }
+    logRegisteredMercurialRoots(mercurialRoots);
+    return mercurialRoots;
+  }
+
+  private boolean isMercurialRoot(VcsRoot root) {
+    return Constants.VCS_NAME.equals(root.getVcsName());
   }
 
   private void deleteDirs(Collection<File> dirs) {
+    logUnusedLocalClones(dirs);
     for (File dir : dirs) {
       myMirrorManager.lockDir(dir);
       try {
@@ -65,4 +69,28 @@
       }
     }
   }
+
+  private void logRegisteredMercurialRoots(@NotNull List<VcsRoot> roots) {
+    StringBuilder sb = new StringBuilder();
+    sb.append("Registered mercurial roots: ");
+    Iterator<VcsRoot> iter = roots.iterator();
+    while (iter.hasNext()) {
+      sb.append(LogUtil.describe(iter.next()));
+      if (iter.hasNext())
+        sb.append(", ");
+    }
+    LOG.debug(sb.toString());
+  }
+
+  private void logUnusedLocalClones(@NotNull Collection<File> dirs) {
+    StringBuilder sb = new StringBuilder();
+    sb.append("Unused local clones: ");
+    Iterator<File> iter = dirs.iterator();
+    while (iter.hasNext()) {
+      sb.append(iter.next().getAbsolutePath());
+      if (iter.hasNext())
+        sb.append(", ");
+    }
+    LOG.info(sb.toString());
+  }
 }