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/18 02:01:47 UTC
svn commit: r432439 - in
/geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context:
AbstractContext.java AbstractUnmodifiableContext.java
Author: dain
Date: Thu Aug 17 17:01:46 2006
New Revision: 432439
URL: http://svn.apache.org/viewvc?rev=432439&view=rev
Log:
Removed redundant lookup and list methods from AbstractUnmodifiableContext
Modified:
geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractUnmodifiableContext.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=432439&r1=432438&r2=432439&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 Thu Aug 17 17:01:46 2006
@@ -141,7 +141,16 @@
public Object lookup(String name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
- return lookup(new CompositeName(name));
+
+ Object value = lookup(name, null);
+
+ // if we got a link back we need to resolve it
+ if (value instanceof LinkRef) {
+ LinkRef linkRef = (LinkRef) value;
+ value = lookup(linkRef.getLinkName());
+ }
+
+ return value;
}
public Object lookup(Name name) throws NamingException {
@@ -161,7 +170,7 @@
public Object lookupLink(String name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
- return lookupLink(new CompositeName(name));
+ return lookup(name, null);
}
public Object lookupLink(Name name) throws NamingException {
@@ -237,38 +246,94 @@
// List
//
+ protected NamingEnumeration list() throws NamingException {
+ Map bindings = getBindings();
+ return new ContextUtil.ListEnumeration(bindings);
+ }
+
+ protected NamingEnumeration listBindings() throws NamingException {
+ Map bindings = getBindings();
+ return new ContextUtil.ListBindingEnumeration(bindings);
+ }
+
public NamingEnumeration list(String name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
- return list(new CompositeName(name));
+
+ // if the name is empty, list the current context
+ if (name.length() == 0) {
+ return list();
+ }
+
+ // lookup the target context
+ Object target = lookup(name);
+
+ if (target == this) {
+ return list();
+ } else if (target instanceof Context) {
+ return ((Context) target).list("");
+ } else {
+ throw new NotContextException("The name " + name + " cannot be listed");
+ }
}
public NamingEnumeration list(Name name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
+
+ // if the name is empty, list the current context
if (name.isEmpty()) {
- return new ContextUtil.ListEnumeration(getBindings());
+ return list();
}
+
+ // lookup the target context
Object target = lookup(name);
- if (target instanceof Context) {
+
+ if (target == this) {
+ return list();
+ } else if (target instanceof Context) {
return ((Context) target).list("");
+ } else {
+ throw new NotContextException("The name " + name + " cannot be listed");
}
- throw new NotContextException("The name " + name + " cannot be listed");
}
public NamingEnumeration listBindings(String name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
- return listBindings(new CompositeName(name));
+
+ // if the name is empty, list the current context
+ if (name.length() == 0) {
+ return listBindings();
+ }
+
+ // lookup the target context
+ Object target = lookup(name);
+
+ if (target == this) {
+ return listBindings();
+ } else if (target instanceof Context) {
+ return ((Context) target).listBindings("");
+ } else {
+ throw new NotContextException("The name " + name + " cannot be listed");
+ }
}
public NamingEnumeration listBindings(Name name) throws NamingException {
if (name == null) throw new NullPointerException("name is null");
+
+ // if the name is empty, list the current context
if (name.isEmpty()) {
- return new ContextUtil.ListBindingEnumeration(getBindings());
+ return listBindings();
}
+
+ // lookup the target context
Object target = lookup(name);
- if (target instanceof Context) {
+
+ if (target == this) {
+ return listBindings();
+ } else if (target instanceof Context) {
return ((Context) target).listBindings("");
+ } else {
+ throw new NotContextException("The name " + name + " cannot be listed");
}
- throw new NotContextException("The name " + name + " cannot be listed");
}
//
Modified: geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractUnmodifiableContext.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractUnmodifiableContext.java?rev=432439&r1=432438&r2=432439&view=diff
==============================================================================
--- geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractUnmodifiableContext.java (original)
+++ geronimo/xbean/branches/colossus/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractUnmodifiableContext.java Thu Aug 17 17:01:46 2006
@@ -23,7 +23,6 @@
import javax.naming.LinkRef;
import javax.naming.Name;
import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.NotContextException;
import javax.naming.OperationNotSupportedException;
@@ -157,16 +156,6 @@
throw new OperationNotSupportedException("This context is not listable");
}
- protected NamingEnumeration list() throws NamingException {
- Map bindings = getBindings();
- return new ContextUtil.ListEnumeration(bindings);
- }
-
- protected NamingEnumeration listBindings() throws NamingException {
- Map bindings = getBindings();
- return new ContextUtil.ListBindingEnumeration(bindings);
- }
-
//
// Add Binding
//
@@ -333,105 +322,6 @@
// ==================================================================================
// =================== Final Methods (see methods above) ============================
// ==================================================================================
-
- //
- // Lookup methods
- //
-
- public final Object lookup(String name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object value = lookup(name, null);
-
- // if we got a link back we need to resolve it
- if (value instanceof LinkRef) {
- LinkRef linkRef = (LinkRef) value;
- value = lookup(linkRef.getLinkName());
- }
- return value;
- }
-
- public final Object lookup(Name name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object value = lookup(null, name);
-
- // if we got a link back we need to resolve it
- if (value instanceof LinkRef) {
- LinkRef linkRef = (LinkRef) value;
- value = lookup(linkRef.getLinkName());
- }
-
- return value;
- }
-
- public final Object lookupLink(String name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- return lookup(name, null);
- }
-
- public final Object lookupLink(Name name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- return lookup(null, name);
- }
-
- //
- // List Operations
- //
-
- public final NamingEnumeration list(String name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object o = lookup(name);
- if (o == this) {
- return list();
- } else if (o instanceof Context) {
- return ((Context) o).list("");
- } else {
- throw new NotContextException();
- }
- }
-
- public final NamingEnumeration listBindings(String name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object o = lookup(name);
- if (o == this) {
- return listBindings();
- } else if (o instanceof Context) {
- return ((Context) o).listBindings("");
- } else {
- throw new NotContextException();
- }
- }
-
- public final NamingEnumeration list(Name name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object o = lookup(name);
- if (o == this) {
- return list();
- } else if (o instanceof Context) {
- return ((Context) o).list("");
- } else {
- throw new NotContextException();
- }
- }
-
- public final NamingEnumeration listBindings(Name name) throws NamingException {
- if (name == null) throw new NullPointerException("name is null");
-
- Object o = lookup(name);
- if (o == this) {
- return listBindings();
- } else if (o instanceof Context) {
- return ((Context) o).listBindings("");
- } else {
- throw new NotContextException();
- }
- }
//
// Unsupported Operations