diff options
Diffstat (limited to 'plugins')
4 files changed, 16 insertions, 15 deletions
diff --git a/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaMavenInitializer.java b/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaMavenInitializer.java index 2beee5755aa..d2b1c2298c0 100644 --- a/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaMavenInitializer.java +++ b/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaMavenInitializer.java @@ -26,6 +26,7 @@ import org.sonar.api.batch.Initializer; import org.sonar.api.batch.maven.DependsUponMavenPlugin; import org.sonar.api.batch.maven.MavenPlugin; import org.sonar.api.batch.maven.MavenPluginHandler; +import org.sonar.api.resources.Java; import org.sonar.api.resources.Project; import org.sonar.plugins.cobertura.api.CoberturaUtils; @@ -51,7 +52,7 @@ public class CoberturaMavenInitializer extends Initializer implements CoverageEx @Override public boolean shouldExecuteOnProject(Project project) { return project.getAnalysisType().isDynamic(true) && - project.getFileSystem().hasJavaSourceFiles(); + !project.getFileSystem().mainFiles(Java.KEY).isEmpty(); } @Override diff --git a/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaSensor.java b/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaSensor.java index 6c629f15afd..11ec1de43a3 100644 --- a/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaSensor.java +++ b/plugins/sonar-cobertura-plugin/src/main/java/org/sonar/plugins/cobertura/CoberturaSensor.java @@ -24,10 +24,10 @@ import org.sonar.api.CoreProperties; import org.sonar.api.batch.CoverageExtension; import org.sonar.api.batch.Sensor; import org.sonar.api.batch.SensorContext; +import org.sonar.api.resources.Java; import org.sonar.api.resources.JavaFile; import org.sonar.api.resources.Project; import org.sonar.api.resources.Resource; -import org.sonar.api.utils.Logs; import org.sonar.plugins.cobertura.api.AbstractCoberturaParser; import java.io.File; @@ -35,7 +35,7 @@ import java.io.File; public class CoberturaSensor implements Sensor, CoverageExtension { public boolean shouldExecuteOnProject(Project project) { - return project.getFileSystem().hasJavaSourceFiles(); + return !project.getFileSystem().mainFiles(Java.KEY).isEmpty(); } public void analyse(Project project, SensorContext context) { diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/ViolationTrackingBlocksRecognizer.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/ViolationTrackingBlocksRecognizer.java index 7193c6b940d..5aa12eb2566 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/ViolationTrackingBlocksRecognizer.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/ViolationTrackingBlocksRecognizer.java @@ -35,20 +35,11 @@ public class ViolationTrackingBlocksRecognizer { } private ViolationTrackingBlocksRecognizer(StringText a, StringText b, StringTextComparator cmp) { - this.a = wrap(a, cmp); - this.b = wrap(b, cmp); + this.a = HashedSequence.wrap(a, cmp); + this.b = HashedSequence.wrap(b, cmp); this.cmp = new HashedSequenceComparator<StringText>(cmp); } - private static HashedSequence<StringText> wrap(StringText seq, StringTextComparator cmp) { - int size = seq.length(); - int[] hashes = new int[size]; - for (int i = 0; i < size; i++) { - hashes[i] = cmp.hash(seq, i); - } - return new HashedSequence<StringText>(seq, hashes); - } - public int computeLengthOfMaximalBlock(int startA, int startB) { if (!cmp.equals(a, startA, b, startB)) { return 0; diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/tracking/HashedSequence.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/tracking/HashedSequence.java index 332d6d32456..65647f243e3 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/tracking/HashedSequence.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/tracking/HashedSequence.java @@ -27,7 +27,16 @@ public class HashedSequence<S extends Sequence> implements Sequence { final S base; final int[] hashes; - public HashedSequence(S base, int[] hashes) { + public static <S extends Sequence> HashedSequence<S> wrap(S base, SequenceComparator<S> cmp) { + int size = base.length(); + int[] hashes = new int[size]; + for (int i = 0; i < size; i++) { + hashes[i] = cmp.hash(base, i); + } + return new HashedSequence<S>(base, hashes); + } + + private HashedSequence(S base, int[] hashes) { this.base = base; this.hashes = hashes; } |