diff options
Diffstat (limited to 'libjava/javax/naming/InitialContext.java')
-rw-r--r-- | libjava/javax/naming/InitialContext.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/libjava/javax/naming/InitialContext.java b/libjava/javax/naming/InitialContext.java index 715f30a..e2a1ac6 100644 --- a/libjava/javax/naming/InitialContext.java +++ b/libjava/javax/naming/InitialContext.java @@ -240,12 +240,28 @@ public class InitialContext implements Context public Object lookup (Name name) throws NamingException { - return getURLOrDefaultInitCtx (name).lookup (name); + try + { + return getURLOrDefaultInitCtx (name).lookup (name); + } + catch (CannotProceedException cpe) + { + Context ctx = NamingManager.getContinuationContext (cpe); + return ctx.lookup (cpe.getRemainingName()); + } } public Object lookup (String name) throws NamingException { - return getURLOrDefaultInitCtx (name).lookup (name); + try + { + return getURLOrDefaultInitCtx (name).lookup (name); + } + catch (CannotProceedException cpe) + { + Context ctx = NamingManager.getContinuationContext (cpe); + return ctx.lookup (cpe.getRemainingName()); + } } public void rebind (Name name, Object obj) throws NamingException @@ -367,7 +383,8 @@ public class InitialContext implements Context public void close () throws NamingException { - throw new OperationNotSupportedException (); + myProps = null; + defaultInitCtx = null; } public String getNameInNamespace () throws NamingException |