You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2019/06/29 14:15:59 UTC

[incubator-iceberg] branch master updated: Add exists method to InputFile (#242)

This is an automated email from the ASF dual-hosted git repository.

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new 1e88707  Add exists method to InputFile (#242)
1e88707 is described below

commit 1e887077b0db0e018ed29ac3c7db0fce498cbd1e
Author: Samarth Jain <sa...@apache.org>
AuthorDate: Sat Jun 29 07:15:55 2019 -0700

    Add exists method to InputFile (#242)
---
 api/src/main/java/org/apache/iceberg/Files.java                  | 5 +++++
 api/src/main/java/org/apache/iceberg/io/InputFile.java           | 7 +++++++
 .../src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java | 9 +++++++++
 3 files changed, 21 insertions(+)

diff --git a/api/src/main/java/org/apache/iceberg/Files.java b/api/src/main/java/org/apache/iceberg/Files.java
index becf1e3..4e570ad 100644
--- a/api/src/main/java/org/apache/iceberg/Files.java
+++ b/api/src/main/java/org/apache/iceberg/Files.java
@@ -134,6 +134,11 @@ public class Files {
     }
 
     @Override
+    public boolean exists() {
+      return file.exists();
+    }
+
+    @Override
     public String toString() {
       return location();
     }
diff --git a/api/src/main/java/org/apache/iceberg/io/InputFile.java b/api/src/main/java/org/apache/iceberg/io/InputFile.java
index b576155..7d21f73 100644
--- a/api/src/main/java/org/apache/iceberg/io/InputFile.java
+++ b/api/src/main/java/org/apache/iceberg/io/InputFile.java
@@ -48,4 +48,11 @@ public interface InputFile {
    * @return the input file location
    */
   String location();
+
+  /**
+   * Checks whether the file exists.
+   *
+   * @return true if the file exists, false otherwise
+   */
+  boolean exists();
 }
diff --git a/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java b/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java
index 9f18bd7..df745ca 100644
--- a/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java
+++ b/core/src/main/java/org/apache/iceberg/hadoop/HadoopInputFile.java
@@ -142,6 +142,15 @@ public class HadoopInputFile implements InputFile {
   }
 
   @Override
+  public boolean exists() {
+    try {
+      return fs.exists(path);
+    } catch (IOException e) {
+      throw new RuntimeIOException(e, "Failed to check existence for file: %s", path);
+    }
+  }
+
+  @Override
   public String toString() {
     return path.toString();
   }