@ -1,5 +1,5 @@
/ *
/ *
* Copyright 2012 - 201 6 the original author or authors .
* Copyright 2012 - 201 7 the original author or authors .
*
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* you may not use this file except in compliance with the License .
@ -71,8 +71,6 @@ public class Handler extends URLStreamHandler {
rootFileCache = new SoftReference < Map < File , JarFile > > ( null ) ;
rootFileCache = new SoftReference < Map < File , JarFile > > ( null ) ;
}
}
private final Logger logger = Logger . getLogger ( getClass ( ) . getName ( ) ) ;
private final JarFile jarFile ;
private final JarFile jarFile ;
private URLStreamHandler fallbackHandler ;
private URLStreamHandler fallbackHandler ;
@ -105,10 +103,10 @@ public class Handler extends URLStreamHandler {
}
}
catch ( Exception ex ) {
catch ( Exception ex ) {
if ( reason instanceof IOException ) {
if ( reason instanceof IOException ) {
this . logger . log ( Level . FINEST , "Unable to open fallback handler" , ex ) ;
log ( false , "Unable to open fallback handler" , ex ) ;
throw ( IOException ) reason ;
throw ( IOException ) reason ;
}
}
this . logger . log ( Level . WARNING , "Unable to open fallback handler" , ex ) ;
log ( true , "Unable to open fallback handler" , ex ) ;
if ( reason instanceof RuntimeException ) {
if ( reason instanceof RuntimeException ) {
throw ( RuntimeException ) reason ;
throw ( RuntimeException ) reason ;
}
}
@ -116,6 +114,18 @@ public class Handler extends URLStreamHandler {
}
}
}
}
private void log ( boolean warning , String message , Exception cause ) {
try {
Logger . getLogger ( getClass ( ) . getName ( ) )
. log ( ( warning ? Level . WARNING : Level . FINEST ) , message , cause ) ;
}
catch ( Exception ex ) {
if ( warning ) {
System . err . println ( "WARNING: " + message ) ;
}
}
}
private URLStreamHandler getFallbackHandler ( ) {
private URLStreamHandler getFallbackHandler ( ) {
if ( this . fallbackHandler ! = null ) {
if ( this . fallbackHandler ! = null ) {
return this . fallbackHandler ;
return this . fallbackHandler ;