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