diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2022-07-11 20:59:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-11 20:59:52 (GMT) |
commit | b9d1d66ab84b492691d3c73e71b1374a7da19e50 (patch) | |
tree | 91094aab994ae89fa356bd926726b3909f86d58e /java/src/hdf/hdf5lib/H5.java | |
parent | 663321087a73e760a028517584731eb8ef308ba2 (diff) | |
download | hdf5-b9d1d66ab84b492691d3c73e71b1374a7da19e50.zip hdf5-b9d1d66ab84b492691d3c73e71b1374a7da19e50.tar.gz hdf5-b9d1d66ab84b492691d3c73e71b1374a7da19e50.tar.bz2 |
Develop HDFFV-11310 (#1811)
* Rework java vl check in read/write. Handle old refs in h5dump
* Committing clang-format changes
* Java changes allow default VL reads
* Fix JNI utility for old refs
* HDFFV-11310 - implement vlen read/write for atomic types.
* format check fix
* Mostly format fixes
* More format issues
* Two format changes
* Use JNI names for sizeof
* format change
* fix size typo
* Change to older method to initialize list
* remove unused var
* format fix
* switch writeVL functions to use datatype instead of java type
* Add VL option to generic read/write check
* Correct function name typo
* Add JIRA issue
* Correct note to match change in code.
* HDFFV-11318 add VL references as byte arrays
* Add release note and format changes
* Another format update
* Fix unreleased allocations
* Fix format
* format correction
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'java/src/hdf/hdf5lib/H5.java')
-rw-r--r-- | java/src/hdf/hdf5lib/H5.java | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java index 905a092..12e5f87 100644 --- a/java/src/hdf/hdf5lib/H5.java +++ b/java/src/hdf/hdf5lib/H5.java @@ -1242,6 +1242,10 @@ public class H5 implements java.io.Serializable { log.trace("H5Aread_string type"); status = H5Aread_string(attr_id, mem_type_id, (String[])obj); } + else if (H5.H5Tget_class(mem_type_id) == HDF5Constants.H5T_VLEN) { + log.trace("H5AreadVL type"); + status = H5AreadVL(attr_id, mem_type_id, (Object[])obj); + } else { // Create a data buffer to hold the data into a Java Array HDFArray theArray = new HDFArray(obj); @@ -1788,6 +1792,10 @@ public class H5 implements java.io.Serializable { log.trace("H5Dwrite_string type"); status = H5Awrite_string(attr_id, mem_type_id, (String[])obj); } + else if (H5.H5Tget_class(mem_type_id) == HDF5Constants.H5T_VLEN) { + log.trace("H5AwriteVL type"); + status = H5AwriteVL(attr_id, mem_type_id, (Object[])obj); + } else { HDFArray theArray = new HDFArray(obj); byte[] buf = theArray.byteify(); @@ -2772,6 +2780,11 @@ public class H5 implements java.io.Serializable { status = H5Dread_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, (String[])obj); } + else if (H5.H5Tget_class(mem_type_id) == HDF5Constants.H5T_VLEN) { + log.trace("H5DreadVL type"); + status = + H5DreadVL(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, (Object[])obj); + } else { // Create a data buffer to hold the data into a Java Array HDFArray theArray = new HDFArray(obj); @@ -3450,6 +3463,11 @@ public class H5 implements java.io.Serializable { status = H5Dwrite_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, (String[])obj); } + else if (H5.H5Tget_class(mem_type_id) == HDF5Constants.H5T_VLEN) { + log.trace("H5DwriteVL type"); + status = H5DwriteVL(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, + (Object[])obj); + } else { HDFArray theArray = new HDFArray(obj); byte[] buf = theArray.byteify(); @@ -9356,9 +9374,8 @@ public class H5 implements java.io.Serializable { byte[] buf = theArray.emptyBytes(); int status = H5Pget_fill_value(plist_id, type_id, buf); - if (status >= 0) { + if (status >= 0) obj = theArray.arrayify(buf); - } return status; } @@ -11018,8 +11035,6 @@ public class H5 implements java.io.Serializable { public synchronized static native void H5Rdestroy(byte[] ref_ptr) throws HDF5LibraryException, NullPointerException, IllegalArgumentException; - // Info // - /** * H5Rget_type retrieves the type of a reference. * @@ -11076,8 +11091,6 @@ public class H5 implements java.io.Serializable { public synchronized static native byte[] H5Rcopy(byte[] src_ref_ptr) throws HDF5LibraryException, NullPointerException, IllegalArgumentException; - // Dereference // - /** * H5Ropen_object opens that object and returns an identifier. * The object opened with this function should be closed when it is no longer needed @@ -11224,8 +11237,6 @@ public class H5 implements java.io.Serializable { public synchronized static native int H5Rget_obj_type3(byte[] ref_ptr, long rapl_id) throws HDF5LibraryException, NullPointerException, IllegalArgumentException; - // Get name // - /** * H5Rget_file_name retrieves the file name for the object, region or attribute reference pointed to. * |