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

stevel pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hadoop-api-shim.git

commit 260d8095d77ff02accfa76326710b9f48748c95a
Author: Steve Loughran <ste...@cloudera.com>
AuthorDate: Tue Jan 2 20:31:41 2024 +0000

    more reflection work while doing the parquet integrated binding
---
 .../org/apache/hadoop/fs/shim/impl/FileRangeBridge.java | 10 ++--------
 .../hadoop/fs/shim/impl/ShimReflectionSupport.java      | 17 +++++++++++++++++
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git 
a/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/FileRangeBridge.java
 
b/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/FileRangeBridge.java
index 912c63c..6191554 100644
--- 
a/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/FileRangeBridge.java
+++ 
b/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/FileRangeBridge.java
@@ -63,14 +63,7 @@ public final class FileRangeBridge {
   public FileRangeBridge() {
 
     // try to load the class
-    Class<?> cl;
-    try {
-      cl = this.getClass().getClassLoader().loadClass(CLASSNAME);
-    } catch (ClassNotFoundException e) {
-      LOG.debug("No {}", CLASSNAME);
-      cl = null;
-    }
-    fileRangeInterface = cl;
+    fileRangeInterface = ShimReflectionSupport.loadClass(CLASSNAME);
     // class found, so load the methods
     _getOffset = loadInvocation(fileRangeInterface, long.class, "getOffset");
     _getLength = loadInvocation(fileRangeInterface, int.class, "getLength");
@@ -84,6 +77,7 @@ public final class FileRangeBridge {
 
   }
 
+
   /**
    * Is the bridge available.
    *
diff --git 
a/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/ShimReflectionSupport.java
 
b/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/ShimReflectionSupport.java
index 804dfa6..183a182 100644
--- 
a/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/ShimReflectionSupport.java
+++ 
b/hadoop-api-shim/src/main/java/org/apache/hadoop/fs/shim/impl/ShimReflectionSupport.java
@@ -268,4 +268,21 @@ public final class ShimReflectionSupport {
     }
     return result.toString();
   }
+
+
+  /**
+   * Load a class; return null if it is not found.
+   * @param name classname.
+   * @return the class, if found
+   */
+  public static Class<?> loadClass(final String name) {
+    Class<?> cl;
+    try {
+      cl = ShimReflectionSupport.class.getClassLoader().loadClass(name);
+    } catch (ClassNotFoundException e) {
+      LOG.debug("No {}", name);
+      cl = null;
+    }
+    return cl;
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to