]> source.dussan.org Git - sonarqube.git/commitdiff
improve batch logs : more details on the comparison periods
authorsimonbrandhof <simon.brandhof@gmail.com>
Mon, 3 Jan 2011 15:34:11 +0000 (15:34 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Mon, 3 Jan 2011 15:34:11 +0000 (15:34 +0000)
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshot.java
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinder.java
sonar-batch/src/main/java/org/sonar/batch/components/TimeMachineConfiguration.java
sonar-batch/src/test/java/org/sonar/batch/components/PastSnapshotTest.java [new file with mode: 0644]

index b55ad44d661f36b48f6dfc05123fd6d7052968d1..04140ae8c16a4c0f677a858a4c52acabd51932e2 100644 (file)
@@ -19,7 +19,9 @@
  */
 package org.sonar.batch.components;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.builder.ReflectionToStringBuilder;
+import org.sonar.api.CoreProperties;
 import org.sonar.api.database.model.Snapshot;
 
 import java.util.Date;
@@ -73,7 +75,7 @@ public class PastSnapshot {
   }
 
   public Integer getProjectSnapshotId() {
-    return (projectSnapshot!=null ? projectSnapshot.getId() : null);
+    return (projectSnapshot != null ? projectSnapshot.getId() : null);
   }
 
   public Date getTargetDate() {
@@ -87,6 +89,18 @@ public class PastSnapshot {
 
   @Override
   public String toString() {
+    if (StringUtils.equals(mode, PastSnapshotFinderByVersion.MODE)) {
+      return String.format("Compare to version " + modeParameter + "(" + targetDate + ")");
+    }
+    if (StringUtils.equals(mode, PastSnapshotFinderByDays.MODE)) {
+      return String.format("Compare over " + modeParameter + " days (" + targetDate + ")");
+    }
+    if (StringUtils.equals(mode, CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS)) {
+      return String.format("Compare to previous analysis " + " (" + targetDate + ")");
+    }
+    if (StringUtils.equals(mode, PastSnapshotFinderByDate.MODE)) {
+      return String.format("Compare to date " + targetDate);
+    }
     return ReflectionToStringBuilder.toString(this);
   }
 }
index 00f112a1b56dc6a915c6d84a435d2bc8624d9abf..85b7c29e80dd555726ddf64fe144529942293345 100644 (file)
@@ -52,7 +52,7 @@ public class PastSnapshotFinder implements BatchExtension {
     String propertyValue = getPropertyValue(conf, index);
     PastSnapshot pastSnapshot = find(projectSnapshot, index, propertyValue);
     if (pastSnapshot==null && StringUtils.isNotBlank(propertyValue)) {
-      Logs.INFO.warn("The property " + CoreProperties.TIMEMACHINE_PERIOD_PREFIX + index + " has an unvalid value: " + propertyValue);
+      Logs.INFO.debug("The property " + CoreProperties.TIMEMACHINE_PERIOD_PREFIX + index + " has an unvalid value: " + propertyValue);
     }
     return pastSnapshot;
   }
index eb1977270e7f68b7fb8f3dacde10dcec56693932..0274fb226376638149d78bb45fd3e5911b5e0607 100644 (file)
@@ -44,10 +44,10 @@ public class TimeMachineConfiguration implements BatchExtension {
   private void initPastSnapshots(PastSnapshotFinder pastSnapshotFinder, Snapshot projectSnapshot) {
     projectPastSnapshots = Lists.newLinkedList();
     for (int index = 1; index <= NUMBER_OF_VARIATION_SNAPSHOTS; index++) {
-      PastSnapshot variationSnapshot = pastSnapshotFinder.find(projectSnapshot, configuration, index);
-      if (variationSnapshot != null) {
-        Logs.INFO.info("Comparison date: " + variationSnapshot.getDate());
-        projectPastSnapshots.add(variationSnapshot);
+      PastSnapshot pastSnapshot = pastSnapshotFinder.find(projectSnapshot, configuration, index);
+      if (pastSnapshot != null) {
+        Logs.INFO.info(pastSnapshot.toString());
+        projectPastSnapshots.add(pastSnapshot);
       }
     }
   }
diff --git a/sonar-batch/src/test/java/org/sonar/batch/components/PastSnapshotTest.java b/sonar-batch/src/test/java/org/sonar/batch/components/PastSnapshotTest.java
new file mode 100644 (file)
index 0000000..4f0fbde
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2009 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ */
+package org.sonar.batch.components;
+
+import org.junit.Test;
+import org.sonar.api.CoreProperties;
+import org.sonar.api.database.model.Snapshot;
+
+import java.util.Date;
+
+import static org.hamcrest.Matchers.startsWith;
+import static org.junit.Assert.assertThat;
+
+public class PastSnapshotTest {
+
+  @Test
+  public void testToStringForVersion() {
+    PastSnapshot pastSnapshot = new PastSnapshot(PastSnapshotFinderByVersion.MODE, new Snapshot()).setModeParameter("2.3");
+    assertThat(pastSnapshot.toString(), startsWith("Compare to version 2.3"));
+  }
+
+  @Test
+  public void testToStringForNumberOfDays() {
+    PastSnapshot pastSnapshot = new PastSnapshot(PastSnapshotFinderByDays.MODE, new Snapshot()).setModeParameter("30");
+    assertThat(pastSnapshot.toString(), startsWith("Compare over 30 days"));
+  }
+
+  @Test
+  public void testToStringForDate() {
+    PastSnapshot pastSnapshot = new PastSnapshot(PastSnapshotFinderByDate.MODE, new Snapshot()).setTargetDate(new Date());
+    assertThat(pastSnapshot.toString(), startsWith("Compare to date "));
+  }
+
+  @Test
+  public void testToStringForPreviousAnalysis() {
+    PastSnapshot pastSnapshot = new PastSnapshot(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS, new Snapshot()).setTargetDate(new Date());
+    assertThat(pastSnapshot.toString(), startsWith("Compare to previous analysis"));
+  }
+}