costin      01/05/15 14:32:27

  Modified:    java/src/org/apache/xalan/extensions ExtensionHandler.java
                        ExtensionHandlerGeneral.java
  Log:
  Make getClassForName a public method. There are few other places in xalan
  where Class.forName is used, and this can create problems in some cases
   where the Thread.getContextClassLoader should be used.
  
  getClassForName uses introspection to call getContextClassLoader
  ( so it works in JDK1.1 ).
  
  In ExtensionHandlerGeneral, use the thread loader to find BSF ( it may be
  possible that xalan is installed in CLASSPATH, but BSF is in a webapp ).
  
  Revision  Changes    Path
  1.13      +1 -1      
xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandler.java
  
  Index: ExtensionHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandler.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ExtensionHandler.java     2001/01/02 03:36:33     1.12
  +++ ExtensionHandler.java     2001/05/15 21:32:14     1.13
  @@ -115,7 +115,7 @@
      * 
      * @param className Name of the class to load
      */
  -  static Class getClassForName(String className)
  +  public static Class getClassForName(String className)
         throws ClassNotFoundException
     {
       Class result = null;
  
  
  
  1.11      +4 -2      
xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerGeneral.java
  
  Index: ExtensionHandlerGeneral.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerGeneral.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ExtensionHandlerGeneral.java      2001/01/02 03:36:33     1.10
  +++ ExtensionHandlerGeneral.java      2001/05/15 21:32:17     1.11
  @@ -136,11 +136,13 @@
     {
       try
       {
  -      managerClass = Class.forName(BSF_MANAGER);
  +      //managerClass = Class.forName(BSF_MANAGER);
  +      managerClass = ExtensionHandler.getClassForName(BSF_MANAGER);
         mgrLoadScriptingEngine = managerClass.getMethod("loadScriptingEngine",
                 new Class[]{ String.class });
   
  -      Class engineClass = Class.forName(BSF_ENGINE);
  +      //Class engineClass = Class.forName(BSF_ENGINE);
  +      Class engineClass = ExtensionHandler.getClassForName(BSF_ENGINE);
   
         engineExec = engineClass.getMethod("exec", new Class[]{ String.class,
                                                                 Integer.TYPE,
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to