diff --git a/screening/source/java/OpenBISScreeningML.java b/screening/source/java/OpenBISScreeningML.java index 7f08227b340665390df744dbe2d50bd36636d579..650b3971dedfc843efe5a39d2a08baad0910034d 100644 --- a/screening/source/java/OpenBISScreeningML.java +++ b/screening/source/java/OpenBISScreeningML.java @@ -519,37 +519,24 @@ public class OpenBISScreeningML { throw new RuntimeException("No plate with that code found."); } + final List<ImageDatasetReference> imageDatasets = + openbis.listImageDatasets(Arrays.asList(plateId)); + final List<ImageDatasetMetadata> meta = openbis.listImageMetadata(imageDatasets); + if (meta.isEmpty()) + { + return new Object[][][] + { new Object[0][], new Object[0][] }; + } final List<String> imageChannels; if (channels == null || channels.length == 0) { - final List<ImageDatasetReference> imageDatasets = - openbis.listImageDatasets(Arrays.asList(plateId)); - final List<ImageDatasetMetadata> meta = openbis.listImageMetadata(imageDatasets); - if (meta.isEmpty()) - { - return new Object[][][] - { new Object[0][], new Object[0][] }; - } imageChannels = getChannelCodes(meta); } else { imageChannels = Arrays.asList(channels); } - final List<ImageDatasetReference> imageDatasets = - openbis.listImageDatasets(Arrays.asList(plateId)); - if (imageDatasets.isEmpty()) - { - return new Object[][][] - { new Object[0][], new Object[0][] }; - } final List<PlateImageReference> imageReferences = - new ArrayList<PlateImageReference>(imageDatasets.size()); - final List<ImageDatasetMetadata> meta = openbis.listImageMetadata(imageDatasets); - if (meta.isEmpty()) - { - return new Object[][][] - { new Object[0][], new Object[0][] }; - } + new ArrayList<PlateImageReference>(imageDatasets.size()); final List<File> imageFiles = new ArrayList<File>(imageDatasets.size() * imageChannels.size() * meta.get(0).getNumberOfTiles()); @@ -625,7 +612,7 @@ public class OpenBISScreeningML { return imageRefToFileMap.get(imageReference); } - }); + }, false); } finally { closeOutputStreams(imageRefToFileMap.values());