You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/08/20 14:15:58 UTC
svn commit: r987469 - in
/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap:
sp/JavaStoredProcUtils.java util/JndiUtils.java
Author: elecharny
Date: Fri Aug 20 12:15:58 2010
New Revision: 987469
URL: http://svn.apache.org/viewvc?rev=987469&view=rev
Log:
Fixed the ADS -> JNDI conversion for extended responses
Modified:
directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java
directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/util/JndiUtils.java
Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java?rev=987469&r1=987468&r2=987469&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java Fri Aug 20 12:15:58 2010
@@ -30,12 +30,12 @@ import java.net.URL;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttributes;
+import javax.naming.ldap.ExtendedResponse;
import javax.naming.ldap.LdapContext;
import org.apache.commons.lang.SerializationUtils;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.message.extended.StoredProcedureRequest;
-import org.apache.directory.shared.ldap.message.extended.StoredProcedureResponse;
import org.apache.directory.shared.ldap.util.JndiUtils;
@@ -141,13 +141,12 @@ public class JavaStoredProcUtils
* Call the stored procedure via the extended operation
* and get back its return value.
*/
- StoredProcedureResponse resp = ( StoredProcedureResponse ) JndiUtils.fromJndiExtendedResponse( ctx
- .extendedOperation( JndiUtils.toJndiExtendedRequest( req ) ) );
+ ExtendedResponse resp = ctx.extendedOperation( JndiUtils.toJndiExtendedRequest( req ) );
/**
* Restore a Java object from the return value.
*/
- byte[] responseStream = resp.getResponseValue();
+ byte[] responseStream = resp.getEncodedValue();
responseObject = SerializationUtils.deserialize( responseStream );
}
catch ( Exception e )
Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/util/JndiUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/util/JndiUtils.java?rev=987469&r1=987468&r2=987469&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/util/JndiUtils.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/util/JndiUtils.java Fri Aug 20 12:15:58 2010
@@ -77,6 +77,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapServiceUnavailableException;
import org.apache.directory.shared.ldap.exception.LdapTimeLimitExceededException;
import org.apache.directory.shared.ldap.exception.LdapUnwillingToPerformException;
+import org.apache.directory.shared.ldap.message.ExtendedResponseImpl;
import org.apache.directory.shared.ldap.message.LdapResult;
import org.apache.directory.shared.ldap.message.MessageException;
import org.apache.directory.shared.ldap.message.ResultResponse;
@@ -160,19 +161,19 @@ public class JndiUtils
* @return
*/
public static ExtendedResponse toJndiExtendedResponse(
- final org.apache.directory.shared.ldap.message.ExtendedRequest request )
+ final org.apache.directory.shared.ldap.message.ExtendedResponse response )
{
class JndiExtendedResponse implements ExtendedResponse
{
public byte[] getEncodedValue()
{
- return request.getRequestValue();
+ return response.getEncodedValue();
}
public String getID()
{
- return request.getRequestName();
+ return response.getResponseName();
}
}
@@ -185,10 +186,20 @@ public class JndiUtils
{
class JndiExtendedRequest implements ExtendedRequest
{
+ private ExtendedResponse response;
+
+
public ExtendedResponse createExtendedResponse( String id, byte[] berValue, int offset, int length )
throws NamingException
{
- return toJndiExtendedResponse( request );
+ org.apache.directory.shared.ldap.message.ExtendedResponse response = new ExtendedResponseImpl( request
+ .getMessageId(), request.getRequestName() );
+ response.setResponseName( id );
+ response.setResponseValue( berValue );
+
+ this.response = JndiUtils.toJndiExtendedResponse( response );
+
+ return this.response;
}