Revision: 6441
          http://sourceforge.net/p/jump-pilot/code/6441
Author:   edso
Date:     2020-09-11 19:17:31 +0000 (Fri, 11 Sep 2020)
Log Message:
-----------
make geoimg framework more robust if imageio-ext is missing
add jai-imageio.core (oss successor of sun's jai-core) to OJ CORE
some code refinements
added debug/trace log output
some clean up
enforce jai-imageio.core tif reader in TiffUtils
prefer jai-imageio.core readers over all (primarily just TIF n BMP)
upgrade imageio-ext to latest greatest 1.3.2
move imageio-ext completely into OJ PLUS
ImageLayerManagerPlugin show actually used loader if no was preselected

Modified Paths:
--------------
    core/trunk/pom.xml
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/ImageryLayerDataset.java
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImage.java
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoRaster.java
    
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoReferencedRaster.java
    core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java

Added Paths:
-----------
    core/trunk/lib/jai-imageio-core-1.4.0.jar
    core/trunk/lib/plus/imageio-ext/
    core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar
    core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar
    core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar
    core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar
    core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar
    core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar
    core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar
    core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar
    core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar

Removed Paths:
-------------
    core/trunk/lib/imageio-ext/
    core/trunk/lib/plus/imageio-ext/

Added: core/trunk/lib/jai-imageio-core-1.4.0.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/jai-imageio-core-1.4.0.jar
===================================================================
--- core/trunk/lib/jai-imageio-core-1.4.0.jar   2020-09-11 16:20:30 UTC (rev 
6440)
+++ core/trunk/lib/jai-imageio-core-1.4.0.jar   2020-09-11 19:17:31 UTC (rev 
6441)

Property changes on: core/trunk/lib/jai-imageio-core-1.4.0.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar      2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar      2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/FastInfoset-1.2.15.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-arcgrid-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcbinarygrid-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar   
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar   
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalarcgrid-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalbsb-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq1-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldoq2-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdaldted-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecw-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar    
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar    
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalecwjp2-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalehdr-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar   
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar   
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvihdr-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar   
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar   
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalenvisat-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar  
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar  
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalerdasimg-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar 
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar 
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalframework-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar   
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar   
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalgeotiff-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar    
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar    
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalidrisi-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdaljpeg-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar 
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar 
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalkakadujp2-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsid-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar  
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar  
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalmrsidjp2-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar      
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar      
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalnitf-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-gdalvrt-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-geocore-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar   
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar   
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-imagereadmt-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar        
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar        
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-kakadu-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-kakadujni-5.2.6.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar  2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar  2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/imageio-ext-nitf-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar   2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar   2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/imageio-ext-png-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-streams-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar  2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar  2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/imageio-ext-tiff-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-turbojpeg-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/imageio-ext-utilities-1.3.2.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar    
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar    
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/istack-commons-runtime-3.0.7.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar     
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar     
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/jaxb-api-2.4.0-b180830.0359.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar 
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar 
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/jaxb-runtime-2.4.0-b180830.0438.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar 2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar 2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/nitf-bindings-2.7-r1269.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar      2020-09-11 16:20:30 UTC 
(rev 6440)
+++ core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar      2020-09-11 19:17:31 UTC 
(rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/pngj-2.0.1.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar     2020-09-11 16:20:30 UTC 
(rev 6440)
+++ core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar     2020-09-11 19:17:31 UTC 
(rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/stax-ex-1.8.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar       
2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar       
2020-09-11 19:17:31 UTC (rev 6441)

Property changes on: 
core/trunk/lib/plus/imageio-ext/turbojpeg-wrapper-1.2.1.5.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar
===================================================================
(Binary files differ)

Index: core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar
===================================================================
--- core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar 2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar 2020-09-11 
19:17:31 UTC (rev 6441)

Property changes on: core/trunk/lib/plus/imageio-ext/txw2-2.4.0-b180830.0438.jar
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: core/trunk/pom.xml
===================================================================
--- core/trunk/pom.xml  2020-09-11 16:20:30 UTC (rev 6440)
+++ core/trunk/pom.xml  2020-09-11 19:17:31 UTC (rev 6441)
@@ -17,7 +17,7 @@
         <version.release>svn build</version.release>
         <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
         
<project.binaries>**/*.command,**/*.sh,**/*.bat,**/*.exe,**/MacOS/OpenJUMP</project.binaries>
-        <imageio-ext.version>1.1.16</imageio-ext.version>
+        <imageio-ext.version>1.3.2</imageio-ext.version>
         <maven-assembly-plugin.version>2.4</maven-assembly-plugin.version>
         <maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
     </properties>
@@ -1016,6 +1016,11 @@
             <version>1.2</version>
         </dependency>
         <dependency>
+            <groupId>com.github.jai-imageio</groupId>
+            <artifactId>jai-imageio-core</artifactId>
+            <version>1.4.0</version>
+        </dependency>
+        <dependency>
             <groupId>javax.media</groupId>
             <artifactId>jai_core</artifactId>
             <version>1.1.3</version>
@@ -1055,7 +1060,9 @@
            <groupId>it.geosolutions.imageio-ext</groupId>
            <artifactId>imageio-ext-tiff</artifactId>
            <!-- downgrade, as > 1.1.13 does not load single band TIFFs 
properly -->
-           <version>1.1.13</version>
+           <!-- not needed anymore as jai-imageio.core works fine and is 
preferred -->
+           <!-- version>1.1.13</version -->
+           <version>${imageio-ext.version}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/ImageryLayerDataset.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/ImageryLayerDataset.java
   2020-09-11 16:20:30 UTC (rev 6440)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/ImageryLayerDataset.java
   2020-09-11 19:17:31 UTC (rev 6441)
@@ -129,6 +129,8 @@
     }
     // set an informational type value
     feature.setAttribute(ATTR_TYPE, referencedImage.getType());
+    // set what loader actually has been used
+    feature.setAttribute(ATTR_LOADER, referencedImage.getLoader());
   }
 
   public void dispose() {
@@ -155,12 +157,6 @@
       ReferencedImageFactory imageFactory) {
     feature.setAttribute(ImageryLayerDataset.ATTR_FACTORY, imageFactory
         .getClass().getName());
-    if (imageFactory instanceof GeoImageFactory) {
-      Object loader = ((GeoImageFactory) imageFactory).getLoader();
-      if (loader != null)
-        feature.setAttribute(ImageryLayerDataset.ATTR_LOADER, loader.getClass()
-            .getName());
-    }
     return feature;
   }
   

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImage.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImage.java   
    2020-09-11 16:20:30 UTC (rev 6440)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImage.java   
    2020-09-11 19:17:31 UTC (rev 6441)
@@ -285,7 +285,7 @@
       last_rendering = img.getAsBufferedImage();
       Rectangle b = img.getBounds();
       last_transform = AffineTransform.getTranslateInstance(b.getX(), 
b.getY());
-      
+
       // eventually draw the image, let g render the chain
       draw(g, img);
 
@@ -319,7 +319,7 @@
   }
 
   public String getLoader() {
-    return gtr != null ? gtr.getLoader() : "";
+    return gtr != null ? gtr.getLoader().getClass().getName() : "";
   }
 
   public void dispose() {

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-11 16:20:30 UTC (rev 6440)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoImageFactory.java
        2020-09-11 19:17:31 UTC (rev 6441)
@@ -61,6 +61,14 @@
 public class GeoImageFactory extends AbstractGraphicImageFactory {
   Object loader = null;
 
+  static boolean classGDALImageReaderSpiAvailable = false;
+  static {
+    try {
+      
Class.forName("it.geosolutions.imageio.gdalframework.GDALImageReaderSpi");
+      classGDALImageReaderSpiAvailable = true;
+    } catch (ClassNotFoundException e) {} // eat it
+  }
+  
   public void setLoader(Object loader) {
     this.loader = loader;
   }
@@ -88,7 +96,7 @@
     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());
+      Logger.trace("GeoImageFactory - add "+loaderString(reader) + " " + 
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
@@ -133,7 +141,8 @@
 
   public ReferencedImage createImage(String location) throws Exception {
     // System.out.println("GIF: " + getDescription());
-    return new GeoImage(location, loader);
+    ReferencedImage img = new GeoImage(location, loader);
+    return img;
   }
 
   public String getDescription() {
@@ -144,7 +153,7 @@
    * prepare a proper description of a forced loader
    * currently "(description, version x.x, vendor)"
    */
-  private String loaderString(Object loader) {
+  public static String loaderString(Object loader) {
     // a specified loader
     if (loader != null) {
       String loaderString ="";
@@ -163,9 +172,11 @@
           loaderString = loaderString.replace("ImageReaderSpi", "");
           loaderString += " (" + loader.getClass().getPackage().getName() + 
")";
         }
-        
-        if (loader instanceof GDALImageReaderSpi) 
+
+        // hint at GDAL nature
+        if (classGDALImageReaderSpiAvailable && loader instanceof 
GDALImageReaderSpi) 
           loaderString = "GDAL " + loaderString;
+
         // always include version info
         if (!loaderString.toLowerCase().contains("version"))
           loaderString += ", version " + ((ImageReaderSpi) 
loader).getVersion();
@@ -201,18 +212,23 @@
     String name = loader.getClass().getName();
     
     // some special cases
-    if (loader instanceof JP2GDALOpenJPEGImageReaderSpi)
+    if 
(name.equals("com.vividsolutions.jump.workbench.imagery.imageio.JP2GDALOpenJPEGImageReaderSpi"))
       return Prioritized.NOPRIORITY; // currently very unstable
     if 
(name.equals("it.geosolutions.imageio.plugins.jp2ecw.JP2GDALEcwImageReaderSpi"))
       return Prioritized.NOPRIORITY; // replaced by our patched version under 
com.vividsolutions.jump.workbench.imagery
     
     // we've got some patched
-    if (name.startsWith("com.vividsolutions.jump.workbench.imagery"))
+    if (name.startsWith("com.vividsolutions.jump.workbench.imagery")) {
       return 10;
-    // prefer imageio-ext readers
+    }
+    // prefer oss jai core implementation over all
+    else if (name.startsWith("com.github.jaiimageio")){
+      return 19;
+    }
+    // next are imageio-ext readers
     else if (name.startsWith("it.geosolutions.imageio")){
       // prefer plain java readers
-      if (loader instanceof GDALImageReaderSpi)
+      if (classGDALImageReaderSpiAvailable && loader instanceof 
GDALImageReaderSpi)
         return 25;
       return 20;
     }
@@ -239,6 +255,7 @@
       if (c == null || c2 == null)
         return false;
     } catch (ClassNotFoundException e) {
+      Logger.error(e);
       return false;
     }
     

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoRaster.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoRaster.java  
    2020-09-11 16:20:30 UTC (rev 6440)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoRaster.java  
    2020-09-11 19:17:31 UTC (rev 6441)
@@ -88,7 +88,7 @@
   private ImageReader src_reader = null;
   private Object src_input = null;
   protected String type = null;
-  protected String loader = null;
+  protected Object used_loader = null;
   protected RenderingHints cache_hints;
   private TileCache cache;
   private RecyclingTileFactory rtf;
@@ -109,6 +109,16 @@
     });
   }
 
+  static boolean areGDALClassesAvailable = false;
+  static {
+    try {
+      
Class.forName("it.geosolutions.imageio.gdalframework.GDALImageReaderSpi");
+      Class.forName("it.geosolutions.imageio.gdalframework.GDALUtilities");
+      Class.forName("it.geosolutions.imageio.utilities.ImageIOUtilities");
+      areGDALClassesAvailable = true;
+    } catch (ClassNotFoundException e) {} // eat it
+  }
+
   public GeoRaster(String imageFileLocation) {
     this(imageFileLocation, null);
   }
@@ -167,13 +177,14 @@
       }
       // fixed reader is imageio reader
       else if (fixed_reader instanceof ImageReaderSpi)
