You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2006/08/21 21:03:52 UTC
svn commit: r433326 -
/geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
Author: dain
Date: Mon Aug 21 12:03:52 2006
New Revision: 433326
URL: http://svn.apache.org/viewvc?rev=433326&view=rev
Log:
Consolidated common lookup code in AbstractContext
Modified:
geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
Modified: geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java?rev=433326&r1=433325&r2=433326&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java (original)
+++ geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java Mon Aug 21 12:03:52 2006
@@ -126,6 +126,18 @@
throw new NameNotFoundException(stringName);
}
+ protected Context lookupFinalContext(Name name) throws NamingException {
+ Object value = lookup(name.getPrefix(name.size() - 1));
+
+ if (value == null) {
+ throw new NotContextException("The intermediate context " + name.get(name.size() - 1) + " does not exist");
+ } else if (!(value instanceof Context)) {
+ throw new NotContextException("The intermediate context " + name.get(name.size() - 1) + " does is not a context");
+ } else {
+ return (Context) value;
+ }
+ }
+
//
// List Bindings
//
@@ -149,18 +161,7 @@
return;
}
- Context context = this;
- for (int i = 0; i < name.size() - 1; i++) {
- String segment = name.get(i);
- Object object = context.lookup(segment);
- if (object == null) {
- throw new NotContextException("The intermediate context " + segment + " does not exist");
- } else if (!(object instanceof Context)) {
- throw new NotContextException("The intermediate context " + segment + " does is not a context");
- } else {
- context = (Context) object;
- }
- }
+ Context context = lookupFinalContext(name);
String lastSegment = name.get(name.size() - 1);
if (rebind) {
@@ -185,18 +186,7 @@
return;
}
- Context context = this;
- for (int i = 0; i < name.size() - 1; i++) {
- String segment = name.get(i);
- Object object = context.lookup(segment);
- if (object == null) {
- throw new NotContextException("The intermediate context " + segment + " does not exist");
- } else if (!(object instanceof Context)) {
- throw new NotContextException("The intermediate context " + segment + " does is not a context");
- } else {
- context = (Context) object;
- }
- }
+ Context context = lookupFinalContext(name);
context.unbind(name.getSuffix(name.size() - 1));
}