From eb9a2c3ae76b862254669b798b51b2b848616b6a Mon Sep 17 00:00:00 2001 From: Mark Spruiell Date: Tue, 7 Apr 2015 13:51:23 -0700 Subject: ICE-6402 - IceSSL.DefaultDir fixes --- java/src/Ice/src/main/java/IceSSL/SSLEngine.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'java/src') diff --git a/java/src/Ice/src/main/java/IceSSL/SSLEngine.java b/java/src/Ice/src/main/java/IceSSL/SSLEngine.java index 9eb18224828..354473a0d9b 100644 --- a/java/src/Ice/src/main/java/IceSSL/SSLEngine.java +++ b/java/src/Ice/src/main/java/IceSSL/SSLEngine.java @@ -1096,12 +1096,25 @@ class SSLEngine private java.io.InputStream openResource(String path) throws java.io.IOException { + boolean isAbsolute = false; + try + { + new java.net.URL(path); + isAbsolute = true; + } + catch(java.net.MalformedURLException ex) + { + java.io.File f = new java.io.File(path); + isAbsolute = f.isAbsolute(); + } + + java.io.InputStream stream = IceInternal.Util.openResource(getClass().getClassLoader(), path); + // - // This method wraps a call to IceInternal.Util.openResource. If the first call fails and - // IceSSL.DefaultDir is defined, prepend the default directory and try again. + // If the first attempt fails and IceSSL.DefaultDir is defined and the original path is relative, + // we prepend the default directory and try again. // - java.io.InputStream stream = IceInternal.Util.openResource(getClass().getClassLoader(), path); - if(stream == null && _defaultDir.length() > 0) + if(stream == null && _defaultDir.length() > 0 && !isAbsolute) { stream = IceInternal.Util.openResource(getClass().getClassLoader(), _defaultDir + java.io.File.separator + path); -- cgit v1.2.3