Skip to content

Commit

Permalink
SONAR-6548 Restore support of deprecated org.sonar.api.resources.Inpu…
Browse files Browse the repository at this point in the history
…tFile
  • Loading branch information
henryju committed May 13, 2015
1 parent aaf1d2f commit 685f611
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
Expand Up @@ -29,19 +29,23 @@
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;

/**
* @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;
Expand Down Expand Up @@ -288,4 +292,24 @@ public String toString() {
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()));
}

}
Expand Up @@ -25,6 +25,7 @@
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;
Expand All @@ -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();
Expand Down

0 comments on commit 685f611

Please sign in to comment.