diff options
Diffstat (limited to 'libjava/classpath/java/awt/datatransfer')
-rw-r--r-- | libjava/classpath/java/awt/datatransfer/DataFlavor.java | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/libjava/classpath/java/awt/datatransfer/DataFlavor.java b/libjava/classpath/java/awt/datatransfer/DataFlavor.java index 32bf4d6..788ae6d 100644 --- a/libjava/classpath/java/awt/datatransfer/DataFlavor.java +++ b/libjava/classpath/java/awt/datatransfer/DataFlavor.java @@ -157,38 +157,42 @@ public class DataFlavor implements java.io.Externalizable, Cloneable ClassLoader classLoader) throws ClassNotFoundException { + // Bootstrap try { - return(Class.forName(className)); + return Class.forName(className); } - catch(Exception e) { ; } - // Commented out for Java 1.1 - /* - try + catch(ClassNotFoundException cnfe) { - return(className.getClass().getClassLoader().findClass(className)); + // Ignored. } - catch(Exception e) { ; } + // System try { - return(ClassLoader.getSystemClassLoader().findClass(className)); + ClassLoader loader = ClassLoader.getSystemClassLoader(); + return Class.forName(className, true, loader); } - catch(Exception e) { ; } - */ - - // FIXME: What is the context class loader? - /* + catch(ClassNotFoundException cnfe) + { + // Ignored. + } + + // Context try { + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + return Class.forName(className, true, loader); } - catch(Exception e) { ; } - */ - + catch(ClassNotFoundException cnfe) + { + // Ignored. + } + if (classLoader != null) - return(classLoader.loadClass(className)); - else - throw new ClassNotFoundException(className); + return Class.forName(className, true, classLoader); + + throw new ClassNotFoundException(className); } private static Class getRepresentationClassFromMime(String mimeString, @@ -203,7 +207,13 @@ public class DataFlavor implements java.io.Externalizable, Cloneable } catch(Exception e) { - throw new IllegalArgumentException("classname: " + e.getMessage()); + IllegalArgumentException iae; + iae = new IllegalArgumentException("mimeString: " + + mimeString + + " classLoader: " + + classLoader); + iae.initCause(e); + throw iae; } } else |