summaryrefslogtreecommitdiffstats
path: root/sonar-core/src
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2014-12-01 15:36:12 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2014-12-01 15:36:12 +0100
commita2d5e82501f3ed8d96239845842770515f5087e6 (patch)
tree0dd658aedd64653a51d83f398531a0cb12101984 /sonar-core/src
parent344aa4461ce308745c63f6299145a3d8117d6dea (diff)
downloadsonarqube-a2d5e82501f3ed8d96239845842770515f5087e6.tar.gz
sonarqube-a2d5e82501f3ed8d96239845842770515f5087e6.zip
SONAR-5864 API cleanup
* add a proper way to create perspective on InputFile * add a proper way to convert InputFile to resource * deprecate colorizer
Diffstat (limited to 'sonar-core/src')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java19
1 files changed, 19 insertions, 0 deletions
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
index 142f52a4f7c..a3cfb20cdc5 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/ScanPerspectives.java
@@ -22,12 +22,18 @@ package org.sonar.core.component;
import com.google.common.collect.Maps;
import org.sonar.api.BatchComponent;
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, BatchComponent {
@@ -64,6 +70,19 @@ public class ScanPerspectives implements ResourcePerspectives, BatchComponent {
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) {