Author: veithen
Date: Sun Jan 20 13:28:17 2013
New Revision: 1435837

URL: http://svn.apache.org/viewvc?rev=1435837&view=rev
Log:
Setting correct svn:eol-style.

Modified:
    
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
   (contents, props changed)
    
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
   (contents, props changed)

Modified: 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java?rev=1435837&r1=1435836&r2=1435837&view=diff
==============================================================================
--- 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
 (original)
+++ 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
 Sun Jan 20 13:28:17 2013
@@ -1,313 +1,313 @@
-/*
- * Copyright 2007 The Apache Software Foundation.
- * Copyright 2007 International Business Machines Corp.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sandesha2;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.AssertionFailedError;
-
-import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.sandesha2.Sandesha2Constants;
-import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.client.SandeshaClient;
-import org.apache.sandesha2.client.SandeshaClientConstants;
-import org.apache.sandesha2.client.SequenceReport;
-import org.apache.sandesha2.util.SandeshaUtil;
-
-public class RMScenariosTest extends SandeshaTestCase {
-
-       private boolean serverStarted = false;
-       protected ConfigurationContext configContext = null;
-
-       protected String to = "http://127.0.0.1:"; + serverPort + 
"/axis2/services/RMSampleService";
-
-       protected String repoPath = "target" + File.separator + "repos" + 
File.separator + "persistence-server";
-       protected String axis2_xml = "target" + File.separator + "repos" + 
File.separator + "persistence-server" + File.separator + "server_axis2.xml";
-
-       protected String repoPathClient = "target" + File.separator + "repos" + 
File.separator + "persistence-client";
-       protected String axis2_xmlClient = "target" + File.separator + "repos" 
+ File.separator + "persistence-client" + File.separator + "client_axis2.xml";
-
-       public RMScenariosTest() {
-               super("RMScenariosTest");
-       }
-
-       public RMScenariosTest(String name) {
-               super(name);
-       }
-
-       public void setUp() throws Exception {
-               super.setUp();
-
-               if (!serverStarted) {
-                       startServer(repoPath, axis2_xml);
-                       configContext = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPathClient,
 axis2_xmlClient);
-               }
-               serverStarted = true;
-       }
-
-       /**
-        * Override the teardown processing
-        */
-       public void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-       public void testPing() throws Exception {
-               // Run a ping test with sync acks
-               runPing(false, false);
-
-               // Run a ping test with async acks
-               runPing(true, true);
-       }
-
-       public void testAsyncEchoWithSyncAck() throws Exception {
-               // Test async echo with sync acks
-               Options clientOptions = new Options();
-               runEcho(clientOptions, true, false, false,true,true);
-       }
-       
-       public void testAsyncEchoWithAsyncAck() throws Exception {
-               // Test async echo with async acks
-               Options clientOptions = new Options();
-               clientOptions = new Options();
-               runEcho(clientOptions, true, true, false,true,true);
-       }
-       
-       public void testAsyncEchoWithAyncAckAndOffer() throws Exception {
-               // Test async echo with async acks and offer
-               Options clientOptions = new Options();
-               clientOptions = new Options();
-               
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
-               runEcho(clientOptions, true, true, false,true,true);
-       }
-               
-       public void testSyncEchoWithOffer() throws Exception {
-               // Test sync echo with an offer, and the 1.1 spec
-               Options clientOptions = new Options();
-               
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID, 
SandeshaUtil.getUUID());
-               
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION, 
Sandesha2Constants.SPEC_VERSIONS.v1_1);
-               runEcho(clientOptions, false, false, true, true, false);
-
-//             // Test sync echo with an offer, and the 1.0 spec. The offer is 
not automatic as this
-//             // is a client that hasn't been built from WSDL. If the user's 
operations had been
-//             // modelled properly then the offer would happen automatically.
-//             clientOptions = new Options();
-//             
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
-//             
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_0);
-//             runEcho(clientOptions, false, false, true,false,false);
-       }
-
-       public void testSyncEcho() throws Exception {
-               // Test sync echo with no offer, and the 1.1 spec
-               Options clientOptions = new Options();
-               
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION, 
Sandesha2Constants.SPEC_VERSIONS.v1_1);
-               runEcho(clientOptions, false, false, true, true, true);
-       }
-
-       public void runPing(boolean asyncAcks, boolean stopListener) throws 
Exception {
-
-               Options clientOptions = new Options();
-
-               ServiceClient serviceClient = new ServiceClient(configContext, 
null);
-               serviceClient.setOptions(clientOptions);
-
-               String sequenceKey = SandeshaUtil.getUUID();
-
-               clientOptions.setAction(pingAction);
-               clientOptions.setTo(new EndpointReference(to));
-               clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, 
sequenceKey);
-               clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, 
Constants.VALUE_TRUE);
-
-               if (asyncAcks) {
-                       clientOptions.setUseSeparateListener(true);
-               }
-
-               serviceClient.fireAndForget(getPingOMBlock("ping1"));
-
-               long limit = System.currentTimeMillis() + waitTime;
-               Error lastError = null;
-               while (System.currentTimeMillis() < limit) {
-                       Thread.sleep(tickTime); // Try the assertions each tick 
interval, until they pass or we time out
-
-                       try {
-                               SequenceReport sequenceReport = 
SandeshaClient.getOutgoingSequenceReport(serviceClient);
-                               System.out.println("Checking Outbound Sequence: 
" + sequenceReport.getSequenceID());
-                               assertTrue("Checking completed messages", 
sequenceReport.getCompletedMessages().contains(new Long(1)));
-                               assertEquals("Checking sequence terminated", 
SequenceReport.SEQUENCE_STATUS_TERMINATED, sequenceReport.getSequenceStatus());
-                               assertEquals("Checking sequence direction", 
SequenceReport.SEQUENCE_DIRECTION_OUT, sequenceReport.getSequenceDirection());
-
-                               lastError = null;
-                               break;
-                       } catch (Error e) {
-                               e.printStackTrace();
-                               System.out.println("Possible error:" + e);
-                               lastError = e;
-                       }
-               }
-
-               if (lastError != null) throw lastError;
-
-               if (stopListener)
-                       configContext.getListenerManager().stop();
-
-               serviceClient.cleanup();
-
-       }
-
-       public void runEcho(Options clientOptions, boolean asyncReply, boolean 
asyncAcks, boolean explicitTermination, boolean checkInboundTermination, 
boolean stopListener) throws Exception {
-
-               String sequenceKey = SandeshaUtil.getUUID();
-
-               ServiceClient serviceClient = new ServiceClient(configContext, 
null);
-               serviceClient.setOptions(clientOptions);
-
-               clientOptions.setAction(echoAction);
-               clientOptions.setTo(new EndpointReference(to));
-               clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, 
sequenceKey);
-               clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
-
-               if (asyncReply || asyncAcks) {
-                       clientOptions.setUseSeparateListener(true);
-
-                       if (asyncAcks) {
-                               String acksTo = 
serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
-                               
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
-                       } else {
-                               String acksTo = 
AddressingConstants.Final.WSA_ANONYMOUS_URL;
-                               
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
-                       }
-               }
-
-               if (asyncAcks) {
-                       String acksTo = 
serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
-                       
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
-               } else {
-                       String acksTo = 
AddressingConstants.Final.WSA_ANONYMOUS_URL;
-                       
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
-               }
-
-               // Establish a baseline count for inbound sequences
-               List<SequenceReport> oldIncomingReports = 
SandeshaClient.getIncomingSequenceReports(configContext);
-
-               TestCallback callback1 = new TestCallback("Callback 1");
-               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo1", 
sequenceKey), callback1);
-
-               TestCallback callback2 = new TestCallback("Callback 2");
-               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo2", 
sequenceKey), callback2);
-
-               if (!explicitTermination
-                               &&
-                               
!Sandesha2Constants.SPEC_VERSIONS.v1_1.equals(clientOptions.getProperty(SandeshaClientConstants.RM_SPEC_VERSION)))
-               {
-
-                       
clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, 
Constants.VALUE_TRUE);
-               }
-
-               TestCallback callback3 = new TestCallback("Callback 3");
-               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo3", 
sequenceKey), callback3);
-
-               if (explicitTermination) {
-                       Thread.sleep(10000);
-                       SandeshaClient.terminateSequence(serviceClient);
-               }
-
-               long limit = System.currentTimeMillis() + waitTime;
-               Error lastError = null;
-               while (System.currentTimeMillis() < limit) {
-                       Thread.sleep(tickTime); // Try the assertions each tick 
interval, until they pass or we time out
-
-                       try {
-
-                               //assertions for the out sequence.
-                               SequenceReport outgoingSequenceReport = 
SandeshaClient.getOutgoingSequenceReport(serviceClient);
-                               System.out.println("Checking Outbound Sequence: 
" + outgoingSequenceReport.getSequenceID());
-                               assertTrue("Outbound message #1", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(1)));
-                               assertTrue("Outbound message #2", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(2)));
-                               assertTrue("Outbound message #3", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(3)));
-                               assertEquals("Outbound sequence status: 
TERMINATED", SequenceReport.SEQUENCE_STATUS_TERMINATED, 
outgoingSequenceReport.getSequenceStatus());
-                               assertEquals("Outbound sequence direction: 
OUT", SequenceReport.SEQUENCE_DIRECTION_OUT, 
outgoingSequenceReport.getSequenceDirection());
-
-                               //assertions for the inbound sequence. The one 
we care about is a new sequence,
-                               //so it will not exist in the oldSequences list.
-                               List<SequenceReport> incomingSequences = 
SandeshaClient.getIncomingSequenceReports(configContext);
-                               SequenceReport incomingSequenceReport = 
getNewReport(incomingSequences, oldIncomingReports);
-                               System.out.println("Checking Inbound Sequence: 
" + incomingSequenceReport.getSequenceID());
-                               String offer = (String) 
clientOptions.getProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID);
-                               if (offer != null) assertEquals("Inbound seq 
id", offer, incomingSequenceReport.getSequenceID());
-                               assertEquals("Inbound message count", 3, 
incomingSequenceReport.getCompletedMessages().size());
-                               assertTrue("Inbound message #1", 
incomingSequenceReport.getCompletedMessages().contains(new Long(1)));
-                               assertTrue("Inbound message #2", 
incomingSequenceReport.getCompletedMessages().contains(new Long(2)));
-                               assertTrue("Inbound message #3", 
incomingSequenceReport.getCompletedMessages().contains(new Long(3)));
-
-                               if (checkInboundTermination)
-                                       assertEquals("Inbound sequence status: 
TERMINATED", SequenceReport.SEQUENCE_STATUS_TERMINATED, 
incomingSequenceReport.getSequenceStatus());
-
-                               assertEquals("Inbound sequence direction: IN", 
SequenceReport.SEQUENCE_DIRECTION_IN, 
incomingSequenceReport.getSequenceDirection());
-
-                               assertTrue("Callback #1", 
callback1.isComplete());
-                               assertEquals("Callback #1 data", "echo1", 
callback1.getResult());
-
-                               assertTrue("Callback #2", 
callback2.isComplete());
-                               assertEquals("Callback #2 data", "echo1echo2", 
callback2.getResult());
-
-                               assertTrue("Callback #3", 
callback3.isComplete());
-                               assertEquals("Callback #3 data", 
"echo1echo2echo3", callback3.getResult());
-
-                               lastError = null;
-                               break;
-                       } catch (Error e) {
-                               e.printStackTrace();
-                               System.out.println("Possible error:" + e);
-                               lastError = e;
-                       }
-               }
-               if (lastError != null) throw lastError;
-
-               if (stopListener)
-                       configContext.getListenerManager().stop();
-
-               serviceClient.cleanup();
-       }
-
-       // Scan through lists of old and new incoming sequences, to find the 
sequence that
-       // was established by this test. Note that some of the old sequences 
may have timed out.
-       private SequenceReport getNewReport(List<SequenceReport> 
incomingSequences, List<SequenceReport> oldIncomingReports) {
-               HashSet<String> sequenceIds = new HashSet<String>();
-               for (Iterator<SequenceReport> oldSequences = 
oldIncomingReports.iterator(); oldSequences.hasNext();) {
-                       SequenceReport report = (SequenceReport) 
oldSequences.next();
-                       sequenceIds.add(report.getSequenceID());
-               }
-               for (Iterator<SequenceReport> currentSequences = 
incomingSequences.iterator(); currentSequences.hasNext();) {
-                       SequenceReport report = (SequenceReport) 
currentSequences.next();
-                       if (!sequenceIds.contains(report.getSequenceID())) {
-                               return report;
-                       }
-               }
-               throw new AssertionFailedError("Failed to find a new reply 
sequence");
-       }
-
-
-}
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * Copyright 2007 International Business Machines Corp.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sandesha2;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.AssertionFailedError;
+
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaTestCase;
+import org.apache.sandesha2.client.SandeshaClient;
+import org.apache.sandesha2.client.SandeshaClientConstants;
+import org.apache.sandesha2.client.SequenceReport;
+import org.apache.sandesha2.util.SandeshaUtil;
+
+public class RMScenariosTest extends SandeshaTestCase {
+
+       private boolean serverStarted = false;
+       protected ConfigurationContext configContext = null;
+
+       protected String to = "http://127.0.0.1:"; + serverPort + 
"/axis2/services/RMSampleService";
+
+       protected String repoPath = "target" + File.separator + "repos" + 
File.separator + "persistence-server";
+       protected String axis2_xml = "target" + File.separator + "repos" + 
File.separator + "persistence-server" + File.separator + "server_axis2.xml";
+
+       protected String repoPathClient = "target" + File.separator + "repos" + 
File.separator + "persistence-client";
+       protected String axis2_xmlClient = "target" + File.separator + "repos" 
+ File.separator + "persistence-client" + File.separator + "client_axis2.xml";
+
+       public RMScenariosTest() {
+               super("RMScenariosTest");
+       }
+
+       public RMScenariosTest(String name) {
+               super(name);
+       }
+
+       public void setUp() throws Exception {
+               super.setUp();
+
+               if (!serverStarted) {
+                       startServer(repoPath, axis2_xml);
+                       configContext = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPathClient,
 axis2_xmlClient);
+               }
+               serverStarted = true;
+       }
+
+       /**
+        * Override the teardown processing
+        */
+       public void tearDown() throws Exception {
+               super.tearDown();
+       }
+
+       public void testPing() throws Exception {
+               // Run a ping test with sync acks
+               runPing(false, false);
+
+               // Run a ping test with async acks
+               runPing(true, true);
+       }
+
+       public void testAsyncEchoWithSyncAck() throws Exception {
+               // Test async echo with sync acks
+               Options clientOptions = new Options();
+               runEcho(clientOptions, true, false, false,true,true);
+       }
+       
+       public void testAsyncEchoWithAsyncAck() throws Exception {
+               // Test async echo with async acks
+               Options clientOptions = new Options();
+               clientOptions = new Options();
+               runEcho(clientOptions, true, true, false,true,true);
+       }
+       
+       public void testAsyncEchoWithAyncAckAndOffer() throws Exception {
+               // Test async echo with async acks and offer
+               Options clientOptions = new Options();
+               clientOptions = new Options();
+               
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
+               runEcho(clientOptions, true, true, false,true,true);
+       }
+               
+       public void testSyncEchoWithOffer() throws Exception {
+               // Test sync echo with an offer, and the 1.1 spec
+               Options clientOptions = new Options();
+               
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID, 
SandeshaUtil.getUUID());
+               
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION, 
Sandesha2Constants.SPEC_VERSIONS.v1_1);
+               runEcho(clientOptions, false, false, true, true, false);
+
+//             // Test sync echo with an offer, and the 1.0 spec. The offer is 
not automatic as this
+//             // is a client that hasn't been built from WSDL. If the user's 
operations had been
+//             // modelled properly then the offer would happen automatically.
+//             clientOptions = new Options();
+//             
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
+//             
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_0);
+//             runEcho(clientOptions, false, false, true,false,false);
+       }
+
+       public void testSyncEcho() throws Exception {
+               // Test sync echo with no offer, and the 1.1 spec
+               Options clientOptions = new Options();
+               
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION, 
Sandesha2Constants.SPEC_VERSIONS.v1_1);
+               runEcho(clientOptions, false, false, true, true, true);
+       }
+
+       public void runPing(boolean asyncAcks, boolean stopListener) throws 
Exception {
+
+               Options clientOptions = new Options();
+
+               ServiceClient serviceClient = new ServiceClient(configContext, 
null);
+               serviceClient.setOptions(clientOptions);
+
+               String sequenceKey = SandeshaUtil.getUUID();
+
+               clientOptions.setAction(pingAction);
+               clientOptions.setTo(new EndpointReference(to));
+               clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, 
sequenceKey);
+               clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, 
Constants.VALUE_TRUE);
+
+               if (asyncAcks) {
+                       clientOptions.setUseSeparateListener(true);
+               }
+
+               serviceClient.fireAndForget(getPingOMBlock("ping1"));
+
+               long limit = System.currentTimeMillis() + waitTime;
+               Error lastError = null;
+               while (System.currentTimeMillis() < limit) {
+                       Thread.sleep(tickTime); // Try the assertions each tick 
interval, until they pass or we time out
+
+                       try {
+                               SequenceReport sequenceReport = 
SandeshaClient.getOutgoingSequenceReport(serviceClient);
+                               System.out.println("Checking Outbound Sequence: 
" + sequenceReport.getSequenceID());
+                               assertTrue("Checking completed messages", 
sequenceReport.getCompletedMessages().contains(new Long(1)));
+                               assertEquals("Checking sequence terminated", 
SequenceReport.SEQUENCE_STATUS_TERMINATED, sequenceReport.getSequenceStatus());
+                               assertEquals("Checking sequence direction", 
SequenceReport.SEQUENCE_DIRECTION_OUT, sequenceReport.getSequenceDirection());
+
+                               lastError = null;
+                               break;
+                       } catch (Error e) {
+                               e.printStackTrace();
+                               System.out.println("Possible error:" + e);
+                               lastError = e;
+                       }
+               }
+
+               if (lastError != null) throw lastError;
+
+               if (stopListener)
+                       configContext.getListenerManager().stop();
+
+               serviceClient.cleanup();
+
+       }
+
+       public void runEcho(Options clientOptions, boolean asyncReply, boolean 
asyncAcks, boolean explicitTermination, boolean checkInboundTermination, 
boolean stopListener) throws Exception {
+
+               String sequenceKey = SandeshaUtil.getUUID();
+
+               ServiceClient serviceClient = new ServiceClient(configContext, 
null);
+               serviceClient.setOptions(clientOptions);
+
+               clientOptions.setAction(echoAction);
+               clientOptions.setTo(new EndpointReference(to));
+               clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, 
sequenceKey);
+               clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+               if (asyncReply || asyncAcks) {
+                       clientOptions.setUseSeparateListener(true);
+
+                       if (asyncAcks) {
+                               String acksTo = 
serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
+                               
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
+                       } else {
+                               String acksTo = 
AddressingConstants.Final.WSA_ANONYMOUS_URL;
+                               
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
+                       }
+               }
+
+               if (asyncAcks) {
+                       String acksTo = 
serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
+                       
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
+               } else {
+                       String acksTo = 
AddressingConstants.Final.WSA_ANONYMOUS_URL;
+                       
clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
+               }
+
+               // Establish a baseline count for inbound sequences
+               List<SequenceReport> oldIncomingReports = 
SandeshaClient.getIncomingSequenceReports(configContext);
+
+               TestCallback callback1 = new TestCallback("Callback 1");
+               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo1", 
sequenceKey), callback1);
+
+               TestCallback callback2 = new TestCallback("Callback 2");
+               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo2", 
sequenceKey), callback2);
+
+               if (!explicitTermination
+                               &&
+                               
!Sandesha2Constants.SPEC_VERSIONS.v1_1.equals(clientOptions.getProperty(SandeshaClientConstants.RM_SPEC_VERSION)))
+               {
+
+                       
clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, 
Constants.VALUE_TRUE);
+               }
+
+               TestCallback callback3 = new TestCallback("Callback 3");
+               serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo3", 
sequenceKey), callback3);
+
+               if (explicitTermination) {
+                       Thread.sleep(10000);
+                       SandeshaClient.terminateSequence(serviceClient);
+               }
+
+               long limit = System.currentTimeMillis() + waitTime;
+               Error lastError = null;
+               while (System.currentTimeMillis() < limit) {
+                       Thread.sleep(tickTime); // Try the assertions each tick 
interval, until they pass or we time out
+
+                       try {
+
+                               //assertions for the out sequence.
+                               SequenceReport outgoingSequenceReport = 
SandeshaClient.getOutgoingSequenceReport(serviceClient);
+                               System.out.println("Checking Outbound Sequence: 
" + outgoingSequenceReport.getSequenceID());
+                               assertTrue("Outbound message #1", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(1)));
+                               assertTrue("Outbound message #2", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(2)));
+                               assertTrue("Outbound message #3", 
outgoingSequenceReport.getCompletedMessages().contains(new Long(3)));
+                               assertEquals("Outbound sequence status: 
TERMINATED", SequenceReport.SEQUENCE_STATUS_TERMINATED, 
outgoingSequenceReport.getSequenceStatus());
+                               assertEquals("Outbound sequence direction: 
OUT", SequenceReport.SEQUENCE_DIRECTION_OUT, 
outgoingSequenceReport.getSequenceDirection());
+
+                               //assertions for the inbound sequence. The one 
we care about is a new sequence,
+                               //so it will not exist in the oldSequences list.
+                               List<SequenceReport> incomingSequences = 
SandeshaClient.getIncomingSequenceReports(configContext);
+                               SequenceReport incomingSequenceReport = 
getNewReport(incomingSequences, oldIncomingReports);
+                               System.out.println("Checking Inbound Sequence: 
" + incomingSequenceReport.getSequenceID());
+                               String offer = (String) 
clientOptions.getProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID);
+                               if (offer != null) assertEquals("Inbound seq 
id", offer, incomingSequenceReport.getSequenceID());
+                               assertEquals("Inbound message count", 3, 
incomingSequenceReport.getCompletedMessages().size());
+                               assertTrue("Inbound message #1", 
incomingSequenceReport.getCompletedMessages().contains(new Long(1)));
+                               assertTrue("Inbound message #2", 
incomingSequenceReport.getCompletedMessages().contains(new Long(2)));
+                               assertTrue("Inbound message #3", 
incomingSequenceReport.getCompletedMessages().contains(new Long(3)));
+
+                               if (checkInboundTermination)
+                                       assertEquals("Inbound sequence status: 
TERMINATED", SequenceReport.SEQUENCE_STATUS_TERMINATED, 
incomingSequenceReport.getSequenceStatus());
+
+                               assertEquals("Inbound sequence direction: IN", 
SequenceReport.SEQUENCE_DIRECTION_IN, 
incomingSequenceReport.getSequenceDirection());
+
+                               assertTrue("Callback #1", 
callback1.isComplete());
+                               assertEquals("Callback #1 data", "echo1", 
callback1.getResult());
+
+                               assertTrue("Callback #2", 
callback2.isComplete());
+                               assertEquals("Callback #2 data", "echo1echo2", 
callback2.getResult());
+
+                               assertTrue("Callback #3", 
callback3.isComplete());
+                               assertEquals("Callback #3 data", 
"echo1echo2echo3", callback3.getResult());
+
+                               lastError = null;
+                               break;
+                       } catch (Error e) {
+                               e.printStackTrace();
+                               System.out.println("Possible error:" + e);
+                               lastError = e;
+                       }
+               }
+               if (lastError != null) throw lastError;
+
+               if (stopListener)
+                       configContext.getListenerManager().stop();
+
+               serviceClient.cleanup();
+       }
+
+       // Scan through lists of old and new incoming sequences, to find the 
sequence that
+       // was established by this test. Note that some of the old sequences 
may have timed out.
+       private SequenceReport getNewReport(List<SequenceReport> 
incomingSequences, List<SequenceReport> oldIncomingReports) {
+               HashSet<String> sequenceIds = new HashSet<String>();
+               for (Iterator<SequenceReport> oldSequences = 
oldIncomingReports.iterator(); oldSequences.hasNext();) {
+                       SequenceReport report = (SequenceReport) 
oldSequences.next();
+                       sequenceIds.add(report.getSequenceID());
+               }
+               for (Iterator<SequenceReport> currentSequences = 
incomingSequences.iterator(); currentSequences.hasNext();) {
+                       SequenceReport report = (SequenceReport) 
currentSequences.next();
+                       if (!sequenceIds.contains(report.getSequenceID())) {
+                               return report;
+                       }
+               }
+               throw new AssertionFailedError("Failed to find a new reply 
sequence");
+       }
+
+
+}

Propchange: 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java?rev=1435837&r1=1435836&r2=1435837&view=diff
==============================================================================
--- 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
 (original)
+++ 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
 Sun Jan 20 13:28:17 2013
@@ -1,260 +1,260 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.sandesha2;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.soap.SOAPBody;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.client.async.AxisCallback;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisOperationFactory;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.engine.MessageReceiver;
-import org.apache.axis2.transport.http.SimpleHTTPServer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-public class SandeshaTestCase extends TestCase {
-
-       String resourceDir = ""; //"test-resources";
-       Properties properties = null;
-       final String PROPERTY_FILE_NAME = "sandesha2-test.properties";
-       public final int DEFAULT_SERVER_TEST_PORT = 8060;
-       public ConfigurationContext serverConfigurationContext = null;
-       private final String RMServiceName = "RMSampleService";
-       private Log log = LogFactory.getLog(getClass());
-
-       private final static String applicationNamespaceName = 
"http://tempuri.org/";;
-       private final static String echoString = "echoString";
-       private final static String ping = "ping";
-       private final static String Text = "Text";
-       private final static String Sequence = "Sequence";
-       private final static String echoStringResponse = "echoStringResponse";
-       private final static String EchoStringReturn = "EchoStringReturn";
-
-       protected SimpleHTTPServer httpServer = null;
-       protected int serverPort = DEFAULT_SERVER_TEST_PORT;
-       protected int waitTime = 70000; // Each test will wait up to 70 
seconds, unless we override it here
-       protected int tickTime = 10000;  // Each wait will check the test 
assertions each second
-       protected String pingAction = "urn:wsrm:Ping";
-       protected String echoAction = "urn:wsrm:EchoString";
-
-       public SandeshaTestCase(String name) {
-               super(name);
-               String testRource = "target" + File.separator + "test-classes";
-               resourceDir = new File(testRource).getPath();
-
-               String propFileStr = resourceDir + File.separator + 
PROPERTY_FILE_NAME;
-               properties = new Properties();
-
-               try {
-                       FileInputStream propertyFile = new FileInputStream(new 
File(propFileStr));
-                       properties.load(propertyFile);
-               } catch (FileNotFoundException e) {
-                       log.error(e);
-               } catch (IOException e) {
-                       log.error(e);
-               }
-       }
-
-       public void setUp() throws Exception {
-               super.setUp();
-
-               String serverPortStr = getTestProperty("test.server.port");
-               if (serverPortStr != null) {
-                       try {
-                               serverPort = Integer.parseInt(serverPortStr);
-                       } catch (NumberFormatException e) {
-                               log.error(e);
-                       }
-               }
-       }
-
-       public ConfigurationContext startServer(String repoPath, String 
axis2_xml)
-                       throws Exception {
-
-               ConfigurationContext configContext =
-                               
ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPath, 
axis2_xml);
-
-               httpServer = new SimpleHTTPServer(configContext, serverPort);
-               httpServer.start();
-               Thread.sleep(300);
-
-               return configContext;
-       }
-
-       public void tearDown() throws Exception {
-               if (httpServer != null) {
-                       httpServer.stop();
-               }
-
-               Thread.sleep(300);
-       }
-
-       protected InputStream getResource(String relativePath, String 
resourceName) {
-               String resourceFile = resourceDir + relativePath + 
File.separator + resourceName;
-               try {
-                       return new FileInputStream(resourceFile);
-               } catch (FileNotFoundException e) {
-                       throw new RuntimeException("cannot load the 
test-resource", e);
-               }
-       }
-
-       protected SOAPEnvelope getSOAPEnvelope() {
-               return 
OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
-       }
-
-       protected SOAPEnvelope getSOAPEnvelope(String relativePath, String 
resourceName) {
-               OMXMLParserWrapper wrapper = 
OMXMLBuilderFactory.createSOAPModelBuilder(
-                               getResource(relativePath, resourceName), null);
-               return (SOAPEnvelope) wrapper.getDocumentElement();
-       }
-
-       protected SOAPEnvelope getEmptySOAPEnvelope() {
-               return 
OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
-       }
-
-       protected static OMElement getEchoOMBlock(String text, String 
sequenceKey) {
-               OMFactory fac = OMAbstractFactory.getOMFactory();
-               OMNamespace applicationNamespace = 
fac.createOMNamespace(applicationNamespaceName, "ns1");
-               OMElement echoStringElement = fac.createOMElement(echoString, 
applicationNamespace);
-               OMElement textElem = fac.createOMElement(Text, 
applicationNamespace);
-               OMElement sequenceElem = fac.createOMElement(Sequence, 
applicationNamespace);
-
-               textElem.setText(text);
-               sequenceElem.setText(sequenceKey);
-               echoStringElement.addChild(textElem);
-               echoStringElement.addChild(sequenceElem);
-
-               return echoStringElement;
-       }
-
-       protected OMElement getPingOMBlock(String text) {
-               OMFactory fac = OMAbstractFactory.getOMFactory();
-               OMNamespace namespace = 
fac.createOMNamespace(applicationNamespaceName, "ns1");
-               OMElement pingElem = fac.createOMElement(ping, namespace);
-               OMElement textElem = fac.createOMElement(Text, namespace);
-
-               textElem.setText(text);
-               pingElem.addChild(textElem);
-
-               return pingElem;
-       }
-
-       protected String checkEchoOMBlock(OMElement response) {
-               assertEquals("Response namespace", applicationNamespaceName, 
response.getNamespace().getNamespaceURI());
-               assertEquals("Response local name", echoStringResponse, 
response.getLocalName());
-
-               OMElement echoStringReturnElem = 
response.getFirstChildWithName(new QName(applicationNamespaceName, 
EchoStringReturn));
-               assertNotNull("Echo String Return", echoStringReturnElem);
-
-               String resultStr = echoStringReturnElem.getText();
-               return resultStr;
-       }
-
-       public String getTestProperty(String key) {
-               if (properties != null)
-                       return properties.getProperty(key);
-
-               return null;
-       }
-
-       public void overrideConfigurationContext(ConfigurationContext context, 
MessageReceiver messageReceiver, String operationName, boolean newOperation, 
int mep) throws Exception {
-
-
-               AxisService rmService = 
context.getAxisConfiguration().getService(RMServiceName);
-
-               AxisOperation operation = null;
-
-               if (newOperation) {
-                       operation = rmService.getOperation(new 
QName(operationName));
-                       if (operation == null)
-                               throw new Exception("Given operation not 
found");
-               } else {
-                       operation = AxisOperationFactory.getAxisOperation(mep);
-                       rmService.addOperation(operation);
-               }
-
-               operation.setMessageReceiver(messageReceiver);
-       }
-
-       protected class TestCallback implements AxisCallback {
-
-               String name = null;
-               boolean completed = false;
-               boolean errorReported = false;
-               String resultStr;
-
-               public boolean isComplete() {
-                       return completed;
-               }
-
-               public boolean isErrorReported() {
-                       return errorReported;
-               }
-
-               public String getResult() {
-                       return resultStr;
-               }
-
-               public TestCallback(String name) {
-                       this.name = name;
-               }
-
-               public void onComplete() {
-                       completed = true;
-               }
-
-               public void onMessage(MessageContext result) {
-                       SOAPBody body = result.getEnvelope().getBody();
-                       OMElement contents = body.getFirstElement();
-                       this.resultStr = checkEchoOMBlock(contents);
-                       System.out.println("TestCallback got text: '" + 
resultStr + "'");
-               }
-
-               public void onFault(MessageContext result) {
-                       errorReported = true;
-                       System.out.println("TestCallback got fault: " + 
result.getEnvelope());
-               }
-
-               public void onError(Exception e) {
-                       errorReported = true;
-                       System.out.println("TestCallback got exception");
-                       e.printStackTrace();
-               }
-       }
-
-}
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.sandesha2;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.soap.SOAPBody;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.client.async.AxisCallback;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.MessageReceiver;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class SandeshaTestCase extends TestCase {
+
+       String resourceDir = ""; //"test-resources";
+       Properties properties = null;
+       final String PROPERTY_FILE_NAME = "sandesha2-test.properties";
+       public final int DEFAULT_SERVER_TEST_PORT = 8060;
+       public ConfigurationContext serverConfigurationContext = null;
+       private final String RMServiceName = "RMSampleService";
+       private Log log = LogFactory.getLog(getClass());
+
+       private final static String applicationNamespaceName = 
"http://tempuri.org/";;
+       private final static String echoString = "echoString";
+       private final static String ping = "ping";
+       private final static String Text = "Text";
+       private final static String Sequence = "Sequence";
+       private final static String echoStringResponse = "echoStringResponse";
+       private final static String EchoStringReturn = "EchoStringReturn";
+
+       protected SimpleHTTPServer httpServer = null;
+       protected int serverPort = DEFAULT_SERVER_TEST_PORT;
+       protected int waitTime = 70000; // Each test will wait up to 70 
seconds, unless we override it here
+       protected int tickTime = 10000;  // Each wait will check the test 
assertions each second
+       protected String pingAction = "urn:wsrm:Ping";
+       protected String echoAction = "urn:wsrm:EchoString";
+
+       public SandeshaTestCase(String name) {
+               super(name);
+               String testRource = "target" + File.separator + "test-classes";
+               resourceDir = new File(testRource).getPath();
+
+               String propFileStr = resourceDir + File.separator + 
PROPERTY_FILE_NAME;
+               properties = new Properties();
+
+               try {
+                       FileInputStream propertyFile = new FileInputStream(new 
File(propFileStr));
+                       properties.load(propertyFile);
+               } catch (FileNotFoundException e) {
+                       log.error(e);
+               } catch (IOException e) {
+                       log.error(e);
+               }
+       }
+
+       public void setUp() throws Exception {
+               super.setUp();
+
+               String serverPortStr = getTestProperty("test.server.port");
+               if (serverPortStr != null) {
+                       try {
+                               serverPort = Integer.parseInt(serverPortStr);
+                       } catch (NumberFormatException e) {
+                               log.error(e);
+                       }
+               }
+       }
+
+       public ConfigurationContext startServer(String repoPath, String 
axis2_xml)
+                       throws Exception {
+
+               ConfigurationContext configContext =
+                               
ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPath, 
axis2_xml);
+
+               httpServer = new SimpleHTTPServer(configContext, serverPort);
+               httpServer.start();
+               Thread.sleep(300);
+
+               return configContext;
+       }
+
+       public void tearDown() throws Exception {
+               if (httpServer != null) {
+                       httpServer.stop();
+               }
+
+               Thread.sleep(300);
+       }
+
+       protected InputStream getResource(String relativePath, String 
resourceName) {
+               String resourceFile = resourceDir + relativePath + 
File.separator + resourceName;
+               try {
+                       return new FileInputStream(resourceFile);
+               } catch (FileNotFoundException e) {
+                       throw new RuntimeException("cannot load the 
test-resource", e);
+               }
+       }
+
+       protected SOAPEnvelope getSOAPEnvelope() {
+               return 
OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+       }
+
+       protected SOAPEnvelope getSOAPEnvelope(String relativePath, String 
resourceName) {
+               OMXMLParserWrapper wrapper = 
OMXMLBuilderFactory.createSOAPModelBuilder(
+                               getResource(relativePath, resourceName), null);
+               return (SOAPEnvelope) wrapper.getDocumentElement();
+       }
+
+       protected SOAPEnvelope getEmptySOAPEnvelope() {
+               return 
OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+       }
+
+       protected static OMElement getEchoOMBlock(String text, String 
sequenceKey) {
+               OMFactory fac = OMAbstractFactory.getOMFactory();
+               OMNamespace applicationNamespace = 
fac.createOMNamespace(applicationNamespaceName, "ns1");
+               OMElement echoStringElement = fac.createOMElement(echoString, 
applicationNamespace);
+               OMElement textElem = fac.createOMElement(Text, 
applicationNamespace);
+               OMElement sequenceElem = fac.createOMElement(Sequence, 
applicationNamespace);
+
+               textElem.setText(text);
+               sequenceElem.setText(sequenceKey);
+               echoStringElement.addChild(textElem);
+               echoStringElement.addChild(sequenceElem);
+
+               return echoStringElement;
+       }
+
+       protected OMElement getPingOMBlock(String text) {
+               OMFactory fac = OMAbstractFactory.getOMFactory();
+               OMNamespace namespace = 
fac.createOMNamespace(applicationNamespaceName, "ns1");
+               OMElement pingElem = fac.createOMElement(ping, namespace);
+               OMElement textElem = fac.createOMElement(Text, namespace);
+
+               textElem.setText(text);
+               pingElem.addChild(textElem);
+
+               return pingElem;
+       }
+
+       protected String checkEchoOMBlock(OMElement response) {
+               assertEquals("Response namespace", applicationNamespaceName, 
response.getNamespace().getNamespaceURI());
+               assertEquals("Response local name", echoStringResponse, 
response.getLocalName());
+
+               OMElement echoStringReturnElem = 
response.getFirstChildWithName(new QName(applicationNamespaceName, 
EchoStringReturn));
+               assertNotNull("Echo String Return", echoStringReturnElem);
+
+               String resultStr = echoStringReturnElem.getText();
+               return resultStr;
+       }
+
+       public String getTestProperty(String key) {
+               if (properties != null)
+                       return properties.getProperty(key);
+
+               return null;
+       }
+
+       public void overrideConfigurationContext(ConfigurationContext context, 
MessageReceiver messageReceiver, String operationName, boolean newOperation, 
int mep) throws Exception {
+
+
+               AxisService rmService = 
context.getAxisConfiguration().getService(RMServiceName);
+
+               AxisOperation operation = null;
+
+               if (newOperation) {
+                       operation = rmService.getOperation(new 
QName(operationName));
+                       if (operation == null)
+                               throw new Exception("Given operation not 
found");
+               } else {
+                       operation = AxisOperationFactory.getAxisOperation(mep);
+                       rmService.addOperation(operation);
+               }
+
+               operation.setMessageReceiver(messageReceiver);
+       }
+
+       protected class TestCallback implements AxisCallback {
+
+               String name = null;
+               boolean completed = false;
+               boolean errorReported = false;
+               String resultStr;
+
+               public boolean isComplete() {
+                       return completed;
+               }
+
+               public boolean isErrorReported() {
+                       return errorReported;
+               }
+
+               public String getResult() {
+                       return resultStr;
+               }
+
+               public TestCallback(String name) {
+                       this.name = name;
+               }
+
+               public void onComplete() {
+                       completed = true;
+               }
+
+               public void onMessage(MessageContext result) {
+                       SOAPBody body = result.getEnvelope().getBody();
+                       OMElement contents = body.getFirstElement();
+                       this.resultStr = checkEchoOMBlock(contents);
+                       System.out.println("TestCallback got text: '" + 
resultStr + "'");
+               }
+
+               public void onFault(MessageContext result) {
+                       errorReported = true;
+                       System.out.println("TestCallback got fault: " + 
result.getEnvelope());
+               }
+
+               public void onError(Exception e) {
+                       errorReported = true;
+                       System.out.println("TestCallback got exception");
+                       e.printStackTrace();
+               }
+       }
+
+}

Propchange: 
axis/axis2/java/sandesha/trunk/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to