You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ep...@apache.org on 2004/04/29 00:58:58 UTC
cvs commit: jakarta-commons/configuration/src/java/org/apache/commons/configuration JNDIConfiguration.java
epugh 2004/04/28 15:58:58
Modified: configuration/src/java/org/apache/commons/configuration
JNDIConfiguration.java
Log:
Change from listBindings to list to work with getting keys.
Revision Changes Path
1.11 +31 -27 jakarta-commons/configuration/src/java/org/apache/commons/configuration/JNDIConfiguration.java
Index: JNDIConfiguration.java
===================================================================
RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/JNDIConfiguration.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JNDIConfiguration.java 28 Mar 2004 14:42:45 -0000 1.10
+++ JNDIConfiguration.java 28 Apr 2004 22:58:58 -0000 1.11
@@ -16,11 +16,6 @@
package org.apache.commons.configuration;
-import javax.naming.Binding;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
@@ -29,6 +24,12 @@
import java.util.Properties;
import java.util.Set;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameClassPair;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -75,22 +76,25 @@
* @param key What key we are building on.
* @throws NamingException If JNDI has an issue.
*/
- private void recursiveGetKeys(List keys, NamingEnumeration enum, String key) throws NamingException
+ private void recursiveGetKeys(List keys, Context parentContext, String key) throws NamingException
{
+ NamingEnumeration enum = parentContext.list("");
while (enum.hasMoreElements())
{
- Binding binding = (Binding) enum.next();
+ Object o = enum.next();
+
+ NameClassPair nameClassPair = (NameClassPair) o;
StringBuffer newKey = new StringBuffer();
newKey.append(key);
if (newKey.length() > 0)
{
newKey.append(".");
}
- newKey.append(binding.getName());
- if (binding.getObject() instanceof Context)
+ newKey.append(nameClassPair.getName());
+ if (parentContext.lookup(nameClassPair.getName()) instanceof Context)
{
- Context context = (Context) binding.getObject();
- recursiveGetKeys(keys, context.listBindings(""), newKey.toString());
+ Context context = (Context) parentContext.lookup(nameClassPair.getName());
+ recursiveGetKeys(keys, context, newKey.toString());
}
else
{
@@ -138,14 +142,12 @@
}
else
{
- context = getStartingContextPoint(keys, getContext().listBindings(""));
+ context = getStartingContextPoint(keys, getContext(),getContext().list(""));
}
if (context != null)
{
- NamingEnumeration enum = context.listBindings("");
-
- recursiveGetKeys(keys, enum, key);
+ recursiveGetKeys(keys, context, key);
}
}
catch (NamingException ne)
@@ -165,28 +167,29 @@
* @return The context at that key's location in the JNDI tree, or null if not found
* @throws NamingException if JNDI has an issue
*/
- private Context getStartingContextPoint(List keys, NamingEnumeration enum) throws NamingException
+ private Context getStartingContextPoint(List keys, Context parentContext, NamingEnumeration enum) throws NamingException
{
String keyToSearchFor = (String) keys.get(0);
log.debug("Key to search for is " + keyToSearchFor);
while (enum.hasMoreElements())
- {
- Binding binding = (Binding) enum.next();
+ {
+ NameClassPair nameClassPair = (NameClassPair) enum.next();
+ Object o = parentContext.lookup(nameClassPair.getName());
log.debug(
"Binding for name: "
- + binding.getName()
+ + nameClassPair.getName()
+ ", object:"
- + binding.getObject()
+ + parentContext.lookup(nameClassPair.getName())
+ ", class:"
- + binding.getClassName());
- if (binding.getObject() instanceof Context
- && binding.getName().equals(keyToSearchFor))
+ + nameClassPair.getClassName());
+ if (o instanceof Context
+ && nameClassPair.getName().equals(keyToSearchFor))
{
keys.remove(0);
- Context c = (Context) binding.getObject();
+ Context c = (Context) o;
if (!keys.isEmpty())
{
- return getStartingContextPoint(keys, c.listBindings(""));
+ return getStartingContextPoint(keys,c, c.list(""));
}
else
{
@@ -214,7 +217,7 @@
{
try
{
- NamingEnumeration enum = getContext().listBindings("");
+ NamingEnumeration enum = getContext().list("");
return !enum.hasMore();
}
catch (NamingException ne)
@@ -317,6 +320,7 @@
}
catch (NamingException ne)
{
+ ne.printStackTrace();
return null;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org