]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6548 Restore support of deprecated org.sonar.api.resources.InputFile
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 13 May 2015 16:01:43 +0000 (18:01 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Wed, 13 May 2015 16:08:23 +0000 (18:08 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultInputFile.java
sonar-plugin-api/src/test/java/org/sonar/api/batch/fs/internal/DefaultInputFileTest.java

index 62f96db4ff9461589e196e808652af35e1743f82..5cea4cad69dcf8574f0b6edbb11182bbb8980859 100644 (file)
@@ -29,7 +29,11 @@ import org.sonar.api.utils.PathUtils;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 
+import java.io.BufferedInputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
 import java.nio.charset.Charset;
 import java.nio.file.Path;
 import java.util.Arrays;
@@ -37,11 +41,11 @@ import java.util.Arrays;
 /**
  * @since 4.2
  */
-public class DefaultInputFile implements InputFile {
+public class DefaultInputFile implements InputFile, org.sonar.api.resources.InputFile {
 
   private final String relativePath;
   private final String moduleKey;
-  protected Path moduleBaseDir;
+  private Path moduleBaseDir;
   private String language;
   private Type type = Type.MAIN;
   private Status status;
@@ -288,4 +292,24 @@ public class DefaultInputFile implements InputFile {
     return "[moduleKey=" + moduleKey + ", relative=" + relativePath + ", basedir=" + moduleBaseDir + "]";
   }
 
+  @Override
+  public File getFileBaseDir() {
+    return moduleBaseDir.toFile();
+  }
+
+  @Override
+  public File getFile() {
+    return file();
+  }
+
+  @Override
+  public String getRelativePath() {
+    return relativePath();
+  }
+
+  @Override
+  public InputStream getInputStream() throws FileNotFoundException {
+    return new BufferedInputStream(new FileInputStream(file()));
+  }
+
 }
index 3e3339bf63d0c7e9a1c97084a3a10dc922081aa6..596662d861a33b3ee22628eaa2d333222ceff75b 100644 (file)
@@ -25,6 +25,7 @@ import org.junit.rules.TemporaryFolder;
 import org.sonar.api.batch.fs.InputFile;
 
 import java.io.File;
+import java.nio.file.Path;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.fail;
@@ -36,14 +37,17 @@ public class DefaultInputFileTest {
 
   @Test
   public void test() throws Exception {
+    Path baseDir = temp.newFolder().toPath();
     DefaultInputFile inputFile = new DefaultInputFile("ABCDE", "src/Foo.php")
-      .setModuleBaseDir(temp.newFolder().toPath())
+      .setModuleBaseDir(baseDir)
       .setLines(42)
       .setLanguage("php")
       .setStatus(InputFile.Status.ADDED)
       .setType(InputFile.Type.TEST);
 
     assertThat(inputFile.relativePath()).isEqualTo("src/Foo.php");
+    assertThat(inputFile.getRelativePath()).isEqualTo("src/Foo.php");
+    assertThat(inputFile.getFile()).isEqualTo(new File(baseDir.toFile(), "src/Foo.php"));
     assertThat(new File(inputFile.relativePath())).isRelative();
     assertThat(inputFile.absolutePath()).endsWith("Foo.php");
     assertThat(new File(inputFile.absolutePath())).isAbsolute();