Commit a4dc20a9 by Guilhem Lavaux Committed by Michael Koch

Naming.java (lookup): Check if the first character of the filename returned by…

Naming.java (lookup): Check if the first character of the filename returned by URL.getFile() is a '/'...

2003-12-27  Guilhem Lavaux  <guilhem@kaffe.org>

	* 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.

From-SVN: r75044
parent 45d51d7e
2003-12-27 Guilhem Lavaux <guilhem@kaffe.org>
* 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.
2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
Mark Wielaard <mark@klomp.org>
......
......@@ -62,7 +62,14 @@ public static Remote lookup(String name) throws NotBoundException, MalformedURLE
// 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 Remote lookup(String name) throws NotBoundException, MalformedURLE
*/
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 bind(String name, Remote obj) throws AlreadyBoundException, M
*/
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 unbind(String name) throws RemoteException, NotBoundException
*/
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);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment