/** Register the JPEG-2000 readers with the reader service. */ private static IIORegistry registerServiceProviders() { IIORegistry registry = IIORegistry.getDefaultInstance(); Iterator<J2KImageReaderSpi> iter = ServiceLoader.load(J2KImageReaderSpi.class).iterator(); registry.registerServiceProviders(iter); return registry; }
/** Register the JPEG-2000 readers with the reader service. */ private static IIORegistry registerServiceProviders() { IIORegistry registry = IIORegistry.getDefaultInstance(); Iterator<J2KImageReaderSpi> iter = ServiceLoader.load(J2KImageReaderSpi.class).iterator(); registry.registerServiceProviders(iter); return registry; }
/** Register the JPEG-2000 readers with the reader service. */ private static IIORegistry registerServiceProviders() { IIORegistry registry = IIORegistry.getDefaultInstance(); Iterator<J2KImageReaderSpi> iter = ServiceLoader.load(J2KImageReaderSpi.class).iterator(); registry.registerServiceProviders(iter); return registry; }
private static void initImageIO() { // todo - actually this should be done in the activator of ceres-jai which does not exist yet Lookup.Result<ModuleInfo> moduleInfos = Lookup.getDefault().lookupResult(ModuleInfo.class); String ceresJaiCodeName = "org.esa.snap.ceres.jai"; Optional<? extends ModuleInfo> info = moduleInfos.allInstances().stream().filter( moduleInfo -> ceresJaiCodeName.equals(moduleInfo.getCodeName())).findFirst(); if (info.isPresent()) { ClassLoader classLoader = info.get().getClassLoader(); IIORegistry iioRegistry = IIORegistry.getDefaultInstance(); iioRegistry.registerServiceProviders(IIORegistry.lookupProviders(ImageReaderSpi.class, classLoader)); iioRegistry.registerServiceProviders(IIORegistry.lookupProviders(ImageWriterSpi.class, classLoader)); } else { LOG.warning(String.format("Module '%s' not found. Not able to load image-IO services.", ceresJaiCodeName)); } }
@Override public Object execute() throws IOException { // Refresh registry. IIORegistry registry = IIORegistry.getDefaultInstance(); registry.registerServiceProviders(ServiceRegistry.lookupProviders(ImageReaderSpi.class)); registry.registerServiceProviders(ServiceRegistry.lookupProviders(ImageWriterSpi.class)); System.out.println("Available image readers:"); for (String reader : ImageIO.getReaderFormatNames()) { System.out.println("\t" + reader); Iterator<ImageReader> imageReaders = ImageIO.getImageReadersByFormatName(reader); while (imageReaders.hasNext()) { System.out.println("\t\t" + imageReaders.next()); } } System.out.println(); System.out.println("Available image writers:"); for (String writer : ImageIO.getWriterFormatNames()) { System.out.println("\t" + writer); Iterator<ImageWriter> imageWriters = ImageIO.getImageWritersByFormatName(writer); while (imageWriters.hasNext()) { System.out.println("\t\t" + imageWriters.next()); } } return null; }
/** Set up the JPEG-2000 image reader. */ private J2KImageReader getReader() { final IIORegistry registry = IIORegistry.getDefaultInstance(); final Iterator<J2KImageReaderSpi> iter = ServiceRegistry.lookupProviders(J2KImageReaderSpi.class); registry.registerServiceProviders(iter); final J2KImageReaderSpi spi = registry.getServiceProviderByClass(J2KImageReaderSpi.class); return new J2KImageReader(spi); }
/** Set up the JPEG-2000 image reader. */ private J2KImageReader getReader() { final IIORegistry registry = IIORegistry.getDefaultInstance(); final Iterator<J2KImageReaderSpi> iter = ServiceRegistry.lookupProviders(J2KImageReaderSpi.class); registry.registerServiceProviders(iter); final J2KImageReaderSpi spi = registry.getServiceProviderByClass(J2KImageReaderSpi.class); return new J2KImageReader(spi); }
Iterator<J2KImageWriterSpi> iter = ServiceLoader.load(J2KImageWriterSpi.class).iterator(); registry.registerServiceProviders(iter); J2KImageWriterSpi spi = registry.getServiceProviderByClass(J2KImageWriterSpi.class);
Iterator<J2KImageWriterSpi> iter = ServiceLoader.load(J2KImageWriterSpi.class).iterator(); registry.registerServiceProviders(iter); J2KImageWriterSpi spi = registry.getServiceProviderByClass(J2KImageWriterSpi.class);
Iterator<J2KImageWriterSpi> iter = ServiceLoader.load(J2KImageWriterSpi.class).iterator(); registry.registerServiceProviders(iter); J2KImageWriterSpi spi = registry.getServiceProviderByClass(J2KImageWriterSpi.class);
final Iterator<J2KImageWriterSpi> iter = ServiceRegistry.lookupProviders(J2KImageWriterSpi.class); registry.registerServiceProviders(iter); final J2KImageWriterSpi spi = registry.getServiceProviderByClass(J2KImageWriterSpi.class);
final Iterator<J2KImageWriterSpi> iter = ServiceRegistry.lookupProviders(J2KImageWriterSpi.class); registry.registerServiceProviders(iter); final J2KImageWriterSpi spi = registry.getServiceProviderByClass(J2KImageWriterSpi.class);