diff --git a/image_readers/source/java/ch/systemsx/cisd/imagereaders/ImageReaderFactory.java b/image_readers/source/java/ch/systemsx/cisd/imagereaders/ImageReaderFactory.java index f3cf229eeee3ae78796f15f6be7f99df9de4f655..5f15f0acffa11b18ae2d11f614f1cc7e4d232202 100644 --- a/image_readers/source/java/ch/systemsx/cisd/imagereaders/ImageReaderFactory.java +++ b/image_readers/source/java/ch/systemsx/cisd/imagereaders/ImageReaderFactory.java @@ -43,6 +43,11 @@ public class ImageReaderFactory private static List<IImageReaderLibrary> libraries; static + { + libraries = getAvailableReaders(); + } + + private static List<IImageReaderLibrary> getAvailableReaders() { Iterator<IImageReaderLibrary> librariesIterator; try @@ -52,33 +57,37 @@ public class ImageReaderFactory { operationLog.warn("Image reader plugins not available (JRE < 1.6), " + "fallback to built-in readers.", ex); - IImageReaderLibrary reader; + librariesIterator = getBuiltInReaders(); + } + return CollectionUtils.asList(librariesIterator); + } - List<IImageReaderLibrary> readers = new ArrayList<IImageReaderLibrary>(); - reader = tryCreateReader("ch.systemsx.cisd.imagereaders.imageio.ImageIOReaderLibrary"); - if (reader != null) - { - readers.add(reader); - } - reader = tryCreateReader("ch.systemsx.cisd.imagereaders.ij.ImageJReaderLibrary"); - if (reader != null) - { - readers.add(reader); - } - reader = tryCreateReader("ch.systemsx.cisd.imagereaders.jai.JAIReaderLibrary"); - if (reader != null) - { - readers.add(reader); - } - reader = - tryCreateReader("ch.systemsx.cisd.imagereaders.bioformats.BioFormatsReaderLibrary"); - if (reader != null) - { - readers.add(reader); - } - librariesIterator = readers.iterator(); + private static Iterator<IImageReaderLibrary> getBuiltInReaders() + { + IImageReaderLibrary reader; + List<IImageReaderLibrary> readers = new ArrayList<IImageReaderLibrary>(); + reader = tryCreateReader("ch.systemsx.cisd.imagereaders.imageio.ImageIOReaderLibrary"); + if (reader != null) + { + readers.add(reader); + } + reader = tryCreateReader("ch.systemsx.cisd.imagereaders.ij.ImageJReaderLibrary"); + if (reader != null) + { + readers.add(reader); + } + reader = tryCreateReader("ch.systemsx.cisd.imagereaders.jai.JAIReaderLibrary"); + if (reader != null) + { + readers.add(reader); + } + reader = + tryCreateReader("ch.systemsx.cisd.imagereaders.bioformats.BioFormatsReaderLibrary"); + if (reader != null) + { + readers.add(reader); } - libraries = CollectionUtils.asList(librariesIterator); + return readers.iterator(); } private static IImageReaderLibrary tryCreateReader(String className)