conor 2003/07/24 05:02:51 Modified: src/main/org/apache/tools/ant/util LoaderUtils.java Log: Remove reflection which is no longer required Revision Changes Path 1.11 +14 -59 ant/src/main/org/apache/tools/ant/util/LoaderUtils.java Index: LoaderUtils.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/util/LoaderUtils.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -u -r1.10 -r1.11 --- LoaderUtils.java 19 Jul 2003 11:20:23 -0000 1.10 +++ LoaderUtils.java 24 Jul 2003 12:02:51 -0000 1.11 @@ -54,8 +54,6 @@ package org.apache.tools.ant.util; import java.io.File; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.launch.Locator; @@ -65,50 +63,15 @@ * @author Conor MacNeill */ public class LoaderUtils { - /** The getContextClassLoader method */ - private static Method getContextClassLoader; - /** The setContextClassLoader method */ - private static Method setContextClassLoader; - - // Set up the reflection-based Java2 methods if possible - static { - try { - getContextClassLoader - = Thread.class.getMethod("getContextClassLoader", - new Class[0]); - Class[] setContextArgs = new Class[]{ClassLoader.class}; - setContextClassLoader - = Thread.class.getMethod("setContextClassLoader", - setContextArgs); - } catch (Exception e) { - // ignore any problems accessing the methods - probably JDK 1.1 - } - } - /** - * JDK1.1 compatible access to get the context class loader. Has no - * effect on JDK 1.1 + * Set the context classloader * * @param loader the ClassLoader to be used as the context class loader * on the current thread. */ public static void setContextClassLoader(ClassLoader loader) { - if (setContextClassLoader == null) { - return; - } - - try { Thread currentThread = Thread.currentThread(); - setContextClassLoader.invoke(currentThread, - new Object[]{loader}); - } catch (IllegalAccessException e) { - throw new BuildException - ("Unexpected IllegalAccessException", e); - } catch (InvocationTargetException e) { - throw new BuildException - ("Unexpected InvocationTargetException", e); - } - + currentThread.setContextClassLoader(loader); } @@ -119,21 +82,8 @@ * classloader on the current thread. Returns null on JDK 1.1 */ public static ClassLoader getContextClassLoader() { - if (getContextClassLoader == null) { - return null; - } - - try { Thread currentThread = Thread.currentThread(); - return (ClassLoader) getContextClassLoader.invoke(currentThread, - new Object[0]); - } catch (IllegalAccessException e) { - throw new BuildException - ("Unexpected IllegalAccessException", e); - } catch (InvocationTargetException e) { - throw new BuildException - ("Unexpected InvocationTargetException", e); - } + return currentThread.getContextClassLoader(); } /** @@ -143,8 +93,7 @@ * classloader are available. */ public static boolean isContextLoaderAvailable() { - return getContextClassLoader != null - && setContextClassLoader != null; + return true; } /** @@ -170,7 +119,9 @@ /** * Find the directory or jar file the class has been loaded from. * - * @return null if we cannot determine the location. + * @param c the class whose location is required. + * @return the file or jar with the class or null if we cannot + * determine the location. * * @since Ant 1.6 */ @@ -181,7 +132,11 @@ /** * Find the directory or a give resource has been loaded from. * - * @return null if we cannot determine the location. + * @param c the classloader to be consulted for the source + * @param resource the resource whose location is required. + * + * @return the file with the resource source or null if + * we cannot determine the location. * * @since Ant 1.6 */
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]