]> source.dussan.org Git - sonarqube.git/commitdiff
Improve the component org.sonar.dbcleaner.api.PurgeTask
authorSimon Brandhof <simon.brandhof@gmail.com>
Tue, 14 Feb 2012 13:10:07 +0000 (14:10 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Tue, 14 Feb 2012 13:11:05 +0000 (14:11 +0100)
* add javadoc
* use simple and generic method names

plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/DefaultPurgeTask.java
plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/ProjectPurgePostJob.java
plugins/sonar-dbcleaner-plugin/src/main/java/org/sonar/plugins/dbcleaner/api/PurgeTask.java
plugins/sonar-dbcleaner-plugin/src/test/java/org/sonar/plugins/dbcleaner/DefaultPurgeTaskTest.java

index 8ccad6d0c5dade63fbf2fb4360c3ed926b1fa8fb..9e9a5c6e909c041a46ce3faefe2aee1779aeb10c 100644 (file)
@@ -52,24 +52,24 @@ public class DefaultPurgeTask implements PurgeTask {
     this.periodCleaner = periodCleaner;
   }
 
-  public PurgeTask deleteProject(long projectId) {
-    purgeDao.deleteProject(projectId);
+  public PurgeTask delete(long resourceId) {
+    purgeDao.deleteProject(resourceId);
     return this;
   }
 
-  public PurgeTask purgeProject(long projectId) {
-    cleanHistoricalData(projectId);
-    doPurgeProject(projectId);
+  public PurgeTask purge(long resourceId) {
+    cleanHistoricalData(resourceId);
+    doPurge(resourceId);
     return this;
   }
 
-  private void cleanHistoricalData(long projectId) {
+  private void cleanHistoricalData(long resourceId) {
     try {
-      LOG.debug("Clean project historical data [id=" + projectId + "]");
-      periodCleaner.purge(projectId);
+      LOG.debug("Clean historical data [id=" + resourceId + "]");
+      periodCleaner.purge(resourceId);
     } catch (Exception e) {
       // purge errors must no fail the batch
-      LOG.error("Fail to clean project historical data [id=" + projectId + "]", e);
+      LOG.error("Fail to clean historical data [id=" + resourceId + "]", e);
     }
   }
 
@@ -80,13 +80,13 @@ public class DefaultPurgeTask implements PurgeTask {
     return new String[]{Scopes.FILE};
   }
 
-  private void doPurgeProject(long projectId) {
+  private void doPurge(long resourceId) {
     try {
-      LOG.debug("Purge project [id=" + projectId + "]");
-      purgeDao.purgeProject(projectId, getScopesWithoutHistoricalData());
+      LOG.debug("Purge data [id=" + resourceId + "]");
+      purgeDao.purgeProject(resourceId, getScopesWithoutHistoricalData());
     } catch (Exception e) {
       // purge errors must no fail the batch
-      LOG.error("Fail to purge project [id=" + projectId + "]", e);
+      LOG.error("Fail to purge data [id=" + resourceId + "]", e);
     }
   }
 }
index ba8150cdbd62e18f9d91f255970d9d1de149cb67..adaf87e31aa744f5b46305281c3f5e195db79825 100644 (file)
@@ -35,6 +35,6 @@ public class ProjectPurgePostJob implements PostJob {
   }
 
   public void executeOn(final Project project, SensorContext context) {
-    purgeTask.purgeProject((long) project.getId());
+    purgeTask.purge((long) project.getId());
   }
 }
index 326143d8d8e62ce484e12d9add8dfdba5869954f..2a40bf84b0a16c08c3222109af44bce8a0ed5808 100644 (file)
  */
 package org.sonar.plugins.dbcleaner.api;
 
+import com.google.common.annotations.Beta;
 import org.sonar.api.BatchExtension;
 
 /**
  * @since 2.14
  */
+@Beta
 public interface PurgeTask extends BatchExtension {
-  PurgeTask purgeProject(long projectId);
-  PurgeTask deleteProject(long projectId);
+  /**
+   * Purges the data related to a tree of resources.
+   *
+   * Exceptions are logged and are not thrown again, so this method fails only on {@link Error}s.
+   *
+   * @param resourceId the root of the tree
+   * @return this
+   */
+  PurgeTask purge(long resourceId);
+
+  /**
+   * Completely deletes a tree of resources.
+   *
+   * @param resourceId the root of the tree
+   * @return this
+   */
+  PurgeTask delete(long resourceId);
 }
index 4aa4fa4dd9f3b453e74b19fd862abccc66fff7bc..8947b8e21fd3be99f3f7c264e48978996bb19eb5 100644 (file)
@@ -37,7 +37,7 @@ public class DefaultPurgeTaskTest {
     settings.setProperty(DbCleanerConstants.PROPERTY_CLEAN_DIRECTORY, "false");
     DefaultPurgeTask task = new DefaultPurgeTask(purgeDao, settings, mock(DefaultPeriodCleaner.class));
 
-    task.purgeProject(1L);
+    task.purge(1L);
 
     verify(purgeDao).purgeProject(1L, new String[]{Scopes.FILE});
   }
@@ -48,7 +48,7 @@ public class DefaultPurgeTaskTest {
     Settings settings = new Settings(new PropertyDefinitions(DefaultPurgeTask.class));
     DefaultPurgeTask task = new DefaultPurgeTask(purgeDao, settings, mock(DefaultPeriodCleaner.class));
 
-    task.purgeProject(1L);
+    task.purge(1L);
 
     verify(purgeDao).purgeProject(1L, new String[]{Scopes.DIRECTORY, Scopes.FILE});
   }
@@ -59,7 +59,7 @@ public class DefaultPurgeTaskTest {
     when(purgeDao.purgeProject(anyLong(), (String[]) any())).thenThrow(new RuntimeException());
     DefaultPurgeTask task = new DefaultPurgeTask(purgeDao, new Settings(), mock(DefaultPeriodCleaner.class));
 
-    task.purgeProject(1L);
+    task.purge(1L);
 
     verify(purgeDao).purgeProject(anyLong(), (String[]) any());
   }