diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/CompressingHdf5WriterWrapper.java b/common/source/java/ch/systemsx/cisd/common/hdf5/CompressingHdf5WriterWrapper.java similarity index 99% rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/CompressingHdf5WriterWrapper.java rename to common/source/java/ch/systemsx/cisd/common/hdf5/CompressingHdf5WriterWrapper.java index e2677a710e1cb94fd7bfd3df3bbd532fa2eb0de7..8335139b687113793d7a4fbc03a31a39579e01ca 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/CompressingHdf5WriterWrapper.java +++ b/common/source/java/ch/systemsx/cisd/common/hdf5/CompressingHdf5WriterWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.generic.shared.content; +package ch.systemsx.cisd.common.hdf5; import java.util.BitSet; import java.util.Date; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5AwareHierarchicalContentFactory.java b/common/source/java/ch/systemsx/cisd/common/hdf5/HDF5AwareHierarchicalContentFactory.java similarity index 89% rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5AwareHierarchicalContentFactory.java rename to common/source/java/ch/systemsx/cisd/common/hdf5/HDF5AwareHierarchicalContentFactory.java index 4aad22cdaecfe01f5d669f634e85b4fd0733513c..a8a52b0469f54c71cb205cbf8cf290a46017cb56 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5AwareHierarchicalContentFactory.java +++ b/common/source/java/ch/systemsx/cisd/common/hdf5/HDF5AwareHierarchicalContentFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.generic.shared.content; +package ch.systemsx.cisd.common.hdf5; import java.io.File; import java.util.Arrays; @@ -38,9 +38,10 @@ public class HDF5AwareHierarchicalContentFactory extends HierarchicalContentFact public IHierarchicalContentNode asHierarchicalContentNode(IHierarchicalContent rootContent, File file) { - if (FilenameUtils.isExtension(file.getName(), Arrays.asList("h5", "h5r"))) + if (FilenameUtils.isExtension(file.getName(), Arrays.asList("h5", "h5ar"))) { - return new HDF5ContainerBasedHierarchicalContentNode(this, rootContent, file); + return null; + // return new HDF5ContainerBasedHierarchicalContentNode(this, rootContent, file); } else { return super.asHierarchicalContentNode(rootContent, file); diff --git a/common/source/java/ch/systemsx/cisd/common/hdf5/HDF5ContainerTraverser.java b/common/source/java/ch/systemsx/cisd/common/hdf5/HDF5ContainerTraverser.java new file mode 100644 index 0000000000000000000000000000000000000000..a8beeb893a88310c99fd23af44a6ac9098796d78 --- /dev/null +++ b/common/source/java/ch/systemsx/cisd/common/hdf5/HDF5ContainerTraverser.java @@ -0,0 +1,71 @@ +/* + * Copyright 2011 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.common.hdf5; + +import java.io.File; +import java.util.List; + +import ch.systemsx.cisd.common.io.IHierarchicalContent; +import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; + +/** + * {@link IHierarchicalContent} implementation for an HDF5 container. + * + * @author Piotr Buczek + */ +public class HDF5ContainerTraverser +{ + public static void main(String[] args) + { + File container = new File("container.h5"); + System.err.println(container.getAbsolutePath()); + if (container.exists()) + { + Hdf5Container hdf5Container = new Hdf5Container(container); + IHDF5SimpleReader reader = hdf5Container.createSimpleReader(); + try + { + traverse(reader, "/", ""); + } finally + { + reader.close(); + } + } + } + + public static void traverse(IHDF5SimpleReader reader, String relativePath, String indent) + { + System.err.println(indent + "traverse: '" + relativePath + "'"); + List<String> childPaths = reader.getGroupMembers(relativePath); + String newIndent = indent + "\t"; + for (String childPath : childPaths) + { + String newRelativePath = + (relativePath.equals(File.separator)) ? childPath : relativePath + + File.separator + childPath; + if (reader.isGroup(newRelativePath)) + { + System.err.println(newIndent + "group: '" + childPath + "'"); + traverse(reader, newRelativePath, newIndent); + } else + { + System.err.println(newIndent + "file: '" + childPath + "'"); + } + } + } + +} \ No newline at end of file diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/Hdf5Container.java b/common/source/java/ch/systemsx/cisd/common/hdf5/Hdf5Container.java similarity index 98% rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/Hdf5Container.java rename to common/source/java/ch/systemsx/cisd/common/hdf5/Hdf5Container.java index 031396510f4763463a78e93a862da3c10cdaca31..c61c2a5db562a6d55c1ac135f6c91fbadba8bd6b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/Hdf5Container.java +++ b/common/source/java/ch/systemsx/cisd/common/hdf5/Hdf5Container.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.generic.shared.content; +package ch.systemsx.cisd.common.hdf5; import java.io.File; diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java b/common/source/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java similarity index 97% rename from datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java rename to common/source/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java index 72c620cdc038293e2f8110b16dc0b2fba8db9532..130b73b6191694a75fe743a55456c203bba686a0 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java +++ b/common/source/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.etlserver.hdf5; +package ch.systemsx.cisd.common.hdf5; import java.io.File; import java.io.IOException; @@ -25,7 +25,6 @@ import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.hdf5.IHDF5SimpleWriter; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; /** * Takes the hierarchical structure of a file and applies it to an HDF5 container. diff --git a/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContent.java b/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContent.java index dbcd6471597d4028ec42bab4ad841357be518f1a..6c7b62ff46060ddc9a5b010205c87fd7fd80dc90 100644 --- a/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContent.java +++ b/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContent.java @@ -61,7 +61,7 @@ class DefaultFileBasedHierarchicalContent implements IHierarchicalContent public IHierarchicalContentNode getNode(String relativePath) { - return asNode(new File(root, relativePath)); // FIXME + return asNode(new File(root, relativePath)); // FIXME traverse HDF5 container } private IHierarchicalContentNode asNode(File file) @@ -162,6 +162,7 @@ class DefaultFileBasedHierarchicalContent implements IHierarchicalContent */ private static void findFiles(File startingPoint, FileFilter filter, List<File> result) { + // TODO 2011-04-12, Piotr Buczek: make HDF5 aware File[] filteredFiles = startingPoint.listFiles(filter); if (filteredFiles != null) { diff --git a/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContentNode.java b/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContentNode.java index e71ea38d949979783541ee5db470f1639b9b0d64..1a9cecaa17b8a4dd02f40eac37a16c18033994cc 100644 --- a/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContentNode.java +++ b/common/source/java/ch/systemsx/cisd/common/io/DefaultFileBasedHierarchicalContentNode.java @@ -33,7 +33,7 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities; * * @author Piotr Buczek */ -public class DefaultFileBasedHierarchicalContentNode extends AbstractHierarchicalContentNode +class DefaultFileBasedHierarchicalContentNode extends AbstractHierarchicalContentNode { protected final IHierarchicalContent root; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5ContainerBasedHierarchicalContentNode.java b/common/source/java/ch/systemsx/cisd/common/io/HDF5ContainerBasedHierarchicalContentNode.java similarity index 91% rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5ContainerBasedHierarchicalContentNode.java rename to common/source/java/ch/systemsx/cisd/common/io/HDF5ContainerBasedHierarchicalContentNode.java index c7928dc9eb20d0961590fbfd99fb8388d05ecdca..3a6ff0c943b4fe1ec7fd9f6f124729c26deda946 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/HDF5ContainerBasedHierarchicalContentNode.java +++ b/common/source/java/ch/systemsx/cisd/common/io/HDF5ContainerBasedHierarchicalContentNode.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.openbis.dss.generic.shared.content; +package ch.systemsx.cisd.common.io; import java.io.File; import java.io.InputStream; @@ -22,14 +22,7 @@ import java.util.ArrayList; import java.util.List; import ch.systemsx.cisd.base.io.IRandomAccessFile; -import ch.systemsx.cisd.common.io.AbstractHierarchicalDirectoryContentNode; -import ch.systemsx.cisd.common.io.AbstractHierarchicalFileContentNode; -import ch.systemsx.cisd.common.io.ByteArrayBasedContent; -import ch.systemsx.cisd.common.io.DefaultFileBasedHierarchicalContentNode; -import ch.systemsx.cisd.common.io.IContent; -import ch.systemsx.cisd.common.io.IHierarchicalContent; -import ch.systemsx.cisd.common.io.IHierarchicalContentFactory; -import ch.systemsx.cisd.common.io.IHierarchicalContentNode; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; /** @@ -258,12 +251,13 @@ class HDF5ContainerBasedHierarchicalContentNode extends DefaultFileBasedHierarch { if (contentOrNull == null) { - contentOrNull = extractFileContent(reader, relativePath); + contentOrNull = extractFileContent(file, relativePath); } return contentOrNull; } } + @SuppressWarnings("unused") private static IContent extractFileContent(IHDF5SimpleReader reader, String path) { byte[] content = reader.readAsByteArray(path); @@ -271,4 +265,8 @@ class HDF5ContainerBasedHierarchicalContentNode extends DefaultFileBasedHierarch return new ByteArrayBasedContent(content, index < 0 ? path : path.substring(index + 1)); } + private static IContent extractFileContent(File hdf5File, String dataSetPath) + { + return new HDF5DataSetBasedContent(hdf5File, dataSetPath); + } } \ No newline at end of file diff --git a/common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentFactory.java b/common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentFactory.java index a1629b91cb5a05b35f3ccc22ac92e66ceeab98c8..bcba8746318a7e5c60f8a4a126d74ab394b71891 100644 --- a/common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentFactory.java +++ b/common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentFactory.java @@ -35,6 +35,11 @@ public class HierarchicalContentFactory implements IHierarchicalContentFactory public IHierarchicalContentNode asHierarchicalContentNode(IHierarchicalContent rootContent, File file) { + // TODO 2011-04-12, Piotr Buczek: uncomment when HDF5 abstraction is fully implemented + // if (FilenameUtils.isExtension(file.getName(), Arrays.asList("h5", "h5ar"))) + // { + // return new HDF5ContainerBasedHierarchicalContentNode(this, rootContent, file); + // } return new DefaultFileBasedHierarchicalContentNode(this, rootContent, file); } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/FileToHdf5DuplicationVerifier.java b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/FileToHdf5DuplicationVerifier.java similarity index 93% rename from datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/FileToHdf5DuplicationVerifier.java rename to common/sourceTest/java/ch/systemsx/cisd/common/hdf5/FileToHdf5DuplicationVerifier.java index 152413bd17a5184dddffad69703fc02040428064..49c836356a0f51a0827d9626dadb5ffefbae91e1 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/FileToHdf5DuplicationVerifier.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/FileToHdf5DuplicationVerifier.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.etlserver.hdf5; +package ch.systemsx.cisd.common.hdf5; import java.io.File; import java.io.IOException; @@ -22,16 +22,15 @@ import java.io.IOException; import org.apache.commons.io.FileUtils; import org.testng.AssertJUnit; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5ReaderClient; import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5ReaderClient; /** * Helper class that verifies that a file structure is matched by the HDF5 structure. * * @author Chandrasekhar Ramakrishnan */ -class FileToHdf5DuplicationVerifier extends AssertJUnit +public class FileToHdf5DuplicationVerifier extends AssertJUnit { private final File sourceFolderOrFile; diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5ContainerTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/Hdf5ContainerTest.java similarity index 93% rename from datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5ContainerTest.java rename to common/sourceTest/java/ch/systemsx/cisd/common/hdf5/Hdf5ContainerTest.java index 25380f0cb899c33cb3c96646572638e9d7d062b2..179f4f80e99986ec1267dccff7ca486b35d7a1b9 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5ContainerTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/Hdf5ContainerTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.etlserver.hdf5; +package ch.systemsx.cisd.common.hdf5; import java.io.ByteArrayOutputStream; import java.io.File; @@ -24,11 +24,11 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5ReaderClient; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5WriterClient; import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; import ch.systemsx.cisd.hdf5.IHDF5SimpleWriter; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5ReaderClient; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5WriterClient; /** * @author Chandrasekhar Ramakrishnan diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java similarity index 95% rename from datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java rename to common/sourceTest/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java index bfc424a64fe2bfd46c71aafa21e67fe9d05ca220..cada6b1ec726933301c7af1d584cab09bcb91e10 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/hdf5/HierarchicalStructureDuplicatorFileToHdf5Test.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.systemsx.cisd.etlserver.hdf5; +package ch.systemsx.cisd.common.hdf5; import java.io.File; import java.io.IOException; @@ -23,9 +23,10 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5ReaderClient; +import ch.systemsx.cisd.common.hdf5.HierarchicalStructureDuplicatorFileToHdf5; import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5ReaderClient; /** * @author Chandrasekhar Ramakrishnan diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessor.java index 8d87700ab57ffdcc9d7ad6f34d696f87b5022fa1..c69a9714a87c6468b3539f9b98ce54f2a351f1fe 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessor.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessor.java @@ -20,11 +20,12 @@ import java.io.File; import java.util.Properties; import ch.systemsx.cisd.common.filesystem.FileUtilities; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; +import ch.systemsx.cisd.common.hdf5.HierarchicalStructureDuplicatorFileToHdf5; import ch.systemsx.cisd.common.mail.IMailClient; import ch.systemsx.cisd.common.utilities.PropertyUtils; import ch.systemsx.cisd.etlserver.AbstractStorageProcessor; import ch.systemsx.cisd.etlserver.ITypeExtractor; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; /** @@ -116,7 +117,6 @@ public class Hdf5StorageProcessor extends AbstractStorageProcessor }; } - /** * Given a directory in the store, return the HDF5 container file. diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/AbstractHdf5StorageProcessorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/AbstractHdf5StorageProcessorTest.java index f1093af651bdea796e60463318a58f6261ca985d..9ecfb554a103e6d5659b649354ab799d601750e8 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/AbstractHdf5StorageProcessorTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/AbstractHdf5StorageProcessorTest.java @@ -21,10 +21,11 @@ import java.util.Properties; import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.common.filesystem.FileUtilities; +import ch.systemsx.cisd.common.hdf5.FileToHdf5DuplicationVerifier; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5ReaderClient; import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional.IStorageProcessorTransaction; import ch.systemsx.cisd.hdf5.IHDF5SimpleReader; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5ReaderClient; /** * Tests for {@link Hdf5StorageProcessor}. diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorNoCompressionTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorNoCompressionTest.java index aaaae09bd6c97de22cd4607702b9a010202b24d2..2eda6e7f2d8890628b0824aa777d25b02d22f99f 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorNoCompressionTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorNoCompressionTest.java @@ -20,6 +20,7 @@ import java.util.Properties; import org.testng.annotations.Test; + /** * @author Chandrasekhar Ramakrishnan */ diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorWithCompressionTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorWithCompressionTest.java index 5a5512bbf95252a3d84f9f84ef406a5766a8ae2c..fbb100dee2144e84483db3d07c25f02b7482e971 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorWithCompressionTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/hdf5/Hdf5StorageProcessorWithCompressionTest.java @@ -20,6 +20,7 @@ import java.util.Properties; import org.testng.annotations.Test; + /** * @author Chandrasekhar Ramakrishnan */ diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageStorageProcessor.java index c685677ac405b94522c07e61acbf23a912af3ee2..00654ddcd4d3ebfed6d1a467eb4c605cbc98498b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageStorageProcessor.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageStorageProcessor.java @@ -43,6 +43,8 @@ import ch.systemsx.cisd.common.filesystem.FileOperations; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.common.filesystem.IFileOperations; import ch.systemsx.cisd.common.filesystem.SoftLinkMaker; +import ch.systemsx.cisd.common.hdf5.Hdf5Container; +import ch.systemsx.cisd.common.hdf5.HierarchicalStructureDuplicatorFileToHdf5; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.mail.IMailClient; @@ -53,7 +55,6 @@ import ch.systemsx.cisd.etlserver.AbstractStorageProcessorTransaction; import ch.systemsx.cisd.etlserver.DispatcherStorageProcessor.IDispatchableStorageProcessor; import ch.systemsx.cisd.etlserver.IDataSetInfoExtractor; import ch.systemsx.cisd.etlserver.ITypeExtractor; -import ch.systemsx.cisd.etlserver.hdf5.HierarchicalStructureDuplicatorFileToHdf5; import ch.systemsx.cisd.etlserver.utils.Unzipper; import ch.systemsx.cisd.openbis.dss.Constants; import ch.systemsx.cisd.openbis.dss.etl.dataaccess.IImagingQueryDAO; @@ -67,7 +68,6 @@ import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.OriginalDataStorageFormat; import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ThumbnailsStorageFormat; import ch.systemsx.cisd.openbis.dss.etl.jython.JythonPlateDataSetHandler; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ChannelDescription; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants; @@ -693,7 +693,8 @@ abstract class AbstractImageStorageProcessor extends AbstractStorageProcessor im { IImageTransformerFactory imgTransformerFactory = imageStorageConfiguraton.getImageTransformerFactory(); - for (AcquiredSingleImage image : images) { + for (AcquiredSingleImage image : images) + { image.setImageTransformerFactoryOrNull(imgTransformerFactory); } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/Hdf5ThumbnailGenerator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/Hdf5ThumbnailGenerator.java index bce8aeac11a21c8d39fe47f21c366cc8499920a9..aa712d007507c2a7136ab840a64a0c54db62bd9b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/Hdf5ThumbnailGenerator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/Hdf5ThumbnailGenerator.java @@ -32,6 +32,7 @@ import ch.systemsx.cisd.common.concurrent.ConcurrencyUtilities; import ch.systemsx.cisd.common.concurrent.ITaskExecutor; import ch.systemsx.cisd.common.concurrent.ParallelizedExecutor; import ch.systemsx.cisd.common.exceptions.Status; +import ch.systemsx.cisd.common.hdf5.Hdf5Container.IHdf5WriterClient; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.process.ProcessExecutionHelper; @@ -39,7 +40,6 @@ import ch.systemsx.cisd.common.process.ProcessIOStrategy; import ch.systemsx.cisd.common.process.ProcessResult; import ch.systemsx.cisd.hdf5.IHDF5SimpleWriter; import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ThumbnailsStorageFormat; -import ch.systemsx.cisd.openbis.dss.generic.shared.content.Hdf5Container.IHdf5WriterClient; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil; /**