diff options
Diffstat (limited to 'jurt/com/sun/star/comp/loader/JavaLoader.java')
-rw-r--r-- | jurt/com/sun/star/comp/loader/JavaLoader.java | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/jurt/com/sun/star/comp/loader/JavaLoader.java b/jurt/com/sun/star/comp/loader/JavaLoader.java index fb7c6d8372da..8244d43c326c 100644 --- a/jurt/com/sun/star/comp/loader/JavaLoader.java +++ b/jurt/com/sun/star/comp/loader/JavaLoader.java @@ -84,49 +84,49 @@ public class JavaLoader implements XImplementationLoader, */ private String expand_url( String url ) throws RuntimeException { - if (url != null && url.startsWith( EXPAND_PROTOCOL_PREFIX )) { - try { - if (m_xMacroExpander == null) { - XPropertySet xProps = - UnoRuntime.queryInterface( - XPropertySet.class, multiServiceFactory ); - if (xProps == null) { - throw new com.sun.star.uno.RuntimeException( - "service manager does not support XPropertySet!", - this ); - } - XComponentContext xContext = (XComponentContext) - AnyConverter.toObject( - new Type( XComponentContext.class ), - xProps.getPropertyValue( "DefaultContext" ) ); - m_xMacroExpander = (XMacroExpander)AnyConverter.toObject( - new Type( XMacroExpander.class ), - xContext.getValueByName( - "/singletons/com.sun.star.util.theMacroExpander" ) - ); - } - // decode uric class chars - String macro = URLDecoder.decode( - StringHelper.replace( - url.substring( EXPAND_PROTOCOL_PREFIX.length() ), - '+', "%2B" ), "UTF-8" ); - // expand macro string - String ret = m_xMacroExpander.expandMacros( macro ); - if (DEBUG) { - System.err.println( - "JavaLoader.expand_url(): " + url + " => " + - macro + " => " + ret ); + if (url == null || !url.startsWith( EXPAND_PROTOCOL_PREFIX )) { + return url; + } + try { + if (m_xMacroExpander == null) { + XPropertySet xProps = + UnoRuntime.queryInterface( + XPropertySet.class, multiServiceFactory ); + if (xProps == null) { + throw new com.sun.star.uno.RuntimeException( + "service manager does not support XPropertySet!", + this ); } - return ret; - } catch (com.sun.star.uno.Exception exc) { - throw new com.sun.star.uno.RuntimeException( - exc.getMessage(), this ); - } catch (java.lang.Exception exc) { - throw new com.sun.star.uno.RuntimeException( - exc.getMessage(), this ); + XComponentContext xContext = (XComponentContext) + AnyConverter.toObject( + new Type( XComponentContext.class ), + xProps.getPropertyValue( "DefaultContext" ) ); + m_xMacroExpander = (XMacroExpander)AnyConverter.toObject( + new Type( XMacroExpander.class ), + xContext.getValueByName( + "/singletons/com.sun.star.util.theMacroExpander" ) + ); + } + // decode uric class chars + String macro = URLDecoder.decode( + StringHelper.replace( + url.substring( EXPAND_PROTOCOL_PREFIX.length() ), + '+', "%2B" ), "UTF-8" ); + // expand macro string + String ret = m_xMacroExpander.expandMacros( macro ); + if (DEBUG) { + System.err.println( + "JavaLoader.expand_url(): " + url + " => " + + macro + " => " + ret ); } + return ret; + } catch (com.sun.star.uno.Exception exc) { + throw new com.sun.star.uno.RuntimeException( + exc.getMessage(), this ); + } catch (java.lang.Exception exc) { + throw new com.sun.star.uno.RuntimeException( + exc.getMessage(), this ); } - return url; } /** |