-        affirmed_readers = Arrays
-            .asList(new ImageReaderSpi[] { (ImageReaderSpi) fixed_reader });
-      // fixed reader is something else, hopefully jai codec ;)
-      // simply define an empty imageio reader list here to skip to jai below
-      else
-        affirmed_readers = new ArrayList();
+        affirmed_readers = Collections.singletonList((ImageReaderSpi) 
fixed_reader);
+      else {
+        // fixed reader is something else, hopefully jai codec ;)
+        // simply define an empty imageio reader list here to skip to jai below
+        affirmed_readers = Collections.emptyList();
+      }
 
+      // this is skipped if list is empty
       // TODO: not sure looping makes sense here as image is
       // actually rendered much later
       for (Iterator<ImageReaderSpi> i = affirmed_readers.listIterator(); i
@@ -181,30 +192,31 @@
 
         ImageReaderSpi readerSpi = ((ImageReaderSpi) i.next());
 
-        src_input = createInput(uri, readerSpi);
+        Logger.trace("Trying reader "+GeoImageFactory.loaderString(readerSpi));
 
-        src_reader = readerSpi.createReaderInstance(/* src_input */);
-//        System.out.println("GR fetch: " + src_reader + "/" + src_input);
-        src_reader.setInput(src_input);
-        pbjImageRead.setParameter("Input", src_input);
-        pbjImageRead.setParameter("Reader", src_reader);
+        try {
+          src_input = createInput(uri, readerSpi);
 
-        // set info vars
-        type = src_reader.getFormatName();
-        loader = src_reader.getClass().getCanonicalName();
-        
-        try {
+          src_reader = readerSpi.createReaderInstance(/* src_input */);
+
+          src_reader.setInput(src_input);
+          pbjImageRead.setParameter("Input", src_input);
+          pbjImageRead.setParameter("Reader", src_reader);
+  
           src = JAI.create("ImageRead", pbjImageRead, null);
 
           // success OR dispose & try plain JAI below
-          if (src != null && src.getWidth() > 0)
+          if (src != null && src.getWidth() > 0) {
+            // set info vars
+            type = src_reader.getFormatName();
+            used_loader = src_reader;
             return;
+          }
           else
             dispose();
         } catch (Exception e) {
-          // TODO: handle more gracefully, continue with next reader on error
-          // e.printStackTrace();
-//          System.out.println("GRR fail: " + e.getMessage());
+          // ok, this didn't work try the next one
+          Logger.trace(e);
           dispose();
         }
       }
@@ -212,8 +224,7 @@
       throw new ReferencedImageException(e);
     }
 
