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

xuanwo pushed a commit to branch fix-stat
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit c865cfb771af0722a308ec10c47622b9f2c40dc1
Author: Xuanwo <[email protected]>
AuthorDate: Thu Nov 23 02:08:01 2023 +0800

    FIx java
    
    Signed-off-by: Xuanwo <[email protected]>
---
 bindings/java/src/lib.rs                                           | 3 ++-
 bindings/java/src/main/java/org/apache/opendal/Capability.java     | 7 +++++++
 .../java/org/apache/opendal/test/behavior/AsyncCreateDirTest.java  | 1 +
 .../org/apache/opendal/test/behavior/BlockingCreateDirTest.java    | 1 +
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/bindings/java/src/lib.rs b/bindings/java/src/lib.rs
index b3631d14e..fa83f1345 100644
--- a/bindings/java/src/lib.rs
+++ b/bindings/java/src/lib.rs
@@ -153,9 +153,10 @@ fn make_operator_info<'a>(env: &mut JNIEnv<'a>, info: 
OperatorInfo) -> Result<JO
 fn make_capability<'a>(env: &mut JNIEnv<'a>, cap: Capability) -> 
Result<JObject<'a>> {
     let capability = env.new_object(
         "org/apache/opendal/Capability",
-        "(ZZZZZZZZZZZZZZZZZZJJJZZZZZZZZZZZZZZZJZ)V",
+        "(ZZZZZZZZZZZZZZZZZZZJJJZZZZZZZZZZZZZZZJZ)V",
         &[
             JValue::Bool(cap.stat as jboolean),
+            JValue::Bool(cap.stat_dir as jboolean),
             JValue::Bool(cap.stat_with_if_match as jboolean),
             JValue::Bool(cap.stat_with_if_none_match as jboolean),
             JValue::Bool(cap.read as jboolean),
diff --git a/bindings/java/src/main/java/org/apache/opendal/Capability.java 
b/bindings/java/src/main/java/org/apache/opendal/Capability.java
index dfde61276..15bd927ec 100644
--- a/bindings/java/src/main/java/org/apache/opendal/Capability.java
+++ b/bindings/java/src/main/java/org/apache/opendal/Capability.java
@@ -28,6 +28,11 @@ public class Capability {
      */
     public final boolean stat;
 
+    /**
+     *  If operator supports stat dir.
+     */
+    public final boolean statDir;
+
     /**
      * If operator supports stat with if matched.
      */
@@ -218,6 +223,7 @@ public class Capability {
 
     public Capability(
             boolean stat,
+            boolean statDir,
             boolean statWithIfMatch,
             boolean statWithIfNoneMatch,
             boolean read,
@@ -256,6 +262,7 @@ public class Capability {
             long batchMaxOperations,
             boolean blocking) {
         this.stat = stat;
+        this.statDir = statDir;
         this.statWithIfMatch = statWithIfMatch;
         this.statWithIfNoneMatch = statWithIfNoneMatch;
         this.read = read;
diff --git 
a/bindings/java/src/test/java/org/apache/opendal/test/behavior/AsyncCreateDirTest.java
 
b/bindings/java/src/test/java/org/apache/opendal/test/behavior/AsyncCreateDirTest.java
index 6c81bd3a5..affa47b81 100644
--- 
a/bindings/java/src/test/java/org/apache/opendal/test/behavior/AsyncCreateDirTest.java
+++ 
b/bindings/java/src/test/java/org/apache/opendal/test/behavior/AsyncCreateDirTest.java
@@ -34,6 +34,7 @@ class AsyncCreateDirTest extends BehaviorTestBase {
     public void precondition() {
         final Capability capability = op().info.fullCapability;
         assumeTrue(capability.createDir);
+        assumeTrue(capability.statDir);
     }
 
     /**
diff --git 
a/bindings/java/src/test/java/org/apache/opendal/test/behavior/BlockingCreateDirTest.java
 
b/bindings/java/src/test/java/org/apache/opendal/test/behavior/BlockingCreateDirTest.java
index 24bb2fb91..fc10abddd 100644
--- 
a/bindings/java/src/test/java/org/apache/opendal/test/behavior/BlockingCreateDirTest.java
+++ 
b/bindings/java/src/test/java/org/apache/opendal/test/behavior/BlockingCreateDirTest.java
@@ -34,6 +34,7 @@ class BlockingCreateDirTest extends BehaviorTestBase {
     public void precondition() {
         final Capability capability = blockingOp().info.fullCapability;
         assumeTrue(capability.createDir);
+        assumeTrue(capability.statDir);
     }
 
     /**

Reply via email to