Author: mlovett
Date: Wed Nov 22 02:44:32 2006
New Revision: 478121
URL: http://svn.apache.org/viewvc?view=rev&rev=478121
Log:
Andy's patch for SANDESHA2-48
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?view=diff&rev=478121&r1=478120&r2=478121
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
Wed Nov 22 02:44:32 2006
@@ -409,14 +409,16 @@
SenderBeanMgr retramsmitterMgr =
storageManager.getRetransmitterBeanMgr();
+ // Set the sequence id and internal sequence id in the
SenderBean
+ ackRequestBean.setInternalSequenceID(internalSeqenceID);
+ ackRequestBean.setSequenceID(outSequenceID);
+
retramsmitterMgr.insert(ackRequestBean);
-
ackRequestRMMsg.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE,
Sandesha2Constants.VALUE_TRUE);
-
SandeshaUtil.executeAndStore(ackRequestRMMsg, key);
if (log.isDebugEnabled())
- log.debug("Exit:
AckRequestedProcessor::processOutgoingAckRequestMessage " + Boolean.FALSE);
+ log.debug("Exit:
AckRequestedProcessor::processOutgoingAckRequestMessage " + Boolean.TRUE);
return true;
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?view=diff&rev=478121&r1=478120&r2=478121
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
Wed Nov 22 02:44:32 2006
@@ -267,11 +267,12 @@
closeBean.setReSend(false);
SenderBeanMgr retramsmitterMgr =
storageManager.getRetransmitterBeanMgr();
+
+ // Add the sequence id and internal sequenceid to the closeBean
+ closeBean.setSequenceID(outSequenceID);
+ closeBean.setInternalSequenceID(internalSeqenceID);
retramsmitterMgr.insert(closeBean);
-
-
- rmMsgCtx.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE,
Sandesha2Constants.VALUE_TRUE);
SandeshaUtil.executeAndStore(rmMsgCtx, key);
Modified:
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java?view=diff&rev=478121&r1=478120&r2=478121
==============================================================================
---
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
(original)
+++
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
Wed Nov 22 02:44:32 2006
@@ -17,6 +17,7 @@
package org.apache.sandesha2;
import java.io.File;
+import java.util.List;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
@@ -37,6 +38,9 @@
import org.apache.sandesha2.client.SandeshaClient;
import org.apache.sandesha2.client.SandeshaClientConstants;
import org.apache.sandesha2.client.SequenceReport;
+import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
+import org.apache.sandesha2.storage.beans.SenderBean;
import org.apache.sandesha2.util.SandeshaUtil;
public class SandeshaClientTest extends SandeshaTestCase {
@@ -164,10 +168,73 @@
// public void testCloseSequence () {
//
// }
-//
-// public void testAckRequest () {
-//
-// }
+//
+ /**
+ * Test that sending an ACK request gets transmitted
+ * This doesn't check the content of the Ack Request, only that the
+ * SenderBean no longer exists for it.
+ */
+ public void testAckRequest () throws Exception {
+ startServer();
+
+ String to = "http://127.0.0.1:" + serverPort +
"/axis2/services/RMSampleService";
+ String transportTo = "http://127.0.0.1:" + serverPort +
"/axis2/services/RMSampleService";
+
+ String repoPath = "target" + File.separator + "repos" +
File.separator + "client";
+ String axis2_xml = "target" + File.separator + "repos" +
File.separator + "client" + File.separator + "client_axis2.xml";
+
+ ConfigurationContext configContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPath,axis2_xml);
+
+ Options clientOptions = new Options ();
+
+ clientOptions.setTo(new EndpointReference (to));
+
clientOptions.setProperty(Configuration.TRANSPORT_URL,transportTo);
+
+ ServiceClient serviceClient = new ServiceClient
(configContext,null);
+
+ clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,
Sandesha2Constants.SPEC_VERSIONS.v1_1);
+ clientOptions.setUseSeparateListener(true);
+
+ serviceClient.setOptions(clientOptions);
+
+ // Create a sequence
+ SandeshaClient.createSequence(serviceClient, false, null);
+
+ Thread.sleep(5000);
+
+ // Send the ACK request
+ SandeshaClient.sendAckRequest(serviceClient);
+
+ Thread.sleep(10000);
+
+ // Get the storage manager from the ConfigurationContext
+ StorageManager storageManager =
SandeshaUtil.getSandeshaStorageManager(configContext,
configContext.getAxisConfiguration());
+
+ // Get the sequence id for this sequence.
+ String sequenceId = SandeshaClient.getSequenceID(serviceClient);
+
+ // Get the SenderBeanManager
+ SenderBeanMgr senderManager =
storageManager.getRetransmitterBeanMgr();
+
+ // Check that there are no sender beans inside the
SenderBeanMgr.
+ SenderBean senderBean = new SenderBean();
+ senderBean.setSequenceID(sequenceId);
+ senderBean.setSend(true);
+ senderBean.setReSend(false);
+
+ // Find any sender beans for the to address.
+ List beans = senderManager.find(senderBean);
+ assertTrue("SenderBeans found when the list should be empty",
beans.isEmpty());
+
+ SequenceReport sequenceReport =
SandeshaClient.getOutgoingSequenceReport(serviceClient);
+
+ assertNotNull(sequenceReport.getSequenceID());
+ assertFalse(sequenceReport.isSecureSequence());
+
+ configContext.getListenerManager().stop();
+ serviceClient.cleanup();
+ }
//
// public void getSequenceIDTest () {
//
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]