]> source.dussan.org Git - sonarqube.git/commitdiff
exclude library snapshots from timemachine services
authorsimonbrandhof <simon.brandhof@gmail.com>
Tue, 4 Jan 2011 12:51:27 +0000 (12:51 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Tue, 4 Jan 2011 12:51:27 +0000 (12:51 +0000)
sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinderByDate.java
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinderByDays.java
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinderByPreviousAnalysis.java
sonar-batch/src/main/java/org/sonar/batch/components/PastSnapshotFinderByVersion.java

index 8c22431ce838b04860308cb4834699f3aa7e3aec..a88afd1d37a672cb844e556e597137719c3027d2 100644 (file)
@@ -29,6 +29,7 @@ import org.sonar.api.database.model.Snapshot;
 import org.sonar.api.measures.Measure;
 import org.sonar.api.measures.Metric;
 import org.sonar.api.measures.MetricFinder;
+import org.sonar.api.resources.Project;
 import org.sonar.api.resources.Resource;
 import org.sonar.batch.index.DefaultIndex;
 
@@ -88,9 +89,10 @@ public class DefaultTimeMachine implements TimeMachine {
     } else {
       sb.append("SELECT s.createdAt, m.metricId, m.value ");
     }
-    sb.append(" FROM " + MeasureModel.class.getSimpleName() + " m, " + Snapshot.class.getSimpleName() + " s WHERE m.snapshotId=s.id AND s.resourceId=:resourceId AND s.status=:status AND m.characteristic IS NULL ");
+    sb.append(" FROM " + MeasureModel.class.getSimpleName() + " m, " + Snapshot.class.getSimpleName() + " s WHERE m.snapshotId=s.id AND s.resourceId=:resourceId AND s.status=:status AND m.characteristic IS NULL AND s.qualifier<>:lib");
     params.put("resourceId", resource.getId());
     params.put("status", Snapshot.STATUS_PROCESSED);
+    params.put("lib", Project.QUALIFIER_LIB);
 
     sb.append(" AND m.ruleId IS NULL AND m.rulePriority IS NULL ");
     if (!metricIds.isEmpty()) {
index 75ef31b9084b4541eb0a5e7ae160abd7fec6b814..f627cfdcd4214dd1bc863f9566c8f2d14da46e42 100644 (file)
@@ -22,6 +22,7 @@ package org.sonar.batch.components;
 import org.sonar.api.BatchExtension;
 import org.sonar.api.database.DatabaseSession;
 import org.sonar.api.database.model.Snapshot;
+import org.sonar.api.resources.Project;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -38,11 +39,12 @@ public class PastSnapshotFinderByDate implements BatchExtension {
   }
 
   PastSnapshot findByDate(Snapshot projectSnapshot, Date date) {
-    String hql = "from " + Snapshot.class.getSimpleName() + " where createdAt>=:date AND resourceId=:resourceId AND status=:status order by createdAt asc";
+    String hql = "from " + Snapshot.class.getSimpleName() + " where createdAt>=:date AND resourceId=:resourceId AND status=:status AND qualifier<>:lib order by createdAt asc";
     List<Snapshot> snapshots = session.createQuery(hql)
         .setParameter("date", date)
         .setParameter("resourceId", projectSnapshot.getResourceId())
         .setParameter("status", Snapshot.STATUS_PROCESSED)
+        .setParameter("lib", Project.QUALIFIER_LIB)
         .setMaxResults(1)
         .getResultList();
     if (snapshots.isEmpty()) {
index 3ab57983339f99aec08a2a95fecd4e45ae979c65..20cd4bd0a6a311153130aa3af823f9b835d5acd5 100644 (file)
@@ -23,6 +23,7 @@ import org.apache.commons.lang.time.DateUtils;
 import org.sonar.api.BatchExtension;
 import org.sonar.api.database.DatabaseSession;
 import org.sonar.api.database.model.Snapshot;
+import org.sonar.api.resources.Project;
 
 import java.util.Date;
 import java.util.List;
@@ -39,11 +40,12 @@ public class PastSnapshotFinderByDays implements BatchExtension {
 
   PastSnapshot findFromDays(Snapshot projectSnapshot, int days) {
     Date targetDate = DateUtils.addDays(projectSnapshot.getCreatedAt(), -days);
-    String hql = "from " + Snapshot.class.getSimpleName() + " where resourceId=:resourceId AND status=:status AND createdAt<:date order by createdAt asc";
+    String hql = "from " + Snapshot.class.getSimpleName() + " where resourceId=:resourceId AND status=:status AND createdAt<:date AND qualifier<>:lib order by createdAt asc";
     List<Snapshot> snapshots = session.createQuery(hql)
         .setParameter("date", projectSnapshot.getCreatedAt())
         .setParameter("resourceId", projectSnapshot.getResourceId())
         .setParameter("status", Snapshot.STATUS_PROCESSED)
+        .setParameter("lib", Project.QUALIFIER_LIB)
         .getResultList();
 
     if (snapshots.isEmpty()) {
index 55dda549bbc9635d96e0e8080038903ef6fe209a..85acf01d449ad912ca08d8f252a4172e12559012 100644 (file)
@@ -23,6 +23,7 @@ import org.sonar.api.BatchExtension;
 import org.sonar.api.CoreProperties;
 import org.sonar.api.database.DatabaseSession;
 import org.sonar.api.database.model.Snapshot;
+import org.sonar.api.resources.Project;
 
 import java.text.SimpleDateFormat;
 import java.util.List;
@@ -36,11 +37,13 @@ public class PastSnapshotFinderByPreviousAnalysis implements BatchExtension {
   }
 
   PastSnapshot findByPreviousAnalysis(Snapshot projectSnapshot) {
-    String hql = "from " + Snapshot.class.getSimpleName() + " where createdAt<:date AND resourceId=:resourceId AND status=:status and last=true order by createdAt desc";
+    String hql = "from " + Snapshot.class.getSimpleName() + " where createdAt<:date AND resourceId=:resourceId AND status=:status and last=:last and qualifier<>:lib order by createdAt desc";
     List<Snapshot> snapshots = session.createQuery(hql)
         .setParameter("date", projectSnapshot.getCreatedAt())
         .setParameter("resourceId", projectSnapshot.getResourceId())
         .setParameter("status", Snapshot.STATUS_PROCESSED)
+        .setParameter("last", true)
+        .setParameter("lib", Project.QUALIFIER_LIB)
         .setMaxResults(1)
         .getResultList();
 
index cd360d2b1257c5e533e93ef41c0574e236629f09..34eafc5a2b48b322d5275ba4a35a6efa947e10c9 100644 (file)
@@ -22,6 +22,7 @@ package org.sonar.batch.components;
 import org.sonar.api.BatchExtension;
 import org.sonar.api.database.DatabaseSession;
 import org.sonar.api.database.model.Snapshot;
+import org.sonar.api.resources.Project;
 
 import java.util.List;
 
@@ -36,11 +37,12 @@ public class PastSnapshotFinderByVersion implements BatchExtension {
   }
 
   PastSnapshot findByVersion(Snapshot projectSnapshot, String version) {
-    String hql = "from " + Snapshot.class.getSimpleName() + " where version=:version AND resourceId=:resourceId AND status=:status order by createdAt desc";
+    String hql = "from " + Snapshot.class.getSimpleName() + " where version=:version AND resourceId=:resourceId AND status=:status AND qualifier<>:lib order by createdAt desc";
     List<Snapshot> snapshots = session.createQuery(hql)
         .setParameter("version", version)
         .setParameter("resourceId", projectSnapshot.getResourceId())
         .setParameter("status", Snapshot.STATUS_PROCESSED)
+        .setParameter("lib", Project.QUALIFIER_LIB)
         .setMaxResults(1)
         .getResultList();