summaryrefslogtreecommitdiff
path: root/odk/source
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-08-29 11:40:11 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-08-29 12:09:08 +0200
commit617c5e44e13eb12dd58559289bc83def9f2b77e9 (patch)
tree22cc8fb9bf2da1d60c66cc5add3bae001318e169 /odk/source
parent99138b6400a4fb1216fc331b65d17419d98a4805 (diff)
[API CHANGE] Remove obsolete com.sun.star.comp.helper.UnoInfo
It had originally been used in the SDK's "Simple Bootstrap" for Java, com.sun.star.lib.loader.Loader class, but only left in there for backwards compatibility with pre--three-layer OOo versions (i.e., < OOo 3) when that Loader was switched to use the unoinfo executable with the fix for #i88687# "C++/Java Simple Bootstrap broken" in e2b7ea631a5e7297346ec826527a019e2baca020 "INTEGRATION: CWS sb87 (1.5.10); FILE MERGED: 2008/05/07 11:34:25 sb 1.5.10.1: #i88687# let Loader call new unoinfo instead of old juh.jar UnoInfo.getJars." Recent work in AOO to undo three-layer caused AOO to now accidentally use the backwards-compatibility code, so AOO ran into a problem that they solved with a change to com.sun.star.comp.helper.UnoInfo that LO erroneously merged in as 95ada2d65f6d999920f2a04599ac132fa632d66d "Related: #i122483# set correct classpath, include unoil.jar." The better approach is to get rid of that backwards-compatibility code and remove the obsolete UnoInfo class. While this is nominally incompatible, in practice no other client code but the SDK's com.sun.star.lib.loader.Loader should ever have used it (it should have been designed as a private interface for just that one client from the start, anyway). Java applications using "Simple Bootstrap" and built against old versions of the SDK (post the fix for #i88687# and its introduction of the unoinfo exectuable in OOo 3) will continue to work against new LO versions (as the backwards-compatibility code that would call the removed UnoInfo class will not be triggered anyway; and even if it were, all resulting exceptions would be caught and the new code path using the unoinfo executable be chosen then). Likewise, Java applications using "Simple Bootstrap" and built against the new SDK will continue to work against old OOo/LO/AOO vesions as far back as the fix for #i88687# and its introduction of the unoinfo exectuable in OOo 3. Change-Id: I64824ed002c3ccdf6912eab67499beb0c423081e
Diffstat (limited to 'odk/source')
-rw-r--r--odk/source/com/sun/star/lib/loader/Loader.java50
1 files changed, 1 insertions, 49 deletions
diff --git a/odk/source/com/sun/star/lib/loader/Loader.java b/odk/source/com/sun/star/lib/loader/Loader.java
index a11937d72993..d6b67b7ee6db 100644
--- a/odk/source/com/sun/star/lib/loader/Loader.java
+++ b/odk/source/com/sun/star/lib/loader/Loader.java
@@ -22,7 +22,6 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.JarURLConnection;
import java.net.MalformedURLException;
@@ -137,10 +136,6 @@ public final class Loader {
* @return the customized class loader
*/
public static synchronized ClassLoader getCustomLoader() {
-
- final String CLASSESDIR = "classes";
- final String JUHJAR = "juh.jar";
-
if ( m_Loader == null ) {
// get the urls from which to load classes and resources
@@ -164,50 +159,7 @@ public final class Loader {
// from the UNO installation
String path = InstallationFinder.getPath();
if ( path != null ) {
- File fClassesDir = new File( path, CLASSESDIR );
- File fJuh = new File( fClassesDir, JUHJAR );
- if ( fJuh.exists() ) {
- URL[] clurls = new URL[1];
- try {
- clurls[0] = fJuh.toURI().toURL();
- ClassLoader cl = new CustomURLClassLoader( clurls );
- Class c = cl.loadClass(
- "com.sun.star.comp.helper.UnoInfo" );
- Method m = c.getMethod( "getJars", (Class[]) null );
- URL[] jarurls = (URL[]) m.invoke(
- null, (Object[]) null );
- for ( int i = 0; i < jarurls.length; i++ ) {
- vec.add( jarurls[i] );
- }
- } catch ( MalformedURLException e ) {
- // don't add the UNO jar files to the list of class
- // loader URLs
- System.err.println( "com.sun.star.lib.loader.Loader::" +
- "getCustomLoader: cannot add UNO jar files: " + e );
- } catch ( ClassNotFoundException e ) {
- // don't add the UNO jar files to the list of class
- // loader URLs
- System.err.println( "com.sun.star.lib.loader.Loader::" +
- "getCustomLoader: cannot add UNO jar files: " + e );
- } catch ( NoSuchMethodException e ) {
- // don't add the UNO jar files to the list of class
- // loader URLs
- System.err.println( "com.sun.star.lib.loader.Loader::" +
- "getCustomLoader: cannot add UNO jar files: " + e );
- } catch ( IllegalAccessException e ) {
- // don't add the UNO jar files to the list of class
- // loader URLs
- System.err.println( "com.sun.star.lib.loader.Loader::" +
- "getCustomLoader: cannot add UNO jar files: " + e );
- } catch ( InvocationTargetException e ) {
- // don't add the UNO jar files to the list of class
- // loader URLs
- System.err.println( "com.sun.star.lib.loader.Loader::" +
- "getCustomLoader: cannot add UNO jar files: " + e );
- }
- } else {
- callUnoinfo(path, vec);
- }
+ callUnoinfo(path, vec);
} else {
System.err.println( "com.sun.star.lib.loader.Loader::" +
"getCustomLoader: no UNO installation found!" );