You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by di...@apache.org on 2009/10/03 05:54:54 UTC
svn commit: r821237 -
/incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java
Author: dims
Date: Sat Oct 3 03:54:53 2009
New Revision: 821237
URL: http://svn.apache.org/viewvc?rev=821237&view=rev
Log:
add support for DirContext as well. helps with ldap search like this sample - http://www.stonemind.net/blog/2008/01/23/a-simple-ldap-query-program-in-java/
Modified:
incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java
Modified: incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java?rev=821237&r1=821236&r2=821237&view=diff
==============================================================================
--- incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java (original)
+++ incubator/aries/trunk/jndi/jndi-core/src/main/java/org/apache/aries/jndi/DelegateContext.java Sat Oct 3 03:54:53 2009
@@ -18,10 +18,6 @@
*/
package org.apache.aries.jndi;
-import java.util.Hashtable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
import javax.naming.Binding;
import javax.naming.Context;
import javax.naming.Name;
@@ -29,8 +25,15 @@
import javax.naming.NameParser;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.ModificationItem;
+import javax.naming.directory.SearchControls;
+import java.util.Hashtable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
-public class DelegateContext implements Context {
+public class DelegateContext implements DirContext {
private Hashtable<Object, Object> env = new Hashtable<Object, Object>();
private Context defaultContext;
private static ConcurrentMap<String, Context> urlContexts = new ConcurrentHashMap<String, Context>();
@@ -245,4 +248,134 @@
public void setURLContext(String url, Context ctx) {
urlContexts.put(url, ctx);
}
+
+ @Override
+ public Attributes getAttributes(Name name) throws NamingException {
+ return ((DirContext)findContext(name)).getAttributes(name);
+ }
+
+ @Override
+ public Attributes getAttributes(String name) throws NamingException {
+ return ((DirContext)findContext(name)).getAttributes(name);
+ }
+
+ @Override
+ public Attributes getAttributes(Name name, String[] attrIds) throws NamingException {
+ return ((DirContext)findContext(name)).getAttributes(name, attrIds);
+ }
+
+ @Override
+ public Attributes getAttributes(String name, String[] attrIds) throws NamingException {
+ return ((DirContext)findContext(name)).getAttributes(name, attrIds);
+ }
+
+ @Override
+ public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).modifyAttributes(name, mod_op, attrs);
+ }
+
+ @Override
+ public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).modifyAttributes(name, mod_op, attrs);
+ }
+
+ @Override
+ public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException {
+ ((DirContext)findContext(name)).modifyAttributes(name, mods);
+ }
+
+ @Override
+ public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException {
+ ((DirContext)findContext(name)).modifyAttributes(name, mods);
+ }
+
+ @Override
+ public void bind(Name name, Object obj, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).bind(name, obj, attrs);
+ }
+
+ @Override
+ public void bind(String name, Object obj, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).bind(name, obj, attrs);
+ }
+
+ @Override
+ public void rebind(Name name, Object obj, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).rebind(name, obj, attrs);
+ }
+
+ @Override
+ public void rebind(String name, Object obj, Attributes attrs) throws NamingException {
+ ((DirContext)findContext(name)).rebind(name, obj, attrs);
+ }
+
+ @Override
+ public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException {
+ return ((DirContext)findContext(name)).createSubcontext(name, attrs);
+ }
+
+ @Override
+ public DirContext createSubcontext(String name, Attributes attrs) throws NamingException {
+ return ((DirContext)findContext(name)).createSubcontext(name, attrs);
+ }
+
+ @Override
+ public DirContext getSchema(Name name) throws NamingException {
+ return ((DirContext)findContext(name)).getSchema(name);
+ }
+
+ @Override
+ public DirContext getSchema(String name) throws NamingException {
+ return ((DirContext)findContext(name)).getSchema(name);
+ }
+
+ @Override
+ public DirContext getSchemaClassDefinition(Name name) throws NamingException {
+ return ((DirContext)findContext(name)).getSchemaClassDefinition(name);
+ }
+
+ @Override
+ public DirContext getSchemaClassDefinition(String name) throws NamingException {
+ return ((DirContext)findContext(name)).getSchemaClassDefinition(name);
+ }
+
+ @Override
+ public NamingEnumeration search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, matchingAttributes, attributesToReturn);
+ }
+
+ @Override
+ public NamingEnumeration search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, matchingAttributes, attributesToReturn);
+ }
+
+ @Override
+ public NamingEnumeration search(Name name, Attributes matchingAttributes) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, matchingAttributes);
+ }
+
+ @Override
+ public NamingEnumeration search(String name, Attributes matchingAttributes) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, matchingAttributes);
+ }
+
+ @Override
+ public NamingEnumeration search(Name name, String filter, SearchControls cons) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, filter, cons);
+ }
+
+ @Override
+ public NamingEnumeration search(String name, String filter, SearchControls cons) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, filter, cons);
+ }
+
+ @Override
+ public NamingEnumeration search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, filterExpr, filterArgs, cons);
+ }
+
+ @Override
+ public NamingEnumeration search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException {
+ return ((DirContext)findContext(name)).search(name, filterExpr, filterArgs, cons);
+ }
}
\ No newline at end of file