Revision: 6436
          http://sourceforge.net/p/jump-pilot/code/6436
Author:   edso
Date:     2020-09-07 14:11:23 +0000 (Mon, 07 Sep 2020)
Log Message:
-----------
add some robustness
don't fail completely if imageio-ext gdal is missing
some debug tracing added

Modified Paths:
--------------
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java
        2020-09-07 14:06:10 UTC (rev 6435)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java
        2020-09-07 14:11:23 UTC (rev 6436)
@@ -46,6 +46,7 @@
 import org.geotiff.image.jai.GeoTIFFDescriptor;
 
 import com.sun.media.jai.codec.ImageCodec;
+import com.vividsolutions.jump.workbench.Logger;
 import com.vividsolutions.jump.workbench.WorkbenchContext;
 import com.vividsolutions.jump.workbench.imagery.ReferencedImage;
 import 
com.vividsolutions.jump.workbench.imagery.graphic.AbstractGraphicImageFactory;
@@ -69,7 +70,8 @@
   }
 
   public GeoImageFactory() {
-    // register optional codecs TODO: how to register them more effortlessly?
+    // register optional codecs TODO: how to register them more effortlessly
+    try {
     IIORegistry.getDefaultInstance().registerServiceProvider(
         new JP2GDALOpenJPEGImageReaderSpi());
     IIORegistry.getDefaultInstance().registerServiceProvider(
@@ -76,6 +78,9 @@
         new JP2GDALEcwImageReaderSpi());
     IIORegistry.getDefaultInstance().registerServiceProvider(
         new JP2GDALJasperImageReaderSpi());
+    }catch( NoClassDefFoundError e){
+      Logger.error("Can't register JP2GDAL readers.",e);
+    }
 
     // initialize extensions
     final Iterator<? extends ImageReaderSpi> iter = IIORegistry
@@ -82,6 +87,8 @@
         .getDefaultInstance().getServiceProviders(ImageReaderSpi.class, true);
     for (; iter.hasNext();) {
       ImageReaderSpi reader = (ImageReaderSpi) iter.next();
+      //Logger.trace("GeoImageFactory - Add 
"+reader.getDescription(Locale.getDefault())+" ext: 
"+Arrays.toString(reader.getFileSuffixes()));
+      Logger.trace("GeoImageFactory - Add "+loaderString(reader) + " class:" + 
reader.getClass().getCanonicalName());
       String[] exts = reader.getFileSuffixes();
       // this is mainly for the NITF imageio-ext reader, which has one empty 
ext
       // supposedly because too much file extensions (?) exist for this format
@@ -130,7 +137,7 @@
   }
 
   public String getDescription() {
-    return getTypeName() + " " + loaderString();
+    return getTypeName() + " " + loaderString(this.loader);
   }
 
   /**
@@ -137,7 +144,7 @@
    * prepare a proper description of a forced loader
    * currently "(description, version x.x, vendor)"
    */
-  private String loaderString() {
+  private String loaderString(Object loader) {
     // a specified loader
     if (loader != null) {
       String loaderString ="";



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to