diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-03-30 09:29:50 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-03-31 21:42:42 +0200 |
commit | be05689a5f84c433a2893ec1707bb40ecc37668d (patch) | |
tree | 8e3b673e21eaf4f68d13279ea50ebf26f953ce98 /sonar-core/src | |
parent | 22ae199fb6c1e162ccf5be8e45794ab00c85ddbb (diff) | |
download | sonarqube-be05689a5f84c433a2893ec1707bb40ecc37668d.tar.gz sonarqube-be05689a5f84c433a2893ec1707bb40ecc37668d.zip |
SONAR-6319 SONAR-6321 Feed highlighting and symbols in compute report
Diffstat (limited to 'sonar-core/src')
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; } }; |