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

spricoder pushed a commit to branch object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/object_type by this push:
     new cb9ea5056b6 Add VirtualFilePath and Path Generation
cb9ea5056b6 is described below

commit cb9ea5056b63e76968e670fdc1b45c4afa0d7c28
Author: spricoder <[email protected]>
AuthorDate: Thu Jul 10 22:10:04 2025 +0800

    Add VirtualFilePath and Path Generation
---
 iotdb-client/service-rpc/pom.xml                   |  5 -----
 .../rpc/model/CompressedTiffModelProcessor.java    | 25 ++++++++++++++++------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/iotdb-client/service-rpc/pom.xml b/iotdb-client/service-rpc/pom.xml
index 17c52de5d91..a675709da36 100644
--- a/iotdb-client/service-rpc/pom.xml
+++ b/iotdb-client/service-rpc/pom.xml
@@ -94,11 +94,6 @@
             <artifactId>gdal</artifactId>
             <version>3.11.0</version>
         </dependency>
-        <dependency>
-            <groupId>org.gdal</groupId>
-            <artifactId>vsi</artifactId>
-            <version>1.0</version>
-        </dependency>
     </dependencies>
     <build>
         <plugins>
diff --git 
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/model/CompressedTiffModelProcessor.java
 
b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/model/CompressedTiffModelProcessor.java
index 2d67871e34c..ed5a44a87f9 100644
--- 
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/model/CompressedTiffModelProcessor.java
+++ 
b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/model/CompressedTiffModelProcessor.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.rpc.model;
 
-import org.gdal.VsiGdalNative;
 import org.gdal.gdal.Band;
 import org.gdal.gdal.Dataset;
 import org.gdal.gdal.Driver;
@@ -28,6 +27,8 @@ import org.gdal.gdalconst.gdalconstConstants;
 
 public class CompressedTiffModelProcessor extends ModelProcessor {
   private static final Driver DRIVER;
+  private static final String VIRTUAL_FILE_PATH_PREFIX = "/vsimem";
+  private static final String VIRTUAL_FILE_PATH_SUFFIX = ".tif";
   // Specifying compression options
   private static String compressOption = "COMPRESS=LZW";
   // Specifying block x size options
@@ -46,7 +47,11 @@ public class CompressedTiffModelProcessor extends 
ModelProcessor {
   @Override
   public byte[] write(float[] values, int width, int height) {
     String virtualFilePath = getVirtualFilePath();
-    return write(virtualFilePath, values, width, height);
+    try {
+      return write(virtualFilePath, values, width, height);
+    } finally {
+      gdal.Unlink(virtualFilePath);
+    }
   }
 
   private byte[] write(String filePath, float[] values, int width, int height) 
{
@@ -71,7 +76,7 @@ public class CompressedTiffModelProcessor extends 
ModelProcessor {
       }
       band.FlushCache();
       dataset.FlushCache();
-      return VsiGdalNative.vsiGetMemFileBuffer(filePath, true);
+      return gdal.GetMemFileBuffer(filePath);
     } finally {
       if (dataset != null) {
         dataset.delete();
@@ -81,10 +86,13 @@ public class CompressedTiffModelProcessor extends 
ModelProcessor {
 
   @Override
   public float[] readAll(byte[] fileBytes) {
-    // TODO @spricoder
     String virtualFilePath = getVirtualFilePath();
-    VsiGdalNative.writeVsiMemFile(virtualFilePath, fileBytes);
-    return readAll(virtualFilePath);
+    try {
+      gdal.FileFromMemBuffer(virtualFilePath, fileBytes);
+      return readAll(virtualFilePath);
+    } finally {
+      gdal.Unlink(virtualFilePath);
+    }
   }
 
   @Override
@@ -110,6 +118,9 @@ public class CompressedTiffModelProcessor extends 
ModelProcessor {
   }
 
   private String getVirtualFilePath() {
-    return "";
+    long tid = Thread.currentThread().getId();
+    long timestamp = System.currentTimeMillis();
+    return String.format(
+        "%s/%d_%d%s", VIRTUAL_FILE_PATH_PREFIX, tid, timestamp, 
VIRTUAL_FILE_PATH_SUFFIX);
   }
 }

Reply via email to