aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2015-03-30 09:29:50 +0200
committerJulien HENRY <julien.henry@sonarsource.com>2015-03-31 21:42:42 +0200
commitbe05689a5f84c433a2893ec1707bb40ecc37668d (patch)
tree8e3b673e21eaf4f68d13279ea50ebf26f953ce98 /sonar-core/src
parent22ae199fb6c1e162ccf5be8e45794ab00c85ddbb (diff)
downloadsonarqube-be05689a5f84c433a2893ec1707bb40ecc37668d.tar.gz
sonarqube-be05689a5f84c433a2893ec1707bb40ecc37668d.zip
SONAR-6319 SONAR-6321 Feed highlighting and symbols in compute report
Diffstat (limited to 'sonar-core/src')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/GraphPerspectiveBuilder.java6
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java93
-rw-r--r--sonar-core/src/test/java/org/sonar/core/component/PerspectiveBuilderTest.java2
4 files changed, 6 insertions, 99 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/component/GraphPerspectiveBuilder.java b/sonar-core/src/main/java/org/sonar/core/component/GraphPerspectiveBuilder.java
index df2199c7103..5668a840d69 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/GraphPerspectiveBuilder.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/GraphPerspectiveBuilder.java
@@ -30,7 +30,7 @@ public abstract class GraphPerspectiveBuilder<T extends Perspective> extends Per
protected final GraphPerspectiveLoader<T> perspectiveLoader;
protected GraphPerspectiveBuilder(ScanGraph graph, Class<T> perspectiveClass, EdgePath path,
- GraphPerspectiveLoader<T> perspectiveLoader) {
+ GraphPerspectiveLoader<T> perspectiveLoader) {
super(perspectiveClass);
this.graph = graph;
this.path = path;
@@ -39,7 +39,7 @@ public abstract class GraphPerspectiveBuilder<T extends Perspective> extends Per
public T create(ComponentVertex component) {
return (T) component.beanGraph().createAdjacentVertex(component, perspectiveLoader.getBeanClass(),
- perspectiveLoader.getPerspectiveKey());
+ perspectiveLoader.getPerspectiveKey());
}
public EdgePath path() {
@@ -51,7 +51,7 @@ public abstract class GraphPerspectiveBuilder<T extends Perspective> extends Per
}
@Override
- protected T loadPerspective(Class<T> perspectiveClass, Component component) {
+ public T loadPerspective(Class<T> perspectiveClass, Component component) {
ComponentVertex vertex;
if (component instanceof ComponentVertex) {
vertex = (ComponentVertex) component;
diff --git a/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java b/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
index 5b69ebaf05d..31f9c323d61 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/PerspectiveBuilder.java
@@ -34,10 +34,10 @@ public abstract class PerspectiveBuilder<T extends Perspective> implements Batch
this.perspectiveClass = perspectiveClass;
}
- protected Class<T> getPerspectiveClass() {
+ public Class<T> getPerspectiveClass() {
return perspectiveClass;
}
@CheckForNull
- protected abstract T loadPerspective(Class<T> perspectiveClass, Component component);
+ public abstract T loadPerspective(Class<T> perspectiveClass, Component component);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java b/sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java
deleted file mode 100644
index 09cf4c72b54..00000000000
--- a/sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.core.component;
-
-import com.google.common.collect.Maps;
-import org.sonar.api.batch.SonarIndex;
-import org.sonar.api.batch.fs.InputDir;
-import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.fs.InputPath;
-import org.sonar.api.component.Component;
-import org.sonar.api.component.Perspective;
-import org.sonar.api.component.ResourcePerspectives;
-import org.sonar.api.resources.Directory;
-import org.sonar.api.resources.File;
-import org.sonar.api.resources.Resource;
-
-import javax.annotation.CheckForNull;
-import java.util.Map;
-
-public class ScanPerspectives implements ResourcePerspectives {
-
- private final Map<Class<?>, PerspectiveBuilder<?>> builders = Maps.newHashMap();
- private final SonarIndex resourceIndex;
-
- public ScanPerspectives(PerspectiveBuilder[] builders, SonarIndex resourceIndex) {
- this.resourceIndex = resourceIndex;
- for (PerspectiveBuilder builder : builders) {
- // TODO check duplications
- this.builders.put(builder.getPerspectiveClass(), builder);
- }
- }
-
- @Override
- @CheckForNull
- public <P extends Perspective> P as(Class<P> perspectiveClass, Component component) {
- if (component.key() == null) {
- return null;
- }
- PerspectiveBuilder<P> builder = builderFor(perspectiveClass);
- return builder.loadPerspective(perspectiveClass, component);
- }
-
- @Override
- @CheckForNull
- public <P extends Perspective> P as(Class<P> perspectiveClass, Resource resource) {
- Resource indexedResource = resource;
- if (resource.getEffectiveKey() == null) {
- indexedResource = resourceIndex.getResource(resource);
- }
- if (indexedResource != null) {
- return as(perspectiveClass, new ResourceComponent(indexedResource));
- }
- return null;
- }
-
- @Override
- public <P extends Perspective> P as(Class<P> perspectiveClass, InputPath inputPath) {
- Resource r;
- if (inputPath instanceof InputDir) {
- r = Directory.create(((InputDir) inputPath).relativePath());
- } else if (inputPath instanceof InputFile) {
- r = File.create(((InputFile) inputPath).relativePath());
- } else {
- throw new IllegalArgumentException("Unknow input path type: " + inputPath);
- }
- return as(perspectiveClass, r);
- }
-
- private <T extends Perspective> PerspectiveBuilder<T> builderFor(Class<T> clazz) {
- PerspectiveBuilder<T> builder = (PerspectiveBuilder<T>) builders.get(clazz);
- if (builder == null) {
- throw new PerspectiveNotFoundException("Perspective class is not registered: " + clazz);
- }
- return builder;
- }
-}
diff --git a/sonar-core/src/test/java/org/sonar/core/component/PerspectiveBuilderTest.java b/sonar-core/src/test/java/org/sonar/core/component/PerspectiveBuilderTest.java
index 4275f2c63d9..d3bb10520d5 100644
--- a/sonar-core/src/test/java/org/sonar/core/component/PerspectiveBuilderTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/component/PerspectiveBuilderTest.java
@@ -30,7 +30,7 @@ public class PerspectiveBuilderTest {
public void testGetPerspectiveClass() throws Exception {
PerspectiveBuilder<FakePerspective> builder = new PerspectiveBuilder<FakePerspective>(FakePerspective.class) {
@Override
- protected FakePerspective loadPerspective(Class<FakePerspective> perspectiveClass, Component component) {
+ public FakePerspective loadPerspective(Class<FakePerspective> perspectiveClass, Component component) {
return null;
}
};