You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2009/06/14 14:33:31 UTC
svn commit: r784548 -
/directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
Author: kayyagari
Date: Sun Jun 14 12:33:30 2009
New Revision: 784548
URL: http://svn.apache.org/viewvc?rev=784548&view=rev
Log:
o added a new delete method with listener parameter
o fixed the message id setting, returning reponse value and unlocking session for async feature
Modified:
directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
Modified: directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java?rev=784548&r1=784547&r2=784548&view=diff
==============================================================================
--- directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java (original)
+++ directory/shared/trunk/client-api/src/main/java/org/apache/directory/shared/ldap/client/api/LdapConnection.java Sun Jun 14 12:33:30 2009
@@ -724,9 +724,10 @@
// Send the request to the server
ldapSession.write( message );
+
+ AddResponse response = null;
if( listener == null )
{
- AddResponse response = null;
try
{
long timeout = getTimeout( addRequest.getTimeout() );
@@ -745,16 +746,15 @@
unlockSession();
throw new LdapException( e );
}
-
- unlockSession();
-
- return response;
}
else
{
- listenerMap.put( newId, listener );
- return null;
+ listenerMap.put( newId, listener );
}
+
+ unlockSession();
+
+ return response;
}
@@ -1396,6 +1396,7 @@
// Store the response into the responseQueue
AddResponseCodec addRespCodec = response.getAddResponse();
addRespCodec.addControl( response.getCurrentControl() );
+ addRespCodec.setMessageId( response.getMessageId() );
AddListener addListener = ( AddListener ) listenerMap.get( addRespCodec.getMessageId() );
AddResponse addResp = convert( addRespCodec );
@@ -1437,6 +1438,7 @@
case LdapConstants.DEL_RESPONSE :
// Store the response into the responseQueue
DelResponseCodec delRespCodec = response.getDelResponse();
+ delRespCodec.setMessageId( response.getMessageId() );
delRespCodec.addControl( response.getCurrentControl() );
DeleteResponse delResp = convert( delRespCodec );
DeleteListener delListener = ( DeleteListener ) listenerMap.get( delResp.getMessageId() );
@@ -1460,6 +1462,7 @@
// Store the response into the responseQueue
IntermediateResponseCodec intermediateResponseCodec =
response.getIntermediateResponse();
+ intermediateResponseCodec.setMessageId( response.getMessageId() );
intermediateResponseCodec.addControl( response.getCurrentControl() );
IntermediateResponse intrmResp = convert( intermediateResponseCodec );
@@ -1478,6 +1481,7 @@
case LdapConstants.MODIFY_RESPONSE :
ModifyResponseCodec modRespCodec = response.getModifyResponse();
+ modRespCodec.setMessageId( response.getMessageId() );
modRespCodec.addControl( response.getCurrentControl() );
ModifyResponse modResp = convert( modRespCodec );
@@ -1497,6 +1501,7 @@
ModifyDNResponseCodec modDnCodec = response.getModifyDNResponse();
modDnCodec.addControl( response.getCurrentControl() );
+ modDnCodec.setMessageId( response.getMessageId() );
ModifyDnResponse modDnResp = convert( modDnCodec );
ModifyDnListener modDnListener = ( ModifyDnListener ) listenerMap.get( modDnCodec.getMessageId() );
if( modDnListener != null )
@@ -1514,6 +1519,7 @@
// Store the response into the responseQueue
SearchResultDoneCodec searchResultDoneCodec =
response.getSearchResultDone();
+ searchResultDoneCodec.setMessageId( response.getMessageId() );
searchResultDoneCodec.addControl( response.getCurrentControl() );
SearchResultDone srchDone = convert( searchResultDoneCodec );
// search listener has to be removed from listener map only here
@@ -1533,6 +1539,7 @@
// Store the response into the responseQueue
SearchResultEntryCodec searchResultEntryCodec =
response.getSearchResultEntry();
+ searchResultEntryCodec.setMessageId( response.getMessageId() );
searchResultEntryCodec.addControl( response.getCurrentControl() );
SearchResultEntry srchEntry = convert( searchResultEntryCodec );
@@ -1552,6 +1559,7 @@
// Store the response into the responseQueue
SearchResultReferenceCodec searchResultReferenceCodec =
response.getSearchResultReference();
+ searchResultReferenceCodec.setMessageId( response.getMessageId() );
searchResultReferenceCodec.addControl( response.getCurrentControl() );
SearchResultReference srchRef = convert( searchResultReferenceCodec );
@@ -1631,9 +1639,9 @@
ldapSession.write( modifyMessage );
+ ModifyResponse response = null;
if( listener == null )
{
- ModifyResponse response = null;
try
{
long timeout = getTimeout( modRequest.getTimeout() );
@@ -1652,16 +1660,15 @@
unlockSession();
throw new LdapException( e );
}
-
- unlockSession();
-
- return response;
}
else
{
listenerMap.put( newId, listener );
- return null;
}
+
+ unlockSession();
+
+ return response;
}
@@ -1886,6 +1893,20 @@
return delete( dn, false );
}
+
+ /**
+ * deletes the entry with the given DN
+ *
+ * @param dn the target entry's DN
+ * @param listener the delete operation response listener
+ * @return operation's response, null if a non-null listener value is provided
+ * @throws LdapException
+ */
+ public DeleteResponse delete( LdapDN dn, DeleteListener listener ) throws LdapException
+ {
+ return delete( new DeleteRequest( dn ), listener );
+ }
+
/**
* deletes the entry with the given DN and all its children
@@ -2027,9 +2048,9 @@
ldapSession.write( deleteMessage );
+ DeleteResponse response = null;
if( listener == null )
{
- DeleteResponse response = null;
try
{
long timeout = getTimeout( delRequest.getTimeout() );
@@ -2051,15 +2072,15 @@
throw ldapException;
}
- unlockSession();
-
- return response;
}
else
{
listenerMap.put( newId, listener );
- return null;
}
+
+ unlockSession();
+
+ return response;
}