diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-06 11:37:19 +0200 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-06 11:37:19 +0200 |
commit | a6cbd7bf8ff033c493158c54fc54a12844b39729 (patch) | |
tree | a2fb4f695440c30f062fd3be597cc1bf0b9da958 /sonar-batch | |
parent | c6999241df2f34d82c8ba476489a469ca6b61c5a (diff) | |
download | sonarqube-a6cbd7bf8ff033c493158c54fc54a12844b39729.tar.gz sonarqube-a6cbd7bf8ff033c493158c54fc54a12844b39729.zip |
SONAR-3644 Break compatibility with plugin configuration
Use relative paths rather than component keys for filter definition
Add utility to compute component key based on underlying file path
Enhance coverage and compliance
Diffstat (limited to 'sonar-batch')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java | 39 | ||||
-rw-r--r-- | sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java | 12 |
2 files changed, 21 insertions, 30 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java index 308b9f02eb5..caa4a98b0b2 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java @@ -28,11 +28,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.api.batch.Event; import org.sonar.api.batch.SonarIndex; -import org.sonar.api.database.model.ResourceModel; import org.sonar.api.database.model.Snapshot; import org.sonar.api.design.Dependency; -import org.sonar.api.measures.*; -import org.sonar.api.resources.*; +import org.sonar.api.measures.Measure; +import org.sonar.api.measures.MeasuresFilter; +import org.sonar.api.measures.MeasuresFilters; +import org.sonar.api.measures.Metric; +import org.sonar.api.measures.MetricFinder; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.ProjectLink; +import org.sonar.api.resources.Qualifiers; +import org.sonar.api.resources.Resource; +import org.sonar.api.resources.ResourceUtils; +import org.sonar.api.resources.Scopes; import org.sonar.api.rules.Rule; import org.sonar.api.rules.Violation; import org.sonar.api.utils.SonarException; @@ -42,9 +50,17 @@ import org.sonar.batch.ProjectTree; import org.sonar.batch.ResourceFilters; import org.sonar.batch.issue.DeprecatedViolations; import org.sonar.batch.issue.ScanIssues; +import org.sonar.core.component.ComponentKeys; import org.sonar.core.component.ScanGraph; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; public class DefaultIndex extends SonarIndex { @@ -444,19 +460,6 @@ public class DefaultIndex extends SonarIndex { return null; } - static String createUID(Project project, Resource resource) { - String uid = resource.getKey(); - if (!StringUtils.equals(Scopes.PROJECT, resource.getScope())) { - // not a project nor a library - uid = new StringBuilder(ResourceModel.KEY_SIZE) - .append(project.getKey()) - .append(':') - .append(resource.getKey()) - .toString(); - } - return uid; - } - private boolean checkExclusion(Resource resource, Bucket parent) { boolean excluded = (parent != null && parent.isExcluded()) || (resourceFilters != null && resourceFilters.isExcluded(resource)); resource.setExcluded(excluded); @@ -529,7 +532,7 @@ public class DefaultIndex extends SonarIndex { return null; } - resource.setEffectiveKey(createUID(currentProject, resource)); + resource.setEffectiveKey(ComponentKeys.createKey(currentProject, resource)); bucket = new Bucket(resource).setParent(parentBucket); buckets.put(resource, bucket); diff --git a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java index be5cc3c4540..e3f2e17300a 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultIndexTest.java @@ -82,18 +82,6 @@ public class DefaultIndexTest { } @Test - public void shouldCreateUID() { - Project project = new Project("my_project"); - assertThat(DefaultIndex.createUID(project, project)).isEqualTo("my_project"); - - JavaPackage javaPackage = new JavaPackage("org.foo"); - assertThat(DefaultIndex.createUID(project, javaPackage)).isEqualTo("my_project:org.foo"); - - Library library = new Library("junit:junit", "4.7"); - assertThat(DefaultIndex.createUID(project, library)).isEqualTo("junit:junit"); - } - - @Test public void shouldIndexParentOfDeprecatedFiles() { File file = new File("org/foo/Bar.java"); assertThat(index.index(file)).isTrue(); |