diff --git a/src/main/java/org/janelia/saalfeldlab/n5/DataType.java b/src/main/java/org/janelia/saalfeldlab/n5/DataType.java index 0df4f283..a6d60cb8 100644 --- a/src/main/java/org/janelia/saalfeldlab/n5/DataType.java +++ b/src/main/java/org/janelia/saalfeldlab/n5/DataType.java @@ -102,9 +102,9 @@ public enum DataType { blockSize, gridPosition, new double[numElements])), - VLENSTRING( - "String(-1)", - (blockSize, gridPosition, numElements) -> new VLenStringDataBlock( + STRING( + "string", + (blockSize, gridPosition, numElements) -> new StringDataBlock( blockSize, gridPosition, new byte[numElements])), diff --git a/src/main/java/org/janelia/saalfeldlab/n5/VLenStringDataBlock.java b/src/main/java/org/janelia/saalfeldlab/n5/StringDataBlock.java similarity index 90% rename from src/main/java/org/janelia/saalfeldlab/n5/VLenStringDataBlock.java rename to src/main/java/org/janelia/saalfeldlab/n5/StringDataBlock.java index deebe65f..081734ab 100644 --- a/src/main/java/org/janelia/saalfeldlab/n5/VLenStringDataBlock.java +++ b/src/main/java/org/janelia/saalfeldlab/n5/StringDataBlock.java @@ -25,24 +25,23 @@ */ package org.janelia.saalfeldlab.n5; -import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -public class VLenStringDataBlock extends AbstractDataBlock { +public class StringDataBlock extends AbstractDataBlock { protected static final Charset ENCODING = StandardCharsets.UTF_8; protected static final String NULLCHAR = "\0"; protected byte[] serializedData = null; protected String[] actualData = null; - public VLenStringDataBlock(final int[] size, final long[] gridPosition, final String[] data) { + public StringDataBlock(final int[] size, final long[] gridPosition, final String[] data) { super(size, gridPosition, new String[0]); actualData = data; } - public VLenStringDataBlock(final int[] size, final long[] gridPosition, final byte[] data) { + public StringDataBlock(final int[] size, final long[] gridPosition, final byte[] data) { super(size, gridPosition, new String[0]); serializedData = data; } diff --git a/src/test/java/org/janelia/saalfeldlab/n5/AbstractN5Test.java b/src/test/java/org/janelia/saalfeldlab/n5/AbstractN5Test.java index b1c171e9..db3b9a07 100644 --- a/src/test/java/org/janelia/saalfeldlab/n5/AbstractN5Test.java +++ b/src/test/java/org/janelia/saalfeldlab/n5/AbstractN5Test.java @@ -210,7 +210,7 @@ public void testWriteReadByteBlock() throws URISyntaxException { public void testWriteReadStringBlock() throws URISyntaxException { // test dataset; all characters are valid UTF8 but may have different numbers of bytes! - final DataType dataType = DataType.VLENSTRING; + final DataType dataType = DataType.STRING; final int[] blockSize = new int[]{3, 2, 1}; final String[] stringBlock = new String[]{"", "a", "bc", "de", "fgh", ":-รพ"}; @@ -220,7 +220,7 @@ public void testWriteReadStringBlock() throws URISyntaxException { try (final N5Writer n5 = createN5Writer()) { n5.createDataset(datasetName, dimensions, blockSize, dataType, compression); final DatasetAttributes attributes = n5.getDatasetAttributes(datasetName); - final VLenStringDataBlock dataBlock = new VLenStringDataBlock(blockSize, new long[]{0L, 0L, 0L}, stringBlock); + final StringDataBlock dataBlock = new StringDataBlock(blockSize, new long[]{0L, 0L, 0L}, stringBlock); n5.writeBlock(datasetName, attributes, dataBlock); final DataBlock loadedDataBlock = n5.readBlock(datasetName, attributes, 0L, 0L, 0L);