[Top][All Lists]
[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);
}
/**
signature.asc
Description: This is a digitally signed message part
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] java.rmi.Naming lookup, bind, rebind fixlet,
Mark Wielaard <=