diff options
author | Julien Lancelot <julien.lancelot@gmail.com> | 2013-01-31 15:38:17 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-01-31 15:38:55 +0100 |
commit | 5780fbec1b757a9afbaa3c8ba88e591d6b9534d6 (patch) | |
tree | 46ce512b91fcd633b1ce3f73737a15df66914ce8 /sonar-core | |
parent | 5db8b24b6d7b676b1b66f34ae5ac858bb7e6822b (diff) | |
download | sonarqube-5780fbec1b757a9afbaa3c8ba88e591d6b9534d6.tar.gz sonarqube-5780fbec1b757a9afbaa3c8ba88e591d6b9534d6.zip |
SONAR-4092 SONAR-4093
SONAR-4093 From a covered line of code provide the ability to retrieve the unit tests covering this line
SONAR-4092 From a unit test allow to access to the lines covered by this unit test
Diffstat (limited to 'sonar-core')
4 files changed, 18 insertions, 6 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/component/ComponentVertex.java b/sonar-core/src/main/java/org/sonar/core/component/ComponentVertex.java index 0228b569e40..16e6dc46c19 100644 --- a/sonar-core/src/main/java/org/sonar/core/component/ComponentVertex.java +++ b/sonar-core/src/main/java/org/sonar/core/component/ComponentVertex.java @@ -32,6 +32,10 @@ public class ComponentVertex extends BeanVertex implements Component { return (String) getProperty("name"); } + public String longName() { + return (String) getProperty("longName"); + } + public String qualifier() { return (String) getProperty("qualifier"); } @@ -39,6 +43,7 @@ public class ComponentVertex extends BeanVertex implements Component { void copyFrom(Component component) { setProperty("key", component.key()); setProperty("name", component.name()); + setProperty("longName", component.longName()); setProperty("qualifier", component.qualifier()); if (component instanceof ResourceComponent) { setProperty("sid", ((ResourceComponent) component).snapshotId()); diff --git a/sonar-core/src/main/java/org/sonar/core/component/ResourceComponent.java b/sonar-core/src/main/java/org/sonar/core/component/ResourceComponent.java index b519d7a922d..15063473161 100644 --- a/sonar-core/src/main/java/org/sonar/core/component/ResourceComponent.java +++ b/sonar-core/src/main/java/org/sonar/core/component/ResourceComponent.java @@ -28,6 +28,7 @@ import javax.annotation.Nullable; class ResourceComponent implements Component { private String key; private String name; + private String longName; private String qualifier; private Long snapshotId; private Long resourceId; @@ -35,6 +36,7 @@ class ResourceComponent implements Component { ResourceComponent(Resource resource, @Nullable Snapshot snapshot) { this.key = resource.getEffectiveKey(); this.name = resource.getName(); + this.longName = resource.getLongName(); this.qualifier = resource.getQualifier(); if (snapshot != null && snapshot.getId() != null) { this.snapshotId = snapshot.getId().longValue(); @@ -54,6 +56,11 @@ class ResourceComponent implements Component { return name; } + public String longName() { + return longName; + } + + public String qualifier() { return qualifier; } diff --git a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestCase.java b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestCase.java index e87695d5c7a..b602e725a2c 100644 --- a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestCase.java +++ b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestCase.java @@ -22,10 +22,10 @@ package org.sonar.core.test; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.blueprints.Edge; import com.tinkerpop.blueprints.Vertex; -import org.sonar.api.test.exception.IllegalDurationException; import org.sonar.api.test.MutableTestCase; import org.sonar.api.test.TestPlan; import org.sonar.api.test.Testable; +import org.sonar.api.test.exception.IllegalDurationException; import org.sonar.core.graph.BeanVertex; import org.sonar.core.graph.GraphUtil; diff --git a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java index d927f9db7f5..ca5244ad7af 100644 --- a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java +++ b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java @@ -44,7 +44,7 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { public List<TestCase> testCases() { ImmutableList.Builder<TestCase> cases = ImmutableList.builder(); - for (Edge coversEdge : getCovers()) { + for (Edge coversEdge : covers()) { Vertex testable = coversEdge.getVertex(Direction.OUT); cases.add(beanGraph().wrap(testable, DefaultTestCase.class)); } @@ -54,7 +54,7 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { public int countTestCasesOfLine(int line) { int number = 0; // TODO filter on edge - for (Edge edge : getCovers()) { + for (Edge edge : covers()) { if (Iterables.contains(lines(edge), line)) { number++; } @@ -64,7 +64,7 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { public List<TestCase> testCasesOfLine(int line) { ImmutableList.Builder<TestCase> cases = ImmutableList.builder(); - for (Edge edge : getCovers()) { + for (Edge edge : covers()) { if (lines(edge).contains(line)) { Vertex vertexTestable = edge.getVertex(Direction.OUT); DefaultTestCase testCase = beanGraph().wrap(vertexTestable, DefaultTestCase.class); @@ -76,13 +76,13 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { public SortedSet<Integer> testedLines() { ImmutableSortedSet.Builder<Integer> coveredLines = ImmutableSortedSet.naturalOrder(); - for (Edge edge : getCovers()) { + for (Edge edge : covers()) { coveredLines.addAll(lines(edge)); } return coveredLines.build(); } - private Iterable<Edge> getCovers() { + private Iterable<Edge> covers() { return element().getEdges(Direction.IN, "covers"); } |