From 6cc1508a6207bf923da34659722e23e2e5c17599 Mon Sep 17 00:00:00 2001 From: Evgeny Mandrikov Date: Wed, 7 Mar 2012 19:43:04 +0400 Subject: [PATCH] Persist duplications XML measure directly into database --- .../org/sonar/plugins/cpd/DuplicationsData.java | 6 +++++- .../java/org/sonar/plugins/cpd/SonarEngine.java | 14 +++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/DuplicationsData.java b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/DuplicationsData.java index 259993eda33..fc800738a86 100644 --- a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/DuplicationsData.java +++ b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/DuplicationsData.java @@ -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() { diff --git a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java index 961b085bf4f..460fdd10fa0 100644 --- a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java +++ b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java @@ -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 duplications) { -- 2.39.5