PatchSet 4031 
Date: 2003/09/13 21:30:13
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Fixes to get Tomcat 4.1.27 to load

It doesn't load completely: it gets a NullPointerException trying
to parse the definition file for the examples. Running it under
gdb with VM debugging enabled crashes at interesting execution
points. But at least the web server seems to work well enough

Members: 
        ChangeLog:1.1627->1.1628 
        libraries/javalib/java/net/URLClassLoader.java:1.11->1.12 
        libraries/javalib/javax/naming/spi/NamingManager.java:1.2->1.3 
        libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java:1.5->1.6 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1627 kaffe/ChangeLog:1.1628
--- kaffe/ChangeLog:1.1627      Sat Sep 13 12:30:46 2003
+++ kaffe/ChangeLog     Sat Sep 13 21:30:13 2003
@@ -1,3 +1,20 @@
+2003-09-13  Dalibor Topic <[EMAIL PROTECTED]>,
+            Helmer Kraemer  <[EMAIL PROTECTED]>
+
+       * libraries/javalib/javax/naming/spi/NamingManager.java:
+       (getURLContext, getObjectInstance, getStateToBind) Always use
+       current thread's context class loader when calling Class.forName.
+
+2003-09-13  Dalibor Topic <[EMAIL PROTECTED]>
+       
+       * libraries/javalib/java/net/URLClassLoader.java
+       (findResourceInternal) Only attempt to call diconnect if
+       URLConnection u is a HttpURLConnection to avoid creating
+       unnecessary exceptions.
+
+       * libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java:
+       (connect) Improved exception message.
+       
 2003-09-13  Dalibor Topic <[EMAIL PROTECTED]>
 
        * libraries/clib/native/Runtime.c:
Index: kaffe/libraries/javalib/java/net/URLClassLoader.java
diff -u kaffe/libraries/javalib/java/net/URLClassLoader.java:1.11 
kaffe/libraries/javalib/java/net/URLClassLoader.java:1.12
--- kaffe/libraries/javalib/java/net/URLClassLoader.java:1.11   Mon Jul  7 13:46:35 
2003
+++ kaffe/libraries/javalib/java/net/URLClassLoader.java        Sat Sep 13 21:30:14 
2003
@@ -185,12 +185,10 @@
 
                                // Try to get it, to see if it's really there
                                URLConnection u = url.openConnection();
-
-                               // Try not to leave a lingering connection
-                               try {
-                                       u.getClass().getMethod("disconnect",
-                                           null).invoke(u, new Object[0]);
-                               } catch (Exception e) {
+                             
+                               // Try not to leave a lingering HTTP connection
+                               if (u instanceof HttpURLConnection) {
+                                 ((HttpURLConnection) u).disconnect();
                                }
                        
                                if (v != null) {
@@ -199,8 +197,10 @@
                                        return url;
                                }
                        } catch (IOException e) {       // resource not found
+                               // e.printStackTrace();
                        }
                }
+
                return null; 
        }
 
Index: kaffe/libraries/javalib/javax/naming/spi/NamingManager.java
diff -u kaffe/libraries/javalib/javax/naming/spi/NamingManager.java:1.2 
kaffe/libraries/javalib/javax/naming/spi/NamingManager.java:1.3
--- kaffe/libraries/javalib/javax/naming/spi/NamingManager.java:1.2     Sun Aug 10 
18:47:57 2003
+++ kaffe/libraries/javalib/javax/naming/spi/NamingManager.java Sat Sep 13 21:30:14 
2003
@@ -129,7 +129,9 @@
        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 @@
            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 @@
            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 @@
        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);
Index: kaffe/libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java
diff -u kaffe/libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java:1.5 
kaffe/libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java:1.6
--- kaffe/libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java:1.5       
 Thu Nov 22 06:21:25 2001
+++ kaffe/libraries/javalib/kaffe/net/www/protocol/jar/JarURLConnection.java    Sat 
Sep 13 21:30:15 2003
@@ -87,7 +87,9 @@
                        jarEntry = jarFile.getEntry(jarEntryName);
                        if (jarEntry == null) {
                                throw new IOException("JAR entry \""
-                                   + jarEntryName + "\" not found");
+                                                     + jarEntryName
+                                                     + "\" not found in JAR file "
+                                                     + jarFile.getName());
                        }
                }
                connected = true;

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to