Repository: incubator-beam
Updated Branches:
  refs/heads/master bf8a3cb3a -> 0afadf64f


[BEAM-551] Fix toString for FileBasedSource


Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/36f09c4d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/36f09c4d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/36f09c4d

Branch: refs/heads/master
Commit: 36f09c4d13f76d477e3575d8ee5bbfb1825c69ab
Parents: bf8a3cb
Author: Sam McVeety <s...@google.com>
Authored: Sat Dec 10 15:59:54 2016 -0800
Committer: Davor Bonaci <da...@google.com>
Committed: Sun Dec 11 12:46:02 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/beam/sdk/io/FileBasedSource.java  |  6 ++++--
 .../org/apache/beam/sdk/io/FileBasedSourceTest.java   | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/36f09c4d/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java
----------------------------------------------------------------------
diff --git 
a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java 
b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java
index e0fc6b6..d835f9b 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java
@@ -411,11 +411,13 @@ public abstract class FileBasedSource<T> extends 
OffsetBasedSource<T> {
 
   @Override
   public String toString() {
+    String fileString = fileOrPatternSpec.isAccessible()
+        ? fileOrPatternSpec.get() : fileOrPatternSpec.toString();
     switch (mode) {
       case FILEPATTERN:
-        return fileOrPatternSpec.toString();
+        return fileString;
       case SINGLE_FILE_OR_SUBRANGE:
-        return fileOrPatternSpec.toString() + " range " + super.toString();
+        return fileString + " range " + super.toString();
       default:
         throw new IllegalStateException("Unexpected mode: " + mode);
     }

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/36f09c4d/sdks/java/core/src/test/java/org/apache/beam/sdk/io/FileBasedSourceTest.java
----------------------------------------------------------------------
diff --git 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/FileBasedSourceTest.java 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/FileBasedSourceTest.java
index dde5d02..a065191 100644
--- 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/FileBasedSourceTest.java
+++ 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/FileBasedSourceTest.java
@@ -916,4 +916,18 @@ public class FileBasedSourceTest {
     TestFileBasedSource source = new TestFileBasedSource(file.getPath(), 1, 0, 
file.length(), null);
     assertSplitAtFractionExhaustive(source, options);
   }
+
+  @Test
+  public void testToStringFile() throws Exception {
+    String path = "/tmp/foo";
+    TestFileBasedSource source = new TestFileBasedSource(path, 1, 0, 10, null);
+    assertEquals(String.format("%s range [0, 10)", path), source.toString());
+  }
+
+  @Test
+  public void testToStringPattern() throws Exception {
+    String path = "/tmp/foo/*";
+    TestFileBasedSource source = new TestFileBasedSource(path, 1, 0, 10, null);
+    assertEquals(String.format("%s range [0, 10)", path), source.toString());
+  }
 }

Reply via email to