Ignore:
Timestamp:
2015-11-16T01:43:15+01:00 (9 years ago)
Author:
donvip
Message:

[josm_geotools] add missing jars and add additional manual JAI initialization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/geotools/src/org/openstreetmap/josm/plugins/geotools/GeoToolsPlugin.java

    r30755 r31752  
    44import java.io.IOException;
    55import java.io.InputStream;
     6import java.util.Iterator;
     7import java.util.ServiceLoader;
    68
     9import javax.imageio.spi.IIORegistry;
     10import javax.imageio.spi.IIOServiceProvider;
    711import javax.media.jai.JAI;
    812import javax.media.jai.OperationRegistry;
     
    1317import org.openstreetmap.josm.Main;
    1418import org.openstreetmap.josm.plugins.Plugin;
     19import org.openstreetmap.josm.plugins.PluginHandler;
    1520import org.openstreetmap.josm.plugins.PluginInformation;
    1621
     
    6570            }
    6671        }
     72
     73        // Manual registering because plugin jar is not on application classpath
     74        IIORegistry ioRegistry = IIORegistry.getDefaultInstance();
     75        ClassLoader loader = PluginHandler.getPluginClassLoader();
     76
     77        Iterator<Class<?>> categories = ioRegistry.getCategories();
     78        while (categories.hasNext()) {
     79            @SuppressWarnings("unchecked")
     80            Iterator<IIOServiceProvider> riter = ServiceLoader.load((Class<IIOServiceProvider>)categories.next(), loader).iterator();
     81            while (riter.hasNext()) {
     82                ioRegistry.registerServiceProvider(riter.next());
     83            }
     84        }
    6785    }
    6886
Note: See TracChangeset for help on using the changeset viewer.