-    // The following is a fall through option, in case none of the above
-    // readers apply, OK it is unlikely, but what the hell
+    // try JAI codec as fallthrough or if defined
     try {
       if (fixed_reader == null || fixed_reader instanceof ImageCodec)
         createJAIRenderedOP( uri, (ImageCodec)fixed_reader);
@@ -287,10 +298,10 @@
     return type;
   }
 
-  protected String getLoader() {
-    return loader;
+  protected Object getLoader() {
+    return used_loader;
   }
-  
+
   public RenderingHints createCacheRenderingHints() {
     if (src instanceof RenderedOp && src.getWidth() > 2000
         && src.getHeight() > 2000 && cache_hints == null) {
@@ -345,10 +356,12 @@
       } else {
         src = JAI.create("fileload", uri.getPath());
       }
+      // set info vars
+      type = codec.getFormatName();
+      used_loader = codec;
     } finally {
       // reregister removed codecs
       for (ImageCodec imageCodec : removed_codecs) {
-//        System.out.println("reregister " + imageCodec.getFormatName());
         ImageCodec.registerCodec(imageCodec);
       }
     }
@@ -356,7 +369,8 @@
 
   public void dispose() {
     if (src instanceof RenderedImage) {
-      ImageIOUtilities.disposeImage(src);
+      if (areGDALClassesAvailable)
+        ImageIOUtilities.disposeImage(src);
       src = null;
     }
     if (src_reader instanceof ImageReader) {
@@ -422,9 +436,11 @@
     resetGDALReaderSelection();
 
     // fetch all readers
-     final Iterator<? extends ImageReaderSpi> iter = IIORegistry
-     .getDefaultInstance().getServiceProviders(ImageReaderSpi.class, true);
-     
+    final Iterator<? extends ImageReaderSpi> iter = IIORegistry
+     .getDefaultInstance().getServiceProviders(ImageReaderSpi.class, false);
+    
+    //Logger.trace("IIORegistry holds 
"+Arrays.toString(Lists.newArrayList(iter).toArray()));
+    
     // iterate all readers and return only valid ones
     ImageReaderSpi provider;
     List<ImageReaderSpi> affirmed_readers = new Vector<ImageReaderSpi>();
@@ -431,6 +447,8 @@
     while (iter.hasNext()) {
       provider = iter.next();
 
+      //Logger.trace("test "+GeoImageFactory.loaderString(provider));
+
       if (filter != null && !(filter.isInstance(provider)))
         continue;
 
@@ -437,7 +455,7 @@
       // imageio-ext is botched here. actually it registers loaders, that don't
       // check if they are really existing in the underlying gdal build
       // no prob, we simply do the checking here then
-      if (provider instanceof GDALImageReaderSpi
+      if (areGDALClassesAvailable && provider instanceof GDALImageReaderSpi
           && !((GDALImageReaderSpi) provider).isAvailable() ) {
         continue;
       }
@@ -512,12 +530,15 @@
         .getDefaultInstance().getServiceProviders(ImageReaderSpi.class, true);
     while (iter.hasNext()) {
       ImageReaderSpi provider = iter.next();
+      Logger.trace("GeoRaster.listAllReaders(): "+provider.toString());
       // imageio-ext is botched here. actually it registers loaders, that don't
       // check if they are really existing in the loaded gdal build
-      if (provider instanceof GDALImageReaderSpi
+      if (areGDALClassesAvailable && provider instanceof GDALImageReaderSpi
           && !((GDALImageReaderSpi) provider).isAvailable() ) {
+        Logger.trace("unavailable");
         continue;
       }
+      Logger.trace("added");
       loaders.add(provider);
     }
     // add JAI codecs
@@ -594,7 +615,7 @@
   }
 
   static void resetGDALReaderSelection() {
-    if (!GDALUtilities.isGDALAvailable())
+    if (!areGDALClassesAvailable || !GDALUtilities.isGDALAvailable())
       return;
     gdal.SetConfigOption("GDAL_SKIP", "");
     gdal.AllRegister();

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoReferencedRaster.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoReferencedRaster.java
    2020-09-11 16:20:30 UTC (rev 6440)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/imagery/geoimg/GeoReferencedRaster.java
    2020-09-11 19:17:31 UTC (rev 6441)
@@ -34,6 +34,7 @@
 
 import it.geosolutions.imageio.core.CoreCommonImageMetadata;
 import it.geosolutions.imageio.gdalframework.GDALImageReaderSpi;
+import it.geosolutions.imageio.gdalframework.GDALUtilities;
 
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
@@ -188,9 +189,8 @@
 
   private void parseGDALMetaData(URI uri) throws ReferencedImageException {
 
-    // if (!GDALUtilities.isGDALAvailable())
-    // throw new
-    // ReferencedImageException("no gdal metadata available because gdal is 
not properly loaded.");
+    if (!areGDALClassesAvailable || !GDALUtilities.isGDALAvailable())
+      throw new ReferencedImageException("no gdal metadata available because 
gdal is not properly loaded.");
 
     // gdal geo info
     List<ImageReaderSpi> readers;
@@ -278,6 +278,10 @@
 
   }
 
+  /**
+   * initialize the img and try to parse geo infos via (in this order)
+   * worldfile, gdal or geotiff
+   */
   protected void readRasterfile() throws ReferencedImageException {
     super.readRasterfile();
 
@@ -298,7 +302,6 @@
       Logger.debug("Worldfile geo metadata unavailable: " + e.getMessage());
     }
 
-    //if (false)
     try {
       // Get access to the tags and geokeys.
       // First, try to get the TIFF directory
@@ -323,6 +326,11 @@
       Logger.debug("XTIFF geo metadata unavailable: " + e.getMessage());
     }
 
+    Logger.info("No georeference found! Will use default 0,0 placement.");
+    JUMPWorkbench.getInstance().getFrame()
+        .warnUser(this.getClass().getName() + ".no-geo-reference-found");
+
+    // set up a default envelope
     double[] tags = new double[6];
     tags[0] = 1; // pixel size in x
                  // direction
@@ -337,11 +345,6 @@
                  // center of the upper
                  // left pixel
     setEnvelope(tags);
-
-    Logger.info("No georeference found! Will use default 0,0 placement.");
-    JUMPWorkbench.getInstance().getFrame()
-        .warnUser(this.getClass().getName() + ".no-geo-reference-found");
-
   }
 
   private void setEnvelope(double[] tags) {

Modified: core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java 2020-09-11 
16:20:30 UTC (rev 6440)
+++ core/trunk/src/org/openjump/core/rasterimage/TiffUtils.java 2020-09-11 
19:17:31 UTC (rev 6441)
@@ -368,7 +368,7 @@
         RenderedOp renderedOp = null;
                try {
                        //First try with JAI Image I/O "ImageRead"
-                       GeoReferencedRaster     geoRaster = new  
GeoReferencedRaster(tiffFile.toURI().toString());
+                       GeoReferencedRaster     geoRaster = new  
GeoReferencedRaster(tiffFile.toURI().toString(), new 
com.github.jaiimageio.impl.plugins.tiff.TIFFImageReaderSpi());
                        renderedOp = geoRaster.getImage();
                  } 
                catch (Exception e) {



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

Reply via email to