1 package org.simantics.maps.elevation.server;
3 import java.util.concurrent.atomic.AtomicBoolean;
5 import javax.imageio.spi.IIORegistry;
6 import javax.imageio.spi.ImageInputStreamSpi;
7 import javax.imageio.spi.ImageOutputStreamSpi;
9 import org.osgi.framework.BundleActivator;
10 import org.osgi.framework.BundleContext;
12 import it.geosolutions.imageio.stream.input.spi.FileImageInputStreamExtImplSpi;
13 import it.geosolutions.imageio.stream.input.spi.StringImageInputStreamSpi;
14 import it.geosolutions.imageio.stream.input.spi.URLImageInputStreamSpi;
15 import it.geosolutions.imageio.stream.output.spi.FileImageOutputStreamExtImplSpi;
16 import it.geosolutions.imageio.stream.output.spi.StringImageOutputStreamSpi;
17 import it.geosolutions.imageio.stream.output.spi.URLImageOutputStreamSpi;
19 public class Activator implements BundleActivator {
21 private static AtomicBoolean registered = new AtomicBoolean(false);
23 public static final String PLUGIN_ID = "org.simantics.maps.elevation.server";
26 public void start(BundleContext context) throws Exception {
31 public static void registerSpis() {
32 if (!registered.getAndSet(true)) {
33 IIORegistry.getDefaultInstance().registerServiceProvider(new FileImageInputStreamExtImplSpi(), ImageInputStreamSpi.class);
34 IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageInputStreamSpi(), ImageInputStreamSpi.class);
35 IIORegistry.getDefaultInstance().registerServiceProvider(new StringImageInputStreamSpi(), ImageInputStreamSpi.class);
36 IIORegistry.getDefaultInstance().registerServiceProvider(new FileImageOutputStreamExtImplSpi(), ImageOutputStreamSpi.class);
37 IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageOutputStreamSpi(), ImageOutputStreamSpi.class);
38 IIORegistry.getDefaultInstance().registerServiceProvider(new StringImageOutputStreamSpi(), ImageOutputStreamSpi.class);
43 public void stop(BundleContext context) throws Exception {