You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2008/05/24 02:46:06 UTC
svn commit: r659731 -
/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
Author: akarasulu
Date: Fri May 23 17:46:05 2008
New Revision: 659731
URL: http://svn.apache.org/viewvc?rev=659731&view=rev
Log:
fixing returns for search and list operations in the dir context
Modified:
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java?rev=659731&r1=659730&r2=659731&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java Fri May 23 17:46:05 2008
@@ -20,7 +20,6 @@
package org.apache.directory.server.core.jndi;
-import org.apache.commons.lang.NotImplementedException;
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.core.authn.LdapPrincipal;
import org.apache.directory.server.core.entry.ServerEntry;
@@ -638,6 +637,7 @@
throws NamingException
{
SearchControls ctls = new SearchControls();
+ LdapDN target = buildTarget( name );
// If we need to return specific attributes add em to the SearchControls
if ( null != attributesToReturn )
@@ -652,9 +652,15 @@
{
PresenceNode filter = new PresenceNode( SchemaConstants.OBJECT_CLASS_AT );
AliasDerefMode aliasDerefMode = AliasDerefMode.getEnum( getEnvironment() );
-// return ServerEntryUtils.toSearchResultEnum( doSearchOperation( target, aliasDerefMode, filter, ctls ) );
- // TODO not implemented
- throw new NotImplementedException();
+ try
+ {
+ return new NamingEnumerationAdapter (
+ doSearchOperation( target, aliasDerefMode, filter, ctls ) );
+ }
+ catch ( Exception e )
+ {
+ JndiUtils.wrap( e );
+ }
}
// Handle simple filter expressions without multiple terms
@@ -667,21 +673,28 @@
if ( attr.size() == 1 )
{
Object value = attr.get();
- SimpleNode node;
+ SimpleNode<?> node;
if ( value instanceof byte[] )
{
- node = new EqualityNode( attr.getID(), new ClientBinaryValue( ( byte[] ) value ) );
+ node = new EqualityNode<byte[]>( attr.getID(), new ClientBinaryValue( ( byte[] ) value ) );
}
else
{
- node = new EqualityNode( attr.getID(), new ClientStringValue( ( String ) value ) );
+ node = new EqualityNode<String>( attr.getID(), new ClientStringValue( ( String ) value ) );
}
AliasDerefMode aliasDerefMode = AliasDerefMode.getEnum( getEnvironment() );
-// return ServerEntryUtils.toSearchResultEnum( doSearchOperation( target, aliasDerefMode, node, ctls ) );
- // TODO not implemented
- throw new NotImplementedException();
+ try
+ {
+ return new NamingEnumerationAdapter (
+ doSearchOperation( target, aliasDerefMode, node, ctls ) );
+ }
+ catch ( Exception e )
+ {
+ JndiUtils.wrap( e );
+ return null; // shut compiler up
+ }
}
}
@@ -721,16 +734,22 @@
// Add simpel AVA node if its value is a String
if ( val instanceof String )
{
- node = new EqualityNode( attr.getID(), new ClientStringValue( ( String ) val ) );
+ node = new EqualityNode<String>( attr.getID(), new ClientStringValue( ( String ) val ) );
filter.addNode( node );
}
}
}
AliasDerefMode aliasDerefMode = AliasDerefMode.getEnum( getEnvironment() );
-// return ServerEntryUtils.toSearchResultEnum( doSearchOperation( target, aliasDerefMode, filter, ctls ) );
- // TODO not implemented
- throw new NotImplementedException();
+ try
+ {
+ return new NamingEnumerationAdapter( doSearchOperation( target, aliasDerefMode, filter, ctls ) );
+ }
+ catch ( Exception e )
+ {
+ JndiUtils.wrap( e );
+ return null; // shut compiler up
+ }
}
@@ -761,9 +780,15 @@
{
LdapDN target = buildTarget( name );
AliasDerefMode aliasDerefMode = AliasDerefMode.getEnum( getEnvironment() );
-// return ServerEntryUtils.toSearchResultEnum( doSearchOperation( target, aliasDerefMode, filter, cons ) );
- // TODO not implemented
- throw new NotImplementedException();
+ try
+ {
+ return new NamingEnumerationAdapter( doSearchOperation( target, aliasDerefMode, filter, cons ) );
+ }
+ catch ( Exception e )
+ {
+ JndiUtils.wrap( e );
+ return null; // shut compiler up
+ }
}
@@ -790,9 +815,15 @@
}
AliasDerefMode aliasDerefMode = AliasDerefMode.getEnum( getEnvironment() );
-// return ServerEntryUtils.toSearchResultEnum( doSearchOperation( target, aliasDerefMode, filterNode, cons ) );
- // TODO not implemented
- throw new NotImplementedException();
+ try
+ {
+ return new NamingEnumerationAdapter( doSearchOperation( target, aliasDerefMode, filterNode, cons ) );
+ }
+ catch ( Exception e )
+ {
+ JndiUtils.wrap( e );
+ return null; // shut compiler up
+ }
}