You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ml...@apache.org on 2006/11/22 11:44:33 UTC
svn commit: r478121 - in /webservices/sandesha/trunk/java:
src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
test/src/org/apache/sandesha2/SandeshaClientTest.java
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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org