]> source.dussan.org Git - sonarqube.git/commitdiff
Persist duplications XML measure directly into database
authorEvgeny Mandrikov <mandrikov@gmail.com>
Wed, 7 Mar 2012 15:43:04 +0000 (19:43 +0400)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Wed, 7 Mar 2012 15:44:04 +0000 (19:44 +0400)
plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/DuplicationsData.java
plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java

index 259993eda3313e2a108841b63b1e7818cf4f076c..fc800738a86fcf32a2948d6c059cc14f7bc616f0 100644 (file)
@@ -24,6 +24,7 @@ import com.google.common.collect.Sets;
 import org.sonar.api.batch.SensorContext;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.api.measures.Measure;
+import org.sonar.api.measures.PersistenceMode;
 import org.sonar.api.resources.Resource;
 
 import java.util.Collections;
@@ -58,7 +59,10 @@ public class DuplicationsData {
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_FILES, 1d);
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_LINES, (double) duplicatedLines.size());
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_BLOCKS, duplicatedBlocks);
-    context.saveMeasure(resource, new Measure(CoreMetrics.DUPLICATIONS_DATA, getDuplicationXMLData()));
+
+    Measure data = new Measure(CoreMetrics.DUPLICATIONS_DATA, getDuplicationXMLData())
+        .setPersistenceMode(PersistenceMode.DATABASE);
+    context.saveMeasure(resource, data);
   }
 
   private String getDuplicationXMLData() {
index 961b085bf4f080db0da2ea6670d7ad5eb8db415c..460fdd10fa0988ce00252d3efaee40704705a2e8 100644 (file)
@@ -27,6 +27,7 @@ import org.sonar.api.batch.SensorContext;
 import org.sonar.api.database.model.ResourceModel;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.api.measures.Measure;
+import org.sonar.api.measures.PersistenceMode;
 import org.sonar.api.resources.*;
 import org.sonar.api.utils.SonarException;
 import org.sonar.duplications.block.Block;
@@ -79,10 +80,10 @@ public class SonarEngine extends CpdEngine {
 
   static String getFullKey(Project project, Resource resource) {
     return new StringBuilder(ResourceModel.KEY_SIZE)
-      .append(project.getKey())
-      .append(':')
-      .append(resource.getKey())
-      .toString();
+        .append(project.getKey())
+        .append(':')
+        .append(resource.getKey())
+        .toString();
   }
 
   @Override
@@ -195,7 +196,10 @@ public class SonarEngine extends CpdEngine {
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_FILES, 1.0);
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_LINES, (double) duplicatedLines.size());
     context.saveMeasure(resource, CoreMetrics.DUPLICATED_BLOCKS, duplicatedBlocks);
-    context.saveMeasure(resource, new Measure(CoreMetrics.DUPLICATIONS_DATA, toXml(duplications)));
+
+    Measure data = new Measure(CoreMetrics.DUPLICATIONS_DATA, toXml(duplications))
+        .setPersistenceMode(PersistenceMode.DATABASE);
+    context.saveMeasure(resource, data);
   }
 
   private static String toXml(Iterable<CloneGroup> duplications) {