OSDN Git Service

2003-09-18 Dalibor Topic <robilad@kaffe.org>,
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2003 19:51:39 +0000 (19:51 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2003 19:51:39 +0000 (19:51 +0000)
    Helmer Kraemer <hkraemer@freenet.de>

* javax/naming/spi/NamingManager.java (getURLContext,
getObjectInstance, getStateToBind): Always use current thread's
context class loader when calling Class.forName.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71534 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/javax/naming/spi/NamingManager.java

index fbe4072..0872771 100644 (file)
@@ -1,3 +1,10 @@
+2003-09-18  Dalibor Topic <robilad@kaffe.org>,
+           Helmer Kraemer <hkraemer@freenet.de>
+
+       * javax/naming/spi/NamingManager.java (getURLContext,
+       getObjectInstance, getStateToBind): Always use current thread's
+       context class loader when calling Class.forName.
+
 2003-09-18  Michael Koch  <konqueror@gmx.de>
 
        * java/util/Timer.java (finalize): Added "throws Throwable".
index 8b215ce..65ce2d2 100644 (file)
@@ -129,7 +129,9 @@ public class NamingManager
        String aTry = tokens.nextToken ();
        try
          {
-           Class factoryClass = Class.forName (aTry + "." + scheme);
+           Class factoryClass = Class.forName (aTry + "." + scheme,
+                                               true,
+                                               Thread.currentThread().getContextClassLoader());
            ObjectFactory factory =
              (ObjectFactory) factoryClass.newInstance ();
            Object obj = factory.getObjectInstance (refInfo, name,
@@ -231,7 +233,9 @@ public class NamingManager
            if (fClass != null)
              {
                // Exceptions here are passed to the caller.
-               Class k = Class.forName (fClass);
+               Class k = Class.forName (fClass,
+                                        true,
+                                        Thread.currentThread().getContextClassLoader());
                factory = (ObjectFactory) k.newInstance ();
              }
            else
@@ -275,7 +279,9 @@ public class NamingManager
            while (tokens.hasMoreTokens ())
              {
                String klassName = tokens.nextToken ();
-               Class k = Class.forName (klassName);
+               Class k = Class.forName (klassName,
+                                        true,
+                                        Thread.currentThread().getContextClassLoader());
                factory = (ObjectFactory) k.newInstance ();
                Object obj = factory.getObjectInstance (refInfo, name,
                                                        nameCtx, environment);
@@ -341,7 +347,9 @@ public class NamingManager
        String klassName = tokens.nextToken ();
        try
          {
-           Class k = Class.forName (klassName);
+           Class k = Class.forName (klassName,
+                                    true,
+                                    Thread.currentThread().getContextClassLoader());
            StateFactory factory = (StateFactory) k.newInstance ();
            Object o = factory.getStateToBind (obj, name, nameCtx,
                                               environment);