You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2006/09/04 13:53:07 UTC
svn commit: r440036 -
/directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java
Author: ersiner
Date: Mon Sep 4 04:53:06 2006
New Revision: 440036
URL: http://svn.apache.org/viewvc?view=rev&rev=440036
Log:
Added support for special SP parameter: $ldapContext.
Modified:
directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java
Modified: directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java?view=diff&rev=440036&r1=440035&r2=440036
==============================================================================
--- directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java (original)
+++ directory/trunks/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/JavaStoredProcedureExtendedOperationHandler.java Mon Sep 4 04:53:06 2006
@@ -27,6 +27,7 @@
import java.util.List;
import javax.naming.NamingException;
+import javax.naming.ldap.LdapContext;
import org.apache.commons.lang.SerializationUtils;
import org.apache.directory.server.core.jndi.ServerLdapContext;
@@ -59,10 +60,20 @@
{
StoredProcedureParameter pPojo = ( StoredProcedureParameter ) it.next();
+ String typeName;
Class type;
try
{
- type = SpringClassUtils.forName( StringTools.utf8ToString( pPojo.getType() ) );
+ typeName = StringTools.utf8ToString( pPojo.getType() );
+ if ( typeName.equals( "$ldapContext" ) )
+ {
+ type = LdapContext.class;
+ }
+ else
+ {
+ type = SpringClassUtils.forName( typeName );
+ }
+
}
catch ( ClassNotFoundException e )
{
@@ -77,7 +88,15 @@
try
{
- values.add( SerializationUtils.deserialize( serializedValue ) );
+ if ( typeName.equals( "$ldapContext" ) )
+ {
+ String newCtx = (String) SerializationUtils.deserialize( serializedValue );
+ values.add( ctx.lookup( newCtx ) );
+ }
+ else
+ {
+ values.add( SerializationUtils.deserialize( serializedValue ) );
+ }
}
catch ( Exception e )
{