commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] java.rmi.Naming lookup, bind, rebind fixlet


From: Mark Wielaard
Subject: [PATCH] java.rmi.Naming lookup, bind, rebind fixlet
Date: Fri, 26 Dec 2003 15:44:42 +0100

Hi,

Another small fixlet from the Kaffe hackers:

2003-12-26  Guilhem Lavaux  <address@hidden>

        * java/rmi/Naming.java (lookup): Check if the first character of the
        filename returned by URL.getFile() is a '/', only if it is the case
        we cut this first character and call the registry with the good name.
        (bind): Likewise.
        (rebind): Likewise.

I will commit this.

Cheers,

Mark
Index: java/rmi/Naming.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/rmi/Naming.java,v
retrieving revision 1.3
diff -u -r1.3 Naming.java
--- java/rmi/Naming.java        12 Aug 2003 12:01:37 -0000      1.3
+++ java/rmi/Naming.java        26 Dec 2003 14:42:40 -0000
@@ -62,7 +62,14 @@
        // hack to accept "rmi://host:port/service" strings
        if(name.startsWith("rmi:")){ name = name.substring(4); }
        URL u = new URL("http:" + name);
-       return (getRegistry(u).lookup(u.getFile().substring(1)));
+       String filename = u.getFile();
+
+       // If the filename begins with a slash we must cut it for
+       // name resolution.
+       if (filename.charAt(0) == '/')
+               return (getRegistry(u).lookup(filename.substring(1)));
+       else
+               return (getRegistry(u).lookup(filename));
 }
 
 /**
@@ -75,7 +82,13 @@
  */
 public static void bind(String name, Remote obj) throws AlreadyBoundException, 
MalformedURLException, RemoteException {
        URL u = new URL("http:" + name);
-       getRegistry(u).bind(u.getFile().substring(1), obj);
+       String filename = u.getFile();
+       // If the filename begins with a slash we must cut it for
+       // name resolution.
+       if (filename.charAt(0) == '/')
+               getRegistry(u).bind(filename.substring(1), obj);
+       else
+               getRegistry(u).bind(filename, obj);
 }
 
 /**
@@ -87,7 +100,13 @@
  */
 public static void unbind(String name) throws RemoteException, 
NotBoundException, MalformedURLException {
        URL u = new URL("http:" + name);
-       getRegistry(u).unbind(u.getFile().substring(1));
+       String filename = u.getFile();
+       // If the filename begins with a slash we must cut it for
+       // name resolution.
+       if (filename.charAt(0) == '/')
+               getRegistry(u).unbind(filename.substring(1));
+       else
+               getRegistry(u).unbind(filename);
 }
 
 /**
@@ -100,7 +119,13 @@
  */
 public static void rebind(String name, Remote obj) throws RemoteException, 
MalformedURLException {
        URL u = new URL("http:" + name);
-       getRegistry(u).rebind(u.getFile().substring(1), obj);
+       String filename = u.getFile();
+       // If the filename begins with a slash we must cut it for
+       // name resolution.
+       if (filename.charAt(0) == '/')
+               getRegistry(u).rebind(filename.substring(1), obj);
+       else
+               getRegistry(u).rebind(filename, obj);
 }
 
 /**

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]