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 am...@apache.org on 2008/10/29 07:41:11 UTC

svn commit: r708805 [2/2] - in /webservices/sandesha/trunk/java/modules/persistence/src: main/java/org/apache/sandesha2/storage/jdbc/ resources/ test/java/org/apache/sandesha2/

Modified: webservices/sandesha/trunk/java/modules/persistence/src/main/java/org/apache/sandesha2/storage/jdbc/PersistentStorageManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/persistence/src/main/java/org/apache/sandesha2/storage/jdbc/PersistentStorageManager.java?rev=708805&r1=708804&r2=708805&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/persistence/src/main/java/org/apache/sandesha2/storage/jdbc/PersistentStorageManager.java (original)
+++ webservices/sandesha/trunk/java/modules/persistence/src/main/java/org/apache/sandesha2/storage/jdbc/PersistentStorageManager.java Tue Oct 28 23:41:11 2008
@@ -47,39 +47,39 @@
 
 /**
  * A Storage Manager implementation for managing Sandesha2 beans.
- * 
+ * <p/>
  * Needs this parameter in module.xml or axis2.xml :
- * 
- *   db.driver				JDBC Driver class name
- *   db.connectionstring	JDBC connection string
- *   db.user				Data Base user name
- *   db.password			Data Base user password
- *   
- *   Transactions are supposed to be attached to a thread (see inMemoryStorageManager)
- *   hence the ThreadLocal threadTransaction variable (instead of the transactions HashMap
- *   used by inMemoryStorageManager).
- * 
- *   MessageContexts are stored in a HashMap, as in inMemoryStorageManager, AND in DataBase
- *   as backup in case of failure.
+ * <p/>
+ * db.driver				JDBC Driver class name
+ * db.connectionstring	JDBC connection string
+ * db.user				Data Base user name
+ * db.password			Data Base user password
+ * <p/>
+ * Transactions are supposed to be attached to a thread (see inMemoryStorageManager)
+ * hence the ThreadLocal threadTransaction variable (instead of the transactions HashMap
+ * used by inMemoryStorageManager).
+ * <p/>
+ * MessageContexts are stored in a HashMap, as in inMemoryStorageManager, AND in DataBase
+ * as backup in case of failure.
  */
 
 public class PersistentStorageManager extends StorageManager {
-	
+
 	private Connection DbConnection = null;
 	private String DbConnectionString = null;
 	private String DbDriver = null;
 	private String DbUser = null;
 	private String DbPassword = null;
-    private PersistentRMSBeanMgr  pRMSBeanMgr = null;
-    private PersistentRMDBeanMgr pRMDBeanMgr = null;
-    private PersistentSenderBeanMgr pSenderBeanMgr = null;
-    private PersistentInvokerBeanMgr pInvokerBeanMgr = null;
-    private Sender sender = null;
-    private Invoker invoker = null;
-    private PollingManager pollingManager = null;
-    private boolean useSerialization = false;
-	private HashMap<String,MessageContext> storageMap = null;
-    private static ThreadLocal threadTransaction = null;
+	private PersistentRMSBeanMgr pRMSBeanMgr = null;
+	private PersistentRMDBeanMgr pRMDBeanMgr = null;
+	private PersistentSenderBeanMgr pSenderBeanMgr = null;
+	private PersistentInvokerBeanMgr pInvokerBeanMgr = null;
+	private Sender sender = null;
+	private Invoker invoker = null;
+	private PollingManager pollingManager = null;
+	private boolean useSerialization = false;
+	private HashMap<String, MessageContext> storageMap = null;
+	private static ThreadLocal threadTransaction = null;
 	private static final Log log = LogFactory.getLog(PersistentStorageManager.class);
 
 	public SandeshaThread getInvoker() {
@@ -94,76 +94,72 @@
 		return sender;
 	}
 
-	
+
 	public PersistentStorageManager(ConfigurationContext context)
-	  throws SandeshaException
-	{
-		super (context);
+			throws SandeshaException {
+		super(context);
 		log.info("create PersistentStorageManager");
-		storageMap = new HashMap ();
+		storageMap = new HashMap();
 		threadTransaction = new ThreadLocal();
-		pRMSBeanMgr = new PersistentRMSBeanMgr (this);
-		pRMDBeanMgr = new PersistentRMDBeanMgr (this);
-		pSenderBeanMgr = new PersistentSenderBeanMgr (this);
-		pInvokerBeanMgr = new PersistentInvokerBeanMgr (this);
+		pRMSBeanMgr = new PersistentRMSBeanMgr(this);
+		pRMDBeanMgr = new PersistentRMDBeanMgr(this);
+		pSenderBeanMgr = new PersistentSenderBeanMgr(this);
+		pInvokerBeanMgr = new PersistentInvokerBeanMgr(this);
 		sender = new Sender();
 		// Note that while inOrder is a global property we can decide if we need the
 		// invoker thread at this point. If we change this to be a sequence-level
 		// property then we'll need to revisit this.
 		SandeshaPolicyBean policy = SandeshaUtil.getPropertyBean(context.getAxisConfiguration());
 		useSerialization = policy.isUseMessageSerialization();
-		if(policy.isInOrder()) invoker = new Invoker();
-		if(policy.isEnableMakeConnection()) pollingManager = new PollingManager();
-        ModuleConfiguration mc = context.getAxisConfiguration().getModuleConfig("sandesha2");
-        Parameter param = mc.getParameter("db.connectionstring");
-		if ( param != null ) {
-			DbConnectionString = (String)param.getValue();
-		  log.debug(param.getName() + "=" + DbConnectionString);
+		if (policy.isInOrder()) invoker = new Invoker();
+		if (policy.isEnableMakeConnection()) pollingManager = new PollingManager();
+		ModuleConfiguration mc = context.getAxisConfiguration().getModuleConfig("sandesha2");
+		Parameter param = mc.getParameter("db.connectionstring");
+		if (param != null) {
+			DbConnectionString = (String) param.getValue();
+			log.debug(param.getName() + "=" + DbConnectionString);
 		}
 		param = mc.getParameter("db.driver");
-		if ( param != null ) {
-			DbDriver = (String)param.getValue();
-		  log.debug(param.getName() + "=" + DbDriver);
+		if (param != null) {
+			DbDriver = (String) param.getValue();
+			log.debug(param.getName() + "=" + DbDriver);
 		}
 		param = mc.getParameter("db.user");
-		if ( param != null ) {
-			DbUser = (String)param.getValue();
-		  log.debug(param.getName() + "=" + DbUser);
+		if (param != null) {
+			DbUser = (String) param.getValue();
+			log.debug(param.getName() + "=" + DbUser);
 		}
 		param = mc.getParameter("db.password");
-		if ( param != null ) {
-			DbPassword = (String)param.getValue();
-		  log.debug(param.getName() + "=" + DbPassword);
+		if (param != null) {
+			DbPassword = (String) param.getValue();
+			log.debug(param.getName() + "=" + DbPassword);
 		}
 	}
-	public void shutdown()
-	{
-		if ( DbConnection != null ) {
+
+	public void shutdown() {
+		if (DbConnection != null) {
 			try {
 				DbConnection.close();
 				DbConnection = null;
-			} catch (Exception ex) {}
+			} catch (Exception ex) {
+			}
 		}
 		super.shutdown();
 	}
 
-	public InvokerBeanMgr getInvokerBeanMgr()
-	{
+	public InvokerBeanMgr getInvokerBeanMgr() {
 		return pInvokerBeanMgr;
 	}
 
-	public RMDBeanMgr getRMDBeanMgr()
-	{
+	public RMDBeanMgr getRMDBeanMgr() {
 		return pRMDBeanMgr;
 	}
 
-	public RMSBeanMgr getRMSBeanMgr()
-	{
+	public RMSBeanMgr getRMSBeanMgr() {
 		return pRMSBeanMgr;
 	}
 
-	public SenderBeanMgr getSenderBeanMgr()
-	{
+	public SenderBeanMgr getSenderBeanMgr() {
 		return pSenderBeanMgr;
 	}
 
@@ -171,15 +167,13 @@
 		return useSerialization;
 	}
 
-	public boolean hasUserTransaction(MessageContext msg)
-	{
+	public boolean hasUserTransaction(MessageContext msg) {
 		// Answer to : Is there a user transaction in play ?
 		// but what is a 'user transaction' ?
 		return false;
 	}
-	
-	public Transaction getTransaction()
-	{
+
+	public Transaction getTransaction() {
 		Transaction transaction = (Transaction) threadTransaction.get();
 		if (transaction == null) {
 			transaction = new JDBCTransaction(this);
@@ -188,139 +182,131 @@
 			// We don't want to overwrite or return an existing transaction, as someone
 			// else should decide if we commit it or not. If we get here then we probably
 			// have a bug.
-			if(log.isDebugEnabled()) log.debug("Possible re-used transaction: ");
+			if (log.isDebugEnabled()) log.debug("Possible re-used transaction: ");
 			transaction = null;
 		}
 		return transaction;
 	}
-	
-	public void removeTransaction()
-	{
+
+	public void removeTransaction() {
 		threadTransaction.set(null);
 	}
 
 	/**
-	 *  Returns the connection attached to the current transaction if exists
-	 *  or the "common" connection.
-	 *  
+	 * Returns the connection attached to the current transaction if exists
+	 * or the "common" connection.
+	 *
 	 * @return Data Base Connection
 	 */
-	public Connection getDbConnection()
-	{
+	public Connection getDbConnection() {
 		JDBCTransaction transaction = (JDBCTransaction) threadTransaction.get();
-		if ( transaction == null )return DbConnection;
+		if (transaction == null) return DbConnection;
 		return transaction.getDbConnection();
 	}
-	
 
-	public void  initStorage (AxisModule moduleDesc)
-	  throws SandeshaStorageException
-	{
+
+	public void initStorage(AxisModule moduleDesc)
+			throws SandeshaStorageException {
 		log.info("init PersistentStorageManager");
-		if ( DbConnectionString == null || DbDriver == null )
-				throw new SandeshaStorageException ("Can't proceed. Needed properties are not set.");
+		if (DbConnectionString == null || DbDriver == null)
+			throw new SandeshaStorageException("Can't proceed. Needed properties are not set.");
 
-	    DbConnection = dbConnect();
+		DbConnection = dbConnect();
 	}
-	
-	public Connection  dbConnect ()
-	  throws SandeshaStorageException
-	{
-			try {
-	    	   Class.forName(DbDriver);
-	    	   return DriverManager.getConnection(DbConnectionString,DbUser,DbPassword);
-			} catch (Exception ex) {
-				log.error("Unable to create DB connection ", ex);
-				throw new SandeshaStorageException(ex);
-			}		
+
+	public Connection dbConnect()
+			throws SandeshaStorageException {
+		try {
+			Class.forName(DbDriver);
+			return DriverManager.getConnection(DbConnectionString, DbUser, DbPassword);
+		} catch (Exception ex) {
+			log.error("Unable to create DB connection ", ex);
+			throw new SandeshaStorageException(ex);
+		}
 	}
 
-	public MessageContext retrieveMessageContext(String key,ConfigurationContext configContext)
-	  throws SandeshaStorageException
-	{
+	public MessageContext retrieveMessageContext(String key, ConfigurationContext configContext)
+			throws SandeshaStorageException {
 		log.debug("Enter retrieveMessageContext for key " + key);
-		/**/
+		 /**/
 		if (storageMap.containsKey(key)) {
 			log.debug("retrieveMessageContext get from cache");
 			return (MessageContext) storageMap.get(key);
 		}
-		/**/
+		 /**/
 		try {
-		  Statement stmt = getDbConnection().createStatement();
-		  /**/
-		  ResultSet rs = stmt.executeQuery("select * from wsrm_msgctx where ctx_key='" +
+			Statement stmt = getDbConnection().createStatement();
+			 /**/
+			ResultSet rs = stmt.executeQuery("select * from wsrm_msgctx where ctx_key='" +
 					key + "'");
-		  rs.next();
-		  MessageContext msgCtx =  new MessageContext();
-		  msgCtx.readExternal(new ObjectInputStream(rs.getBinaryStream("ctx")));
-		  msgCtx.activate(configContext);
-		  msgCtx.setProperty(Sandesha2Constants.POST_FAILURE_MESSAGE,Sandesha2Constants.VALUE_TRUE);
-		  rs.close();
-		  stmt.close();
-		  log.debug("RetrieveMessageContext get from DB");
-		  return msgCtx;
-		} catch ( Exception ex) {
+			rs.next();
+			MessageContext msgCtx = new MessageContext();
+			msgCtx.readExternal(new ObjectInputStream(rs.getBinaryStream("ctx")));
+			msgCtx.activate(configContext);
+			msgCtx.setProperty(Sandesha2Constants.POST_FAILURE_MESSAGE, Sandesha2Constants.VALUE_TRUE);
+			rs.close();
+			stmt.close();
+			log.debug("RetrieveMessageContext get from DB");
+			return msgCtx;
+		} catch (Exception ex) {
 			log.error("RetrieveMessageContext exception " + ex);
 			throw new SandeshaStorageException(ex);
 		}
 	}
 
-	synchronized public void storeMessageContext(String key,MessageContext msgContext)
-	  throws SandeshaStorageException
-	{		
-		if ( log.isDebugEnabled() ) log.debug("Enter storeMessageContext for key " + key + " context " + msgContext);
-		storageMap.put(key,msgContext);
+	synchronized public void storeMessageContext(String key, MessageContext msgContext)
+			throws SandeshaStorageException {
+		if (log.isDebugEnabled()) log.debug("Enter storeMessageContext for key " + key + " context " + msgContext);
+		storageMap.put(key, msgContext);
 		try {
-		   	PreparedStatement pstmt = getDbConnection().prepareStatement("insert into wsrm_msgctx(ctx_key,ctx)values(?,?)");
-		   	pstmt.setString(1,key);
-		    ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		    ObjectOutputStream oos = new ObjectOutputStream(baos);
-		   	msgContext.writeExternal(oos);
-		    oos.close();
-		    ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-		   	pstmt.setBinaryStream(2, bais, bais.available());
-		   	pstmt.execute();
-		   	pstmt.close();
-		} catch(Exception ex) {
+			PreparedStatement pstmt = getDbConnection().prepareStatement("insert into wsrm_msgctx(ctx_key,ctx)values(?,?)");
+			pstmt.setString(1, key);
+			ByteArrayOutputStream baos = new ByteArrayOutputStream();
+			ObjectOutputStream oos = new ObjectOutputStream(baos);
+			msgContext.writeExternal(oos);
+			oos.close();
+			ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+			pstmt.setBinaryStream(2, bais, bais.available());
+			pstmt.execute();
+			pstmt.close();
+		} catch (Exception ex) {
 			throw new SandeshaStorageException(ex);
 		}
 	}
 
-	synchronized public void updateMessageContext(String key,MessageContext msgContext)
-	  throws SandeshaStorageException
-	{
-		if ( log.isDebugEnabled() ) log.debug("updateMessageContext key : " + key);
-		storageMap.put(key,msgContext);
+	synchronized public void updateMessageContext(String key, MessageContext msgContext)
+			throws SandeshaStorageException {
+		if (log.isDebugEnabled()) log.debug("updateMessageContext key : " + key);
+		storageMap.put(key, msgContext);
 		PreparedStatement pstmt = null;
 		try {
-		    pstmt = getDbConnection().prepareStatement("update wsrm_msgctx set ctx=?" +
-		    		"where ctx_key='" + key + "'");
-		    ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		    ObjectOutputStream oos = new ObjectOutputStream(baos);
-		   	msgContext.writeExternal(oos);
-		    oos.close();
-		    ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-		   	pstmt.setBinaryStream(1, bais, bais.available());
-		   	pstmt.executeQuery();
-		   	pstmt.close();
-		} catch(Exception ex) {
+			pstmt = getDbConnection().prepareStatement("update wsrm_msgctx set ctx=?" +
+					"where ctx_key='" + key + "'");
+			ByteArrayOutputStream baos = new ByteArrayOutputStream();
+			ObjectOutputStream oos = new ObjectOutputStream(baos);
+			msgContext.writeExternal(oos);
+			oos.close();
+			ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+			pstmt.setBinaryStream(1, bais, bais.available());
+			pstmt.executeQuery();
+			pstmt.close();
+		} catch (Exception ex) {
 			throw new SandeshaStorageException("Exception in updateMessageContext", ex);
 		}
 	}
-	
+
 	public void removeMessageContext(String key)
-	  throws SandeshaStorageException
-	{
-		if ( log.isDebugEnabled() ) log.debug("removeMessageContext key : " + key);
+			throws SandeshaStorageException {
+		if (log.isDebugEnabled()) log.debug("removeMessageContext key : " + key);
 		try {
-		  Statement stmt = getDbConnection().createStatement();
-		  MessageContext messageInCache = (MessageContext) storageMap.get(key);
-		  if (messageInCache!=null) storageMap.remove(key);
-		  stmt.executeUpdate("delete from wsrm_msgctx where ctx_key='" + key + "'");
-		  stmt.close();
-		} catch (Exception ex ) {
+			Statement stmt = getDbConnection().createStatement();
+			MessageContext messageInCache = (MessageContext) storageMap.get(key);
+			if (messageInCache != null) storageMap.remove(key);
+			stmt.executeUpdate("delete from wsrm_msgctx where ctx_key='" + key + "'");
+			stmt.close();
+		} catch (Exception ex) {
 			throw new SandeshaStorageException("Exception in removeMessageContext", ex);
 		}
 	}
-			
+
 }

Modified: webservices/sandesha/trunk/java/modules/persistence/src/resources/module_config_axis2.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/persistence/src/resources/module_config_axis2.xml?rev=708805&r1=708804&r2=708805&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/persistence/src/resources/module_config_axis2.xml (original)
+++ webservices/sandesha/trunk/java/modules/persistence/src/resources/module_config_axis2.xml Tue Oct 28 23:41:11 2008
@@ -1,15 +1,15 @@
 <!-- Add something like this in axis2.xml for the right DB -->
-    <moduleConfig name="sandesha2">
-    <!-- MySQL 
-     <parameter name="db.connectionstring">jdbc:mysql://localhost/wsrm</parameter>
-    <parameter name="db.driver">com.mysql.jdbc.Driver</parameter>
-    <parameter name="db.user"></parameter>
-    <parameter name="db.password"></parameter>
-    -->
-     <!-- Derby --> 
-    <parameter name="db.connectionstring">jdbc:derby:derby/wsrm</parameter>
-    <parameter name="db.driver">org.apache.derby.jdbc.EmbeddedDriver</parameter>
-    <parameter name="db.user"></parameter>
-    <parameter name="db.password"></parameter>
-   <!-- -->
-    </moduleConfig>
+<moduleConfig name="sandesha2">
+	<!-- MySQL
+		 <parameter name="db.connectionstring">jdbc:mysql://localhost/wsrm</parameter>
+		<parameter name="db.driver">com.mysql.jdbc.Driver</parameter>
+		<parameter name="db.user"></parameter>
+		<parameter name="db.password"></parameter>
+		-->
+	<!-- Derby -->
+	<parameter name="db.connectionstring">jdbc:derby:derby/wsrm</parameter>
+	<parameter name="db.driver">org.apache.derby.jdbc.EmbeddedDriver</parameter>
+	<parameter name="db.user"></parameter>
+	<parameter name="db.password"></parameter>
+	<!-- -->
+</moduleConfig>

Modified: webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java?rev=708805&r1=708804&r2=708805&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java (original)
+++ webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/RMScenariosTest.java Tue Oct 28 23:41:11 2008
@@ -39,46 +39,46 @@
 
 public class RMScenariosTest extends SandeshaTestCase {
 
-	private boolean serverStarted = false; 
+	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() {
+		super("RMScenariosTest");
 	}
-	
-	public RMScenariosTest (String name) {
+
+	public RMScenariosTest(String name) {
 		super(name);
 	}
 
-	public void setUp () throws Exception {
+	public void setUp() throws Exception {
 		super.setUp();
 
 		if (!serverStarted) {
 			startServer(repoPath, axis2_xml);
-			configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPathClient,axis2_xmlClient);
+			configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPathClient, axis2_xmlClient);
 		}
 		serverStarted = true;
 	}
-	
+
 	/**
 	 * Override the teardown processing
 	 */
-	public void tearDown () throws Exception {
+	public void tearDown() throws Exception {
 		super.tearDown();
 	}
 
-	public void testPing() throws Exception  {
+	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);
 	}
@@ -86,25 +86,25 @@
 	public void testAsyncEcho() throws Exception {
 		// Test async echo with sync acks
 		Options clientOptions = new Options();
-		runEcho(clientOptions, true, false, false,true,false);
-		
+		runEcho(clientOptions, true, false, false, true, false);
+
 		// Test async echo with async acks
 		clientOptions = new Options();
-		runEcho(clientOptions, true, true, false,true,false);
-		
+		runEcho(clientOptions, true, true, false, true, false);
+
 		// Test async echo with async acks and offer
 		clientOptions = new Options();
-		clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
-		runEcho(clientOptions, true, true, false,true,true);
+		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);
-		
+		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.
@@ -112,40 +112,40 @@
 //		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 {
+	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);
+		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 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.setTo(new EndpointReference(to));
+		clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, sequenceKey);
 		clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, Constants.VALUE_TRUE);
-		
-		if(asyncAcks) {
+
+		if (asyncAcks) {
 			clientOptions.setUseSeparateListener(true);
 		}
 
 		serviceClient.fireAndForget(getPingOMBlock("ping1"));
-		
+
 		long limit = System.currentTimeMillis() + waitTime;
 		Error lastError = null;
-		while(System.currentTimeMillis() < limit) {
+		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());
@@ -155,86 +155,87 @@
 
 				lastError = null;
 				break;
-			} catch(Error e) {
-                e.printStackTrace();
-                System.out.println("Possible error:" + e);
+			} catch (Error e) {
+				e.printStackTrace();
+				System.out.println("Possible error:" + e);
 				lastError = e;
 			}
 		}
 
-		if(lastError != null) throw lastError;
+		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 serviceClient = new ServiceClient(configContext, null);
 		serviceClient.setOptions(clientOptions);
 
 		clientOptions.setAction(echoAction);
-		clientOptions.setTo(new EndpointReference (to));
-		clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY,sequenceKey);
+		clientOptions.setTo(new EndpointReference(to));
+		clientOptions.setProperty(SandeshaClientConstants.SEQUENCE_KEY, sequenceKey);
 		clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
 
-		if(asyncReply || asyncAcks) {
+		if (asyncReply || asyncAcks) {
 			clientOptions.setUseSeparateListener(true);
-			
-			if(asyncAcks) {
+
+			if (asyncAcks) {
 				String acksTo = serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
-				clientOptions.setProperty(SandeshaClientConstants.AcksTo,acksTo);
+				clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
 			} else {
 				String acksTo = AddressingConstants.Final.WSA_ANONYMOUS_URL;
-				clientOptions.setProperty(SandeshaClientConstants.AcksTo,acksTo);
+				clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
 			}
 		}
-		
-		if(asyncAcks) {
+
+		if (asyncAcks) {
 			String acksTo = serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
-			clientOptions.setProperty(SandeshaClientConstants.AcksTo,acksTo);
+			clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
 		} else {
 			String acksTo = AddressingConstants.Final.WSA_ANONYMOUS_URL;
-			clientOptions.setProperty(SandeshaClientConstants.AcksTo,acksTo);
+			clientOptions.setProperty(SandeshaClientConstants.AcksTo, acksTo);
 		}
 
 		// Establish a baseline count for inbound sequences
 		List 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))) {
-			
+
+		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);
-		
+
+		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) {
+		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.
+
+				//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)));
@@ -242,46 +243,46 @@
 				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 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());
+				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);
+			} catch (Error e) {
+				e.printStackTrace();
+				System.out.println("Possible error:" + e);
 				lastError = e;
 			}
 		}
-		if(lastError != null) throw lastError;
-		
+		if (lastError != null) throw lastError;
+
 		if (stopListener)
 			configContext.getListenerManager().stop();
-		
+
 		serviceClient.cleanup();
 	}
 
@@ -289,13 +290,13 @@
 	// was established by this test. Note that some of the old sequences may have timed out.
 	private SequenceReport getNewReport(List incomingSequences, List oldIncomingReports) {
 		HashSet sequenceIds = new HashSet();
-		for(Iterator oldSequences = oldIncomingReports.iterator(); oldSequences.hasNext(); ) {
+		for (Iterator oldSequences = oldIncomingReports.iterator(); oldSequences.hasNext();) {
 			SequenceReport report = (SequenceReport) oldSequences.next();
 			sequenceIds.add(report.getSequenceID());
 		}
-		for(Iterator currentSequences = incomingSequences.iterator(); currentSequences.hasNext(); ) {
+		for (Iterator currentSequences = incomingSequences.iterator(); currentSequences.hasNext();) {
 			SequenceReport report = (SequenceReport) currentSequences.next();
-			if(!sequenceIds.contains(report.getSequenceID())) {
+			if (!sequenceIds.contains(report.getSequenceID())) {
 				return report;
 			}
 		}

Modified: webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java?rev=708805&r1=708804&r2=708805&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java (original)
+++ webservices/sandesha/trunk/java/modules/persistence/src/test/java/org/apache/sandesha2/SandeshaTestCase.java Tue Oct 28 23:41:11 2008
@@ -52,16 +52,16 @@
 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";
+	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 applicationNamespaceName = "http://tempuri.org/";
 	private final static String echoString = "echoString";
 	private final static String ping = "ping";
 	private final static String Text = "Text";
@@ -75,111 +75,111 @@
 	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));
+
+	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 {
+	}
+
+	public void setUp() throws Exception {
 		super.setUp();
-    	
+
 		String serverPortStr = getTestProperty("test.server.port");
-		if (serverPortStr!=null) {
+		if (serverPortStr != null) {
 			try {
 				serverPort = Integer.parseInt(serverPortStr);
 			} catch (NumberFormatException e) {
 				log.error(e);
 			}
 		}
-    }
-    
+	}
+
 	public ConfigurationContext startServer(String repoPath, String axis2_xml)
-	throws Exception {
+			throws Exception {
 
 		ConfigurationContext configContext =
-                ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPath,axis2_xml);
+				ConfigurationContextFactory.createConfigurationContextFromFileSystem(repoPath, axis2_xml);
 
-		httpServer = new SimpleHTTPServer (configContext,serverPort);
+		httpServer = new SimpleHTTPServer(configContext, serverPort);
 		httpServer.start();
 		Thread.sleep(300);
-		
+
 		return configContext;
 	}
 
-	public void tearDown () throws Exception {
-		if (httpServer!=null) {
+	public void tearDown() throws Exception {
+		if (httpServer != null) {
 			httpServer.stop();
 		}
-		
+
 		Thread.sleep(300);
 	}
 
 	protected InputStreamReader getResource(String relativePath, String resourceName) {
-        String resourceFile = resourceDir + relativePath + File.separator + resourceName;
-        try {
-            FileReader reader = new FileReader(resourceFile);
-            return reader;
-        } 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) {
-        try {
-            XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(
-                    getResource(relativePath, resourceName));
-            OMXMLParserWrapper wrapper = OMXMLBuilderFactory.createStAXSOAPModelBuilder(
-                    OMAbstractFactory.getSOAP11Factory(), reader);
-            return (SOAPEnvelope) wrapper.getDocumentElement();
-
-        } catch (XMLStreamException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    protected SOAPEnvelope getEmptySOAPEnvelope() {
-        return OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
-    }
+		String resourceFile = resourceDir + relativePath + File.separator + resourceName;
+		try {
+			FileReader reader = new FileReader(resourceFile);
+			return reader;
+		} 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) {
+		try {
+			XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(
+					getResource(relativePath, resourceName));
+			OMXMLParserWrapper wrapper = OMXMLBuilderFactory.createStAXSOAPModelBuilder(
+					OMAbstractFactory.getSOAP11Factory(), reader);
+			return (SOAPEnvelope) wrapper.getDocumentElement();
+
+		} catch (XMLStreamException e) {
+			throw new RuntimeException(e);
+		}
+	}
+
+	protected SOAPEnvelope getEmptySOAPEnvelope() {
+		return OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+	}
 
-    protected static OMElement getEchoOMBlock(String text, String sequenceKey) {
+	protected static OMElement getEchoOMBlock(String text, String sequenceKey) {
 		OMFactory fac = OMAbstractFactory.getOMFactory();
-		OMNamespace applicationNamespace = fac.createOMNamespace(applicationNamespaceName,"ns1");
+		OMNamespace applicationNamespace = fac.createOMNamespace(applicationNamespaceName, "ns1");
 		OMElement echoStringElement = fac.createOMElement(echoString, applicationNamespace);
-		OMElement textElem = fac.createOMElement(Text,applicationNamespace);
-		OMElement sequenceElem = fac.createOMElement(Sequence,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");
+		OMNamespace namespace = fac.createOMNamespace(applicationNamespaceName, "ns1");
 		OMElement pingElem = fac.createOMElement(ping, namespace);
 		OMElement textElem = fac.createOMElement(Text, namespace);
-		
+
 		textElem.setText(text);
 		pingElem.addChild(textElem);
 
@@ -189,39 +189,39 @@
 	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));
+
+		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);
-    }
+	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 {
 
@@ -229,23 +229,23 @@
 		boolean completed = false;
 		boolean errorReported = false;
 		String resultStr;
-		
+
 		public boolean isComplete() {
 			return completed;
 		}
-		
+
 		public boolean isErrorReported() {
 			return errorReported;
 		}
 
-		public String getResult () {
+		public String getResult() {
 			return resultStr;
 		}
-		
-		public TestCallback (String name) {
+
+		public TestCallback(String name) {
 			this.name = name;
 		}
-		
+
 		public void onComplete() {
 			completed = true;
 		}
@@ -256,13 +256,13 @@
 			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) {
+		public void onError(Exception e) {
 			errorReported = true;
 			System.out.println("TestCallback got exception");
 			e.printStackTrace();



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org