You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2006/05/14 20:34:50 UTC

svn commit: r406396 [1/2] - in /webservices/sandesha/trunk/src/org/apache/sandesha2: ./ client/ handlers/ msgprocessors/ policy/ policy/processors/ transport/ util/ workers/

Author: chamikara
Date: Sun May 14 11:34:48 2006
New Revision: 406396

URL: http://svn.apache.org/viewcvs?rev=406396&view=rev
Log:
Changed policy configuration to have two storageManagers. One for permanent storage
and other for inMemory storage.
User can set choose the storage manager by a global property set in the axis2.xml.

Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaPropertyBean.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/TerminateManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java Sun May 14 11:34:48 2006
@@ -379,7 +379,11 @@
 		
 		String InactivityTimeoutMeasure = "InactivityTimeoutMeasure";
 		
-		String StorageManager = "StorageManager";
+//		String StorageManager = "StorageManager";
+		
+		String InMemoryStorageManager = "InMemoryStorageManager";
+		
+		String PermanentStorageManager = "PermanentStorageManager";
 		
 		String InOrderInvocation = "InvokeInOrder";
 		
@@ -399,8 +403,12 @@
 			
 			String InactivityTimeoutMeasure = "seconds";   //this can be - seconds,minutes,hours,days
 			
-			String StorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+//			String StorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
 		
+			String InMemoryStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+			
+			String PermanentStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+			
 			boolean InvokeInOrder = true;
 			
 			String MessageTypesToDrop=VALUE_NONE;
@@ -473,12 +481,18 @@
 	
 	String LIST_PART_SEPERATOR = "-";
 	
-	String STORAGE_MANAGER = "StorageManager";
+	String INMEMORY_STORAGE_MANAGER = "inmemory";
+	
+	String PERMANENT_STORAGE_MANAGER = "permanent";
+	
+	String DEFAULT_STORAGE_MANAGER = INMEMORY_STORAGE_MANAGER;
 	
 	String SENDER = "Sender";
 	
 	String INVOKER = "Invoker";
 	
 	String WITHIN_TRANSACTION = "WithinTransaction";
+	
+	String STORAGE_MANAGER_PARAMETER  = "Sandesha2StorageManager";
 	
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java Sun May 14 11:34:48 2006
@@ -57,9 +57,14 @@
 		parameter.setValue(propertyBean);
 		configContext.getAxisConfiguration().addParameter(parameter);;
 		
-		configContext.setProperty(Sandesha2Constants.STORAGE_MANAGER,null);   // this must be resetted by the module settings.
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
-		storageManager.initStorage(module);
+		configContext.setProperty(Sandesha2Constants.INMEMORY_STORAGE_MANAGER,null);   // this must be resetted by the module settings.
+		configContext.setProperty(Sandesha2Constants.PERMANENT_STORAGE_MANAGER,null);
+		
+		StorageManager inMemorytorageManager = SandeshaUtil.getInMemoryStorageManager(configContext);
+		StorageManager permanentStorageManager = SandeshaUtil.getPermanentStorageManager(configContext);
+		
+		inMemorytorageManager.initStorage(module);
+		permanentStorageManager.initStorage(module);
 	}
 
 	public void engageNotify(AxisDescription axisDescription) throws AxisFault {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java Sun May 14 11:34:48 2006
@@ -112,7 +112,7 @@
 		SequenceReport sequenceReport = new SequenceReport();
 		sequenceReport.setSequenceDirection(SequenceReport.SEQUENCE_DIRECTION_OUT);
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
 
@@ -234,7 +234,7 @@
 	 */
 	public static SandeshaReport getSandeshaReport(ConfigurationContext configurationContext) throws SandeshaException {
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		SandeshaReport sandeshaReport = new SandeshaReport();
 		SequencePropertyBean internalSequenceFindBean = new SequencePropertyBean();
@@ -555,7 +555,7 @@
 							+ " cannot get sequenceID");
 		}
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 
 		SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
@@ -683,7 +683,7 @@
 		if (sequenceReport.getSequenceStatus() != SequenceReport.SEQUENCE_STATUS_ESTABLISHED)
 			throw new SandeshaException("Canot close the sequence since it is not active");
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
 				Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);
@@ -877,7 +877,7 @@
 	private static SequenceReport getIncomingSequenceReport(String sequenceID, ConfigurationContext configCtx)
 			throws SandeshaException {
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 
 		String withinTransactionStr = (String) configCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
@@ -950,7 +950,7 @@
 		if (sequenceReport.getSequenceStatus() != SequenceReport.SEQUENCE_STATUS_ESTABLISHED)
 			throw new SandeshaException("Canot terminate the sequence since it is not active");
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
 				Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Sun May 14 11:34:48 2006
@@ -32,6 +32,7 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.context.OperationContextFactory;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -69,8 +70,20 @@
 		SOAPEnvelope envelope = msgContext.getEnvelope();
 		if (envelope == null)
 			throw new SandeshaException("SOAP envelope is not set");
-
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+		
+		StorageManager storageManager = null;
+		try {
+			storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,configContext.getAxisConfiguration());
+			if (storageManager==null) {
+				//TODO make this a log
+				System.out.println ("Sandesha2 cannot proceed. The StorageManager is not available");
+				return;
+			}
+		} catch (SandeshaException e1) {
+			//TODO make this a log
+			System.out.println ("Sandesha2 cannot proceed. Exception thrown when looking for the StorageManager");
+			return;
+		}
 
 		boolean withinTransaction = false;
 		String withinTransactionStr = (String) msgContext.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
@@ -144,9 +157,9 @@
 			RMMsgContext rmMessageContext = MsgInitializer.initializeMessage(msgContext);
 
 			// Dropping duplicates
-			boolean dropped = dropIfDuplicate(rmMessageContext);
+			boolean dropped = dropIfDuplicate(rmMessageContext,storageManager);
 			if (dropped) {
-				processDroppedMessage(rmMessageContext);
+				processDroppedMessage(rmMessageContext,storageManager);
 				return;
 			}
 
@@ -182,7 +195,7 @@
 		}
 	}
 
-	private boolean dropIfDuplicate(RMMsgContext rmMsgContext) throws SandeshaException {
+	private boolean dropIfDuplicate(RMMsgContext rmMsgContext,StorageManager storageManager) throws SandeshaException {
 
 		boolean drop = false;
 
@@ -198,8 +211,6 @@
 			long msgNo = sequence.getMessageNumber().getMessageNumber();
 
 			if (sequenceId != null && msgNo > 0) {
-				StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgContext.getMessageContext()
-						.getConfigurationContext());
 				SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 				SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
 						Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -249,7 +260,7 @@
 							seqPropMgr.update(receivedMsgsBean);
 
 							ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
-							ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr);
+							ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
 
 						}
 					}
@@ -289,7 +300,7 @@
 		return false;
 	}
 
-	private void processDroppedMessage(RMMsgContext rmMsgContext) throws SandeshaException {
+	private void processDroppedMessage(RMMsgContext rmMsgContext, StorageManager storageManager) throws SandeshaException {
 		if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
 			Sequence sequence = (Sequence) rmMsgContext.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
 			String sequenceId = null;
@@ -298,8 +309,6 @@
 				sequenceId = sequence.getIdentifier().getIdentifier();
 			}
 
-			StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgContext.getMessageContext()
-					.getConfigurationContext());
 			SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 			SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
 					Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -308,7 +317,7 @@
 			ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
 			// Even though the duplicate message is dropped, hv to send the ack
 			// if needed.
-			ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr);
+			ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
 
 		}
 	}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Sun May 14 11:34:48 2006
@@ -64,7 +64,7 @@
 		if (null != DONE && "true".equals(DONE))
 			return;
 
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
 
 		boolean withinTransaction = false;
 		String withinTransactionStr = (String) msgCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Sun May 14 11:34:48 2006
@@ -30,6 +30,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.msgprocessors.ApplicationMsgProcessor;
 import org.apache.sandesha2.msgprocessors.MsgProcessor;
@@ -71,8 +72,7 @@
 			return;
 
 		msgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
-
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
 
 		boolean withinTransaction = false;
 		String withinTransactionStr = (String) msgCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Sun May 14 11:34:48 2006
@@ -32,6 +32,7 @@
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -78,7 +79,7 @@
 		
 		ConfigurationContext configurationContext = rmMsgCtx.getMessageContext().getConfigurationContext();
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
 		
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 			
@@ -134,12 +135,12 @@
 
 		ackMsgCtx.setTo(acksTo);
 		ackMsgCtx.setReplyTo(msgContext.getTo());
-		RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID);
+		RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID,storageManager);
 		ackRMMsgCtx.getMessageContext().setServerSide(true);
 		ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
 				msgContext.getProperty(AddressingConstants.WS_ADDRESSING_VERSION));  //TODO do this in the RMMsgCreator
 		
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configurationContext);
+		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 		
 		if (anonymousURI.equals(acksTo.getAddress())) {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -64,11 +65,11 @@
 			throw new SandeshaException(message);
 		}
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgCtx.getMessageContext().getConfigurationContext());
-		
 		MessageContext msgCtx = rmMsgCtx.getMessageContext();
 		ConfigurationContext configCtx = msgCtx.getConfigurationContext();
 		
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
+		
 		//setting mustUnderstand to false.
 		sequenceAck.setMustUnderstand(false);
 		rmMsgCtx.addSOAPEnvelope();
@@ -91,7 +92,7 @@
 		}
 
 		FaultManager faultManager = new FaultManager();
-		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,outSequenceId);
+		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,outSequenceId,storageManager);
 		if (faultMessageContext != null) {
 			
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
@@ -107,7 +108,7 @@
 			return;
 		}
 		
-		faultMessageContext = faultManager.checkForInvalidAcknowledgement(rmMsgCtx);
+		faultMessageContext = faultManager.checkForInvalidAcknowledgement(rmMsgCtx,storageManager);
 		if (faultMessageContext != null) {
 			
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
@@ -123,10 +124,10 @@
 			return;
 		}
 		
-        String internalSequenceID = SandeshaUtil.getSequenceProperty(outSequenceId,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,configCtx);
+        String internalSequenceID = SandeshaUtil.getSequenceProperty(outSequenceId,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,storageManager);
 		
         //updating the last activated time of the sequence.
-		SequenceManager.updateLastActivatedTime(internalSequenceID,rmMsgCtx.getMessageContext().getConfigurationContext());
+		SequenceManager.updateLastActivatedTime(internalSequenceID,storageManager);
 		
 		SequencePropertyBean internalSequenceBean = seqPropMgr.retrieve(
 				outSequenceId, Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
@@ -221,7 +222,7 @@
 		
 		seqPropMgr.update(allCompletedMsgsBean);		
 		
-		String lastOutMsgNoStr = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE_NO,configCtx);
+		String lastOutMsgNoStr = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE_NO,storageManager);
 		if (lastOutMsgNoStr!=null ) {
 			long highestOutMsgNo = 0;
 			if (lastOutMsgNoStr!=null) {
@@ -233,7 +234,7 @@
 				sequenceAck.getAcknowledgementRanges().iterator(),highestOutMsgNo);
 			
 				if (complete) 
-					TerminateManager.addTerminateSequenceMessage(rmMsgCtx, outSequenceId,internalSequenceId);
+					TerminateManager.addTerminateSequenceMessage(rmMsgCtx, outSequenceId,internalSequenceId,storageManager);
 			}
 		}
 		

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Sun May 14 11:34:48 2006
@@ -31,6 +31,7 @@
 import org.apache.axis2.context.OperationContextFactory;
 import org.apache.axis2.context.ServiceContext;
 import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.transport.TransportSender;
@@ -122,12 +123,10 @@
 					Constants.RESPONSE_WRITTEN, Constants.VALUE_FALSE);
 		}
 
-		StorageManager storageManager = SandeshaUtil
-				.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
-						.getConfigurationContext());
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(msgCtx.getConfigurationContext(),msgCtx.getConfigurationContext().getAxisConfiguration());
 
 		FaultManager faultManager = new FaultManager();
-		RMMsgContext faultMessageContext = faultManager.checkForLastMsgNumberExceeded(rmMsgCtx);
+		RMMsgContext faultMessageContext = faultManager.checkForLastMsgNumberExceeded(rmMsgCtx,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -156,7 +155,7 @@
 			throw new SandeshaException(message);
 		}
 
-		faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceId);
+		faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceId,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -176,7 +175,7 @@
 		rmMsgCtx.addSOAPEnvelope();
 		
 		//throwing a fault if the sequence is closed.
-		faultMessageContext = faultManager. checkForSequenceClosed(rmMsgCtx,sequenceId);
+		faultMessageContext = faultManager. checkForSequenceClosed(rmMsgCtx,sequenceId,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -191,7 +190,7 @@
 		}
 
 		//updating the last activated time of the sequence.
-		SequenceManager.updateLastActivatedTime(sequenceId,configCtx);
+		SequenceManager.updateLastActivatedTime(sequenceId,storageManager);
 		
 		SequencePropertyBean msgsBean = seqPropMgr.retrieve(sequenceId,
 				Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -206,8 +205,8 @@
 		String key = SandeshaUtil.getUUID();  //key to store the message.
 		
 		//updating the Highest_In_Msg_No property which gives the highest message number retrieved from this sequence.
-		String highetsInMsgNoStr = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,configCtx);
-		String highetsInMsgKey = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,configCtx);
+		String highetsInMsgNoStr = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,storageManager);
+		String highetsInMsgKey = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,storageManager);
 		if (highetsInMsgKey==null)
 			highetsInMsgKey = SandeshaUtil.getUUID();
 		
@@ -336,7 +335,7 @@
 		}
 
 		//Sending acknowledgements
-		sendAckIfNeeded(rmMsgCtx, messagesStr);
+		sendAckIfNeeded(rmMsgCtx, messagesStr,storageManager);
 
 	}
 
@@ -354,13 +353,11 @@
 		return false;
 	}
 
-	public void sendAckIfNeeded(RMMsgContext rmMsgCtx, String messagesStr)
+	public void sendAckIfNeeded(RMMsgContext rmMsgCtx, String messagesStr, StorageManager storageManager)
 			throws SandeshaException {
 
 		MessageContext msgCtx = rmMsgCtx.getMessageContext();
 
-		StorageManager storageManager = SandeshaUtil
-				.getSandeshaStorageManager(msgCtx.getConfigurationContext());
 		SequencePropertyBeanMgr seqPropMgr = storageManager
 				.getSequencePropretyBeanMgr();
 		
@@ -381,7 +378,7 @@
 			rmMsgCtx.addSOAPEnvelope();
 		}
 		
-	 	RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceId);
+	 	RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceId,storageManager);
 		
 	 	AxisEngine engine = new AxisEngine (configCtx);
 	 	
@@ -408,8 +405,9 @@
 			}
 		}
 		
-		//retrieving the the storage manager
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,configContext.getAxisConfiguration());
+
+		
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 
 		boolean serverSide = msgContext.isServerSide();  
@@ -460,7 +458,7 @@
 			internalSequenceId = SandeshaUtil.getOutgoingSideInternalSequenceID(incomingSeqId);
 			
 			//deciding weather the last message.
-			String requestLastMsgNoStr = SandeshaUtil.getSequenceProperty(incomingSeqId,Sandesha2Constants.SequenceProperties.LAST_IN_MESSAGE_NO,configContext);
+			String requestLastMsgNoStr = SandeshaUtil.getSequenceProperty(incomingSeqId,Sandesha2Constants.SequenceProperties.LAST_IN_MESSAGE_NO,storageManager);
 			if (requestLastMsgNoStr!=null) {
 				long requestLastMsgNo = Long.parseLong(requestLastMsgNoStr);
 				if (requestLastMsgNo==requestMsgNo)
@@ -500,7 +498,7 @@
 		}
 		
 		//the message number that was last used. 
-		long systemMessageNumber = getPreviousMsgNo(configContext, internalSequenceId);
+		long systemMessageNumber = getPreviousMsgNo(configContext, internalSequenceId,storageManager);
 		
 		//The number given by the user has to be larger than the last stored number.
 		if (givenMessageNumber>0 && givenMessageNumber<=systemMessageNumber) {
@@ -527,7 +525,7 @@
 		
 		//saving the used message number
 		if (!dummyMessage)
-			setNextMsgNo(configContext,internalSequenceId,messageNumber);
+			setNextMsgNo(configContext,internalSequenceId,messageNumber,storageManager);
 			
 		//set this as the response highest message.
 		SequencePropertyBean responseHighestMsgBean = new SequencePropertyBean (
@@ -614,7 +612,7 @@
 			}
 
 			// if fist message - setup the sending side sequence - both for the server and the client sides
-			SequenceManager.setupNewClientSequence(msgContext, internalSequenceId,specVersion);
+			SequenceManager.setupNewClientSequence(msgContext, internalSequenceId,specVersion,storageManager);
 		}
 
 		ServiceContext serviceContext = msgContext.getServiceContext();
@@ -625,7 +623,7 @@
 			SequencePropertyBean responseCreateSeqAdded = seqPropMgr
 					.retrieve(internalSequenceId,Sandesha2Constants.SequenceProperties.OUT_CREATE_SEQUENCE_SENT);
 
-			String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configContext);
+			String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 			String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 			
 			if (responseCreateSeqAdded == null) {
@@ -680,7 +678,7 @@
 						//TODO
 					}
 				}
-				addCreateSequenceMessage(rmMsgCtx, internalSequenceId, acksTo);
+				addCreateSequenceMessage(rmMsgCtx, internalSequenceId, acksTo,storageManager);
 			}
 		}
 
@@ -739,25 +737,23 @@
 		
 		// processing the response if not an dummy.
 		if (!dummyMessage)
-			processResponseMessage(rmMsgCtx, internalSequenceId, messageNumber,storageKey);
+			processResponseMessage(rmMsgCtx, internalSequenceId, messageNumber,storageKey,storageManager);
 		
 		msgContext.pause();  // the execution will be stopped.
 	}
 	
 	private void addCreateSequenceMessage(RMMsgContext applicationRMMsg,
-			String internalSequenceId, String acksTo) throws SandeshaException {
+			String internalSequenceId, String acksTo, StorageManager storageManager) throws SandeshaException {
 
 		MessageContext applicationMsg = applicationRMMsg.getMessageContext();
 		ConfigurationContext configCtx = applicationMsg.getConfigurationContext();
 		
 		//generating a new create sequeuce message.
-		RMMsgContext createSeqRMMessage = RMMsgCreator.createCreateSeqMsg(applicationRMMsg, internalSequenceId, acksTo);
+		RMMsgContext createSeqRMMessage = RMMsgCreator.createCreateSeqMsg(applicationRMMsg, internalSequenceId, acksTo,storageManager);
 		
 		createSeqRMMessage.setFlow(MessageContext.OUT_FLOW);
 		CreateSequence createSequencePart = (CreateSequence) createSeqRMMessage.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);
 
-		//retrieving the storage manager.
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
 		SenderBeanMgr retransmitterMgr = storageManager.getRetransmitterBeanMgr();
@@ -780,7 +776,7 @@
 		CreateSeqBean createSeqBean = new CreateSeqBean(internalSequenceId,createSeqMsg.getMessageID(), null);
 		createSeqMgr.insert(createSeqBean);
 
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configCtx);
+		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 		
 		if (createSeqMsg.getReplyTo() == null)
@@ -825,14 +821,12 @@
 	}
 
 	private void processResponseMessage(RMMsgContext rmMsg,
-			String internalSequenceId, long messageNumber, String storageKey) throws SandeshaException {
+			String internalSequenceId, long messageNumber, String storageKey, StorageManager storageManager) throws SandeshaException {
 
 		MessageContext msg = rmMsg.getMessageContext();
 		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(rmMsg.getSOAPEnvelope()));
 		ConfigurationContext configurationContext = rmMsg.getMessageContext().getConfigurationContext();
 
-		//retrieving storage manager
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(msg.getConfigurationContext());
 		SequencePropertyBeanMgr sequencePropertyMgr = storageManager.getSequencePropretyBeanMgr();
 		SenderBeanMgr retransmitterMgr = storageManager.getRetransmitterBeanMgr();
 
@@ -885,7 +879,7 @@
 		if (replyToEPR != null)
 			rmMsg.setReplyTo(replyToEPR);
 
-		String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,configurationContext);
+		String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,storageManager);
 		if (rmVersion==null)
 			throw new SandeshaException ("Cant find the rmVersion of the given message");
 		
@@ -1026,10 +1020,8 @@
 	}	
 	
 	private long getPreviousMsgNo(ConfigurationContext context,
-			String internalSequenceId) throws SandeshaException {
+			String internalSequenceId,StorageManager storageManager) throws SandeshaException {
 
-		//retrieving the storage managers
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		SequencePropertyBean nextMsgNoBean = seqPropMgr.retrieve(
@@ -1045,14 +1037,13 @@
 	}
 	
 	private void setNextMsgNo(ConfigurationContext context,
-			String internalSequenceId, long msgNo) throws SandeshaException {
+			String internalSequenceId, long msgNo,StorageManager storageManager) throws SandeshaException {
 
 		if (msgNo<=0) {
 			String message = "Message number '" + msgNo + "' is invalid. Has to be larger than zero.";
 			throw new SandeshaException (message);
 		}
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		SequencePropertyBean nextMsgNoBean = seqPropMgr.retrieve(

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java Sun May 14 11:34:48 2006
@@ -5,6 +5,7 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.util.Utils;
 import org.apache.sandesha2.RMMsgContext;
@@ -32,8 +33,11 @@
 		
 		String sequenceID = closeSequence.getIdentifier().getIdentifier();
 		
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
+		
+		
 		FaultManager faultManager = new FaultManager();
-		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceID);
+		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceID,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -48,8 +52,7 @@
 			return;
 		}
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
-		
+
 		SequencePropertyBeanMgr sequencePropMgr = storageManager.getSequencePropretyBeanMgr();
 		SequencePropertyBean sequenceClosedBean = new SequencePropertyBean ();
 		sequenceClosedBean.setSequenceID(sequenceID);
@@ -58,7 +61,7 @@
 		
 		sequencePropMgr.insert(sequenceClosedBean);
 		
-		RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceID);
+		RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceID,storageManager);
 		
 		MessageContext ackMsgCtx = ackRMMsgCtx.getMessageContext();
 		
@@ -86,7 +89,7 @@
 		closeSequenceResponseMsg = Utils.createOutMessageContext(closeSequenceMsg);
 		
 		RMMsgContext closeSeqResponseRMMsg = RMMsgCreator
-				.createCloseSeqResponseMsg(rmMsgCtx, closeSequenceResponseMsg);
+				.createCloseSeqResponseMsg(rmMsgCtx, closeSequenceResponseMsg,storageManager);
 		
 		closeSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT,sequenceAcknowledgement); 
 		

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
@@ -69,8 +70,11 @@
 			throw new SandeshaException(message);
 		}
 
+		ConfigurationContext context = createSeqMsg.getConfigurationContext();
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
+		
 		FaultManager faultManager = new FaultManager();
-		RMMsgContext faultMessageContext = faultManager.checkForCreateSequenceRefused(createSeqMsg);
+		RMMsgContext faultMessageContext = faultManager.checkForCreateSequenceRefused(createSeqMsg,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = createSeqMsg.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -88,16 +92,13 @@
 		MessageContext outMessage = null;
 		outMessage = Utils.createOutMessageContext(createSeqMsg);  //createing a new response message.
 		
-		ConfigurationContext context = createSeqMsg.getConfigurationContext();
-		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 
 		try {
-			String newSequenceId = SequenceManager.setupNewSequence(createSeqRMMsg);  //newly created sequnceID.
+			String newSequenceId = SequenceManager.setupNewSequence(createSeqRMMsg,storageManager);  //newly created sequnceID.
 			
 			RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(
-					createSeqRMMsg, outMessage,newSequenceId);    // converting the blank out message in to a create
+					createSeqRMMsg, outMessage,newSequenceId,storageManager);    // converting the blank out message in to a create
 			                                                      // sequence response.
 			createSeqResponse.setFlow(MessageContext.OUT_FLOW);
 			
@@ -117,7 +118,7 @@
 
 				String offeredSequenceID = offer.getIdentifer().getIdentifier(); //offered seq. id.
 				
-				boolean offerEcepted = offerAccepted (offeredSequenceID,context,createSeqRMMsg);
+				boolean offerEcepted = offerAccepted (offeredSequenceID,context,createSeqRMMsg,storageManager);
 				
 				if (offerEcepted)  {
 					//Setting the CreateSequence table entry for the outgoing side.
@@ -170,7 +171,7 @@
 
 			//commiting tr. before sending the response msg.
 			
-			SequenceManager.updateLastActivatedTime(newSequenceId,createSeqRMMsg.getMessageContext().getConfigurationContext());
+			SequenceManager.updateLastActivatedTime(newSequenceId,storageManager);
 			
 			AxisEngine engine = new AxisEngine(context);
 			engine.send(outMessage);
@@ -184,7 +185,7 @@
 			
 			EndpointReference toEPR = new EndpointReference (toBean.getValue());
 			
-			String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(newSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,context);
+			String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(newSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 			String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 			
 			if (anonymousURI.equals(toEPR.getAddress())) {
@@ -200,11 +201,10 @@
 		createSeqRMMsg.pause();
 	}
 	
-	private boolean offerAccepted (String sequenceID, ConfigurationContext configCtx, RMMsgContext createSeqRMMsg) throws SandeshaException {
+	private boolean offerAccepted (String sequenceID, ConfigurationContext configCtx, RMMsgContext createSeqRMMsg,StorageManager storageManager) throws SandeshaException {
 		if ("".equals(sequenceID)) 
 			return false;
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
 		CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
 		
 		CreateSeqBean createSeqFindBean = new CreateSeqBean ();	

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
 import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -70,8 +71,8 @@
 		MessageContext createSeqResponseMsg = createSeqResponseRMMsgCtx.getMessageContext();
 		ConfigurationContext configCtx = createSeqResponseRMMsgCtx
 			.getMessageContext().getConfigurationContext();		
-		StorageManager storageManager = SandeshaUtil
-			.getSandeshaStorageManager(configCtx);
+
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
 		
 		//Processing for ack if available
 		
@@ -231,7 +232,7 @@
 			if (applicationMsg==null)
 				throw new SandeshaException ("Unavailable application message");
 			
-			String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,configCtx);
+			String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,storageManager);
 			if (rmVersion==null)
 				throw new SandeshaException ("Cant find the rmVersion of the given message");
 			
@@ -275,7 +276,7 @@
 			storageManager.updateMessageContext(key,applicationMsg);
 		}
 		
-		SequenceManager.updateLastActivatedTime(internalSequenceId,configCtx);
+		SequenceManager.updateLastActivatedTime(internalSequenceId,storageManager);
 		
 		createSeqResponseRMMsgCtx.getMessageContext().getOperationContext()
 				.setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Sun May 14 11:34:48 2006
@@ -28,6 +28,7 @@
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.context.OperationContextFactory;
 import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.OutInAxisOperation;
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.engine.AxisEngine;
@@ -94,8 +95,11 @@
 			throw new SandeshaException (message);
 		}
 		
+		ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
+		
 		FaultManager faultManager = new FaultManager();
-		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(terminateSeqRMMsg,sequenceId);
+		RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(terminateSeqRMMsg,sequenceId,storageManager);
 		if (faultMessageContext != null) {
 			ConfigurationContext configurationContext = terminateSeqMsg.getConfigurationContext();
 			AxisEngine engine = new AxisEngine(configurationContext);
@@ -110,8 +114,7 @@
 			return;
 		}
 		
-		ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+
 		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
 
 		SequencePropertyBean terminateReceivedBean = new SequencePropertyBean ();
@@ -123,11 +126,11 @@
 		
 		//add the terminate sequence response if required.
 		if (SpecSpecificConstants.isTerminateSequenceResponseRequired (terminateSeqRMMsg.getRMSpecVersion()))
-			addTerminateSequenceResponse (terminateSeqRMMsg,sequenceId);
+			addTerminateSequenceResponse (terminateSeqRMMsg,sequenceId,storageManager);
 		
 		setUpHighestMsgNumbers(context,storageManager,sequenceId,terminateSeqRMMsg);
 		
-		TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId);
+		TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId,storageManager);
 		
 		
 		SequencePropertyBean terminatedBean = new SequencePropertyBean (
@@ -139,7 +142,7 @@
 		//removing an entry from the listener
 		String transport = terminateSeqMsg.getTransportIn().getName().getLocalPart();
 	
-		SequenceManager.updateLastActivatedTime(sequenceId,context);
+		SequenceManager.updateLastActivatedTime(sequenceId,storageManager);
 		
 		terminateSeqMsg.pause();
 	}
@@ -148,8 +151,8 @@
 		
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
-		String highestImMsgNumberStr = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,configCtx);
-		String highestImMsgKey = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,configCtx);
+		String highestImMsgNumberStr = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,storageManager);
+		String highestImMsgKey = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,storageManager);
 		
 		long highestInMsgNo = 0;
 		if (highestImMsgNumberStr!=null) {
@@ -199,13 +202,13 @@
 			}
 			
 			// If all the out message have been acked, add the outgoing terminate seq msg.
-			String outgoingSqunceID = SandeshaUtil.getSequenceProperty(responseSideInternalSequenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,configCtx);
+			String outgoingSqunceID = SandeshaUtil.getSequenceProperty(responseSideInternalSequenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,storageManager);
 			if (addResponseSideTerminate && highestOutMsgNo>0 
 					&& responseSideInternalSequenceID!=null && outgoingSqunceID!=null ) {
-				boolean allAcked = SandeshaUtil.isAllMsgsAckedUpto (highestOutMsgNo, responseSideInternalSequenceID, configCtx); 
+				boolean allAcked = SandeshaUtil.isAllMsgsAckedUpto (highestOutMsgNo, responseSideInternalSequenceID, storageManager); 
 				
 				if (allAcked) 
-					TerminateManager.addTerminateSequenceMessage(terminateRMMsg, outgoingSqunceID,responseSideInternalSequenceID);
+					TerminateManager.addTerminateSequenceMessage(terminateRMMsg, outgoingSqunceID,responseSideInternalSequenceID,storageManager);
 			}
 		} catch (AxisFault e) {
 			throw new SandeshaException (e);
@@ -213,7 +216,7 @@
 		
 	}
 	
-	private void addTerminateSequenceResponse (RMMsgContext terminateSeqRMMsg, String sequenceID) throws SandeshaException {
+	private void addTerminateSequenceResponse (RMMsgContext terminateSeqRMMsg, String sequenceID, StorageManager storageManager) throws SandeshaException {
 		
 		MessageContext terminateSeqMsg = terminateSeqRMMsg.getMessageContext();
 		ConfigurationContext configCtx = terminateSeqMsg.getConfigurationContext();
@@ -222,9 +225,9 @@
 		outMessage = Utils.createOutMessageContext(terminateSeqMsg);
 		
 		RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator
-				.createTerminateSeqResponseMsg(terminateSeqRMMsg, outMessage);
+				.createTerminateSeqResponseMsg(terminateSeqRMMsg, outMessage,storageManager);
 		
-	 	RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg,sequenceID);
+	 	RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg,sequenceID,storageManager);
 	 	SequenceAcknowledgement seqAck = (SequenceAcknowledgement) ackRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
 	 	terminateSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT,seqAck);
 	 	
@@ -247,7 +250,7 @@
 			throw new SandeshaException (message,e);
 		}
 		
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configCtx);
+		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 		
 		if (anonymousURI.equals(
@@ -264,23 +267,22 @@
 		ConfigurationContext configurationContext = msgContext.getConfigurationContext();
 		Options options = msgContext.getOptions();
 		
-		StorageManager storageManager = SandeshaUtil
-				.getSandeshaStorageManager(configurationContext);
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
+		
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		String toAddress = rmMsgCtx.getTo().getAddress();
 		String sequenceKey = (String) options.getProperty(SandeshaClientConstants.SEQUENCE_KEY);
         String internalSeqenceID = SandeshaUtil.getInternalSequenceID(toAddress,sequenceKey);
         
-        String outSequenceID = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,configurationContext);
+        String outSequenceID = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,storageManager);
         if (outSequenceID==null)
         	throw new SandeshaException ("SequenceID was not found. Cannot send the terminate message");
         
 ///		Transaction addTerminateSeqTransaction = storageManager.getTransaction();
 		
 		String terminated = SandeshaUtil.getSequenceProperty(outSequenceID,
-				Sandesha2Constants.SequenceProperties.TERMINATE_ADDED,configurationContext);
-		
+				Sandesha2Constants.SequenceProperties.TERMINATE_ADDED,storageManager);
 		
 		
 		//registring an InOutOperationContext for this.
@@ -316,14 +318,14 @@
 		
 		rmMsgCtx.setTo(new EndpointReference(toAddress));
 		
-		String rmVersion = SandeshaUtil.getRMVersion(internalSeqenceID,configurationContext);
+		String rmVersion = SandeshaUtil.getRMVersion(internalSeqenceID,storageManager);
 		if (rmVersion==null)
 			throw new SandeshaException ("Cant find the rmVersion of the given message");
 		
 		rmMsgCtx.setWSAAction(SpecSpecificConstants.getTerminateSequenceAction(rmVersion));
 		rmMsgCtx.setSOAPAction(SpecSpecificConstants.getTerminateSequenceSOAPAction(rmVersion));
 
-		String transportTo = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.TRANSPORT_TO,configurationContext);
+		String transportTo = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.TRANSPORT_TO,storageManager);
 		if (transportTo!=null) {
 			rmMsgCtx.setProperty(MessageContextConstants.TRANSPORT_URL,transportTo);
 		}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java Sun May 14 11:34:48 2006
@@ -9,9 +9,9 @@
 	private boolean invokeInOrder = true;
 	private String messageTypesToDrop = null;
 	private long retransmissionInterval =  -1;
-	private String permanentStorageMgr = null;
-	private String inmemoryStorageManager = null;	
-	private String storageManager = null;
+	private String permanentStorageManager = null;
+	private String inMemoryStorageManager = null;	
+//	private String storageManager = null;
 	private int maximumRetransmissionCount; 
 	
 	private boolean acknowledgementIntervalSet = false;
@@ -21,9 +21,9 @@
 	private boolean invokeInOrderSet = false;
 	private boolean messageTypesToDropSet = false;
 	private boolean retransmissionIntervalSet = false;
-	private boolean permanentStorageMgrSet = false;
-	private boolean inmemoryStorageManagerSet = false;	
-	private boolean storageManagerSet = false;
+	private boolean permanentStorageManagerSet = false;
+	private boolean inMemoryStorageManagerSet = false;	
+//	private boolean storageManagerSet = false;
 	private boolean maximumRetransmissionCountSet = false;
 
 	public boolean isExponentialBackoff() {
@@ -118,8 +118,14 @@
 		
 		//ped.setPermanentStorageManager(this.getPermanentStorageManager());
 		
-		if (isStorageManagerSet())
-			ped.setStorageManager(this.getStorageManager());
+//		if (isStorageManagerSet())
+//			ped.setStorageManager(this.getStorageManager());
+		
+		if (isInMemoryStorageManagerSet())
+			ped.setInMemoryStorageManager(this.getInMemoryStorageManager());
+		
+		if (isPermanentStorageManagerSet())
+			ped.setPermanentStorageManager(this.getPermanentStorageManager());
 		
 		if (isMaximumRetransmissionCountSet())
 			ped.setMaximumRetransmissionCount(this.getMaximumRetransmissionCount());
@@ -136,14 +142,14 @@
 		return acknowledgementInterval;
 	}
 	
-	public void setStorageManager(String storageManager) {
-		this.storageManager = storageManager;
-		setStorageManagerSet(true);
-	}
-	
-	public String getStorageManager() {
-		return storageManager;
-	}
+//	public void setStorageManager(String storageManager) {
+//		this.storageManager = storageManager;
+//		setStorageManagerSet(true);
+//	}
+//	
+//	public String getStorageManager() {
+//		return storageManager;
+//	}
 
 	public int getMaximumRetransmissionCount() {
 		return maximumRetransmissionCount;
@@ -170,12 +176,8 @@
 		return inactivityTimeoutSet;
 	}
 
-	public String getInmemoryStorageManager() {
-		return inmemoryStorageManager;
-	}
-
-	public boolean isInmemoryStorageManagerSet() {
-		return inmemoryStorageManagerSet;
+	public boolean isInMemoryStorageManagerSet() {
+		return inMemoryStorageManagerSet;
 	}
 
 	public boolean isInvokeInOrderSet() {
@@ -189,22 +191,26 @@
 	public boolean isMessageTypesToDropSet() {
 		return messageTypesToDropSet;
 	}
-
-	public String getPermanentStorageMgr() {
-		return permanentStorageMgr;
+	
+	public boolean isPermanentStorageManagerSet() {
+		return permanentStorageManagerSet;
 	}
 
-	public boolean isPermanentStorageMgrSet() {
-		return permanentStorageMgrSet;
+	public String getPermanentStorageManager() {
+		return permanentStorageManager;
+	}
+	
+	public String getInMemoryStorageManager() {
+		return inMemoryStorageManager;
 	}
 
 	public boolean isRetransmissionIntervalSet() {
 		return retransmissionIntervalSet;
 	}
 
-	public boolean isStorageManagerSet() {
-		return storageManagerSet;
-	}
+//	public boolean isStorageManagerSet() {
+//		return storageManagerSet;
+//	}
 
 	private void setAcknowledgementIntervalSet(boolean acknowledgementIntervalSet) {
 		this.acknowledgementIntervalSet = acknowledgementIntervalSet;
@@ -222,13 +228,13 @@
 		this.inactivityTimeoutSet = inactivityTimeoutSet;
 	}
 
-	public void setInmemoryStorageManager(String inmemoryStorageManager) {
-		this.inmemoryStorageManager = inmemoryStorageManager;
+	public void setInMemoryStorageManager(String inMemoryStorageManager) {
+		this.inMemoryStorageManager = inMemoryStorageManager;
 		setInmemoryStorageManagerSet(true);
 	}
 
-	private void setInmemoryStorageManagerSet(boolean inmemoryStorageManagerSet) {
-		this.inmemoryStorageManagerSet = inmemoryStorageManagerSet;
+	private void setInmemoryStorageManagerSet(boolean inMemoryStorageManagerSet) {
+		this.inMemoryStorageManagerSet = inMemoryStorageManagerSet;
 	}
 
 	private void setInvokeInOrderSet(boolean invokeInOrderSet) {
@@ -243,20 +249,20 @@
 		this.messageTypesToDropSet = messageTypesToDropSet;
 	}
 
-	public void setPermanentStorageMgr(String permanentStorageMgr) {
-		this.permanentStorageMgr = permanentStorageMgr;
-		setPermanentStorageMgrSet(true);
+	public void setPermanentStorageManager(String permanentStorageManager) {
+		this.permanentStorageManager = permanentStorageManager;
+		setPermanentStorageManagerSet(true);
 	}
 
-	private void setPermanentStorageMgrSet(boolean permanentStorageMgrSet) {
-		this.permanentStorageMgrSet = permanentStorageMgrSet;
+	private void setPermanentStorageManagerSet(boolean permanentStorageManagerSet) {
+		this.permanentStorageManagerSet = permanentStorageManagerSet;
 	}
 
 	private void setRetransmissionIntervalSet(boolean retransmissionIntervalSet) {
 		this.retransmissionIntervalSet = retransmissionIntervalSet;
 	}
 
-	private void setStorageManagerSet(boolean storageManagerSet) {
-		this.storageManagerSet = storageManagerSet;
-	}
+//	private void setStorageManagerSet(boolean storageManagerSet) {
+//		this.storageManagerSet = storageManagerSet;
+//	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java Sun May 14 11:34:48 2006
@@ -34,9 +34,12 @@
 	public static final RMPolicyToken storageManagers = new RMPolicyToken(
 			"StorageManagers", RMPolicyToken.COMPLEX_TOKEN, new String[] {});
 	
-	public static final RMPolicyToken permenentStorageManager = new RMPolicyToken(
+	public static final RMPolicyToken inMemoryStorageManager = new RMPolicyToken(
+			"InMemoryStorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
+	
+	public static final RMPolicyToken permanentStorageManager = new RMPolicyToken(
 			"PermanentStorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
 	
-	public static final RMPolicyToken storageManager = new RMPolicyToken(
-			"StorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
+//	public static final RMPolicyToken storageManager = new RMPolicyToken(
+//			"StorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java Sun May 14 11:34:48 2006
@@ -14,11 +14,15 @@
 
 	public void initializeStorageManager(RMPolicyToken rmpt)
 			throws NoSuchMethodException {
-		RMPolicyToken tmpRpt = RMPolicy.storageManager.copy();
+//		RMPolicyToken tmpRpt = RMPolicy.storageManager.copy();
+//		tmpRpt.setProcessTokenMethod(this);
+//		rmpt.setChildToken(tmpRpt);
+
+		RMPolicyToken tmpRpt = RMPolicy.inMemoryStorageManager.copy();
 		tmpRpt.setProcessTokenMethod(this);
 		rmpt.setChildToken(tmpRpt);
-
-		tmpRpt = RMPolicy.permenentStorageManager.copy();
+		
+		tmpRpt = RMPolicy.permanentStorageManager.copy();
 		tmpRpt.setProcessTokenMethod(this);
 		rmpt.setChildToken(tmpRpt);
 
@@ -49,12 +53,23 @@
 		return new Boolean(true);
 	}
 
-	public Object doStorageManager(RMProcessorContext rmpc) {
+//	public Object doStorageManager(RMProcessorContext rmpc) {
+//		PolicyEngineData ped = rmpc.readCurrentPolicyEngineData();
+//		String cls = rmpc.getAssertion().getStrValue();
+//
+//		if (cls != null && !cls.trim().equals("")) {
+//			ped.setStorageManager(cls.trim());
+//		}
+//
+//		return new Boolean(true);
+//	}
+	
+	public Object doInMemoryStorageManager(RMProcessorContext rmpc) {
 		PolicyEngineData ped = rmpc.readCurrentPolicyEngineData();
 		String cls = rmpc.getAssertion().getStrValue();
 
 		if (cls != null && !cls.trim().equals("")) {
-			ped.setStorageManager(cls.trim());
+			ped.setInMemoryStorageManager(cls.trim());
 		}
 
 		return new Boolean(true);
@@ -65,7 +80,7 @@
 		String cls = spc.getAssertion().getStrValue();
 
 		if (cls != null && !cls.trim().equals("")) {
-			ped.setStorageManager(cls.trim());
+			ped.setPermanentStorageManager(cls.trim());
 		}
 
 		return new Boolean(true);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java Sun May 14 11:34:48 2006
@@ -8,6 +8,7 @@
 import org.apache.axis2.description.HandlerDescription;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.transport.TransportSender;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
@@ -40,7 +41,11 @@
 			throw new SandeshaException ("Cant store message without the storage key");
 		
 		ConfigurationContext configurationContext = msgContext.getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		AxisConfiguration axisConfiguration = configurationContext.getAxisConfiguration();
+		
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,axisConfiguration);
+
+		
 		storageManager.updateMessageContext(key,msgContext);
 		
 		msgContext.setProperty(Sandesha2Constants.QUALIFIED_FOR_SENDING,Sandesha2Constants.VALUE_TRUE);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java Sun May 14 11:34:48 2006
@@ -66,10 +66,9 @@
 	 * @throws SandeshaException
 	 */
 	public static void piggybackAcksIfPresent(
-			RMMsgContext rmMessageContext) throws SandeshaException {
+			RMMsgContext rmMessageContext,StorageManager storageManager) throws SandeshaException {
 		
 		ConfigurationContext configurationContext = rmMessageContext.getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
 
 		SenderBeanMgr retransmitterBeanMgr = storageManager.getRetransmitterBeanMgr();
 		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
@@ -186,12 +185,11 @@
 		return completedMsgList;
 	}
 	
-	public static RMMsgContext generateAckMessage (RMMsgContext referenceRMMessage, String sequenceID)throws SandeshaException {
+	public static RMMsgContext generateAckMessage (RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager)throws SandeshaException {
 		
 		MessageContext referenceMsg = referenceRMMessage.getMessageContext();
 		
 		ConfigurationContext configurationContext = referenceRMMessage.getMessageContext().getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		//Setting the ack depending on AcksTo.
@@ -250,11 +248,11 @@
 		ackMsgCtx.setTo(acksTo);
 		
 		//adding the SequenceAcknowledgement part.
-		RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID);
+		RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID,storageManager);
 		
 		ackMsgCtx.setProperty(MessageContext.TRANSPORT_IN,null);
 
-		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configurationContext);
+		String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
 		String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
 		
 		ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,addressingNamespaceURI);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java Sun May 14 11:34:48 2006
@@ -74,7 +74,7 @@
 	 * @throws SandeshaException
 	 */
 	public RMMsgContext checkForCreateSequenceRefused(
-			MessageContext createSequenceMessage) throws SandeshaException {
+			MessageContext createSequenceMessage, StorageManager storageManager) throws SandeshaException {
 
 		RMMsgContext createSequenceRMMsg = MsgInitializer
 				.initializeMessage(createSequenceMessage);
@@ -86,8 +86,6 @@
 					"Passed message does not have a CreateSequence part");
 
 		ConfigurationContext context = createSequenceMessage.getConfigurationContext();
-		StorageManager storageManager = (StorageManager) SandeshaUtil
-				.getSandeshaStorageManager(context);
 		if (storageManager == null)
 			throw new SandeshaException("Storage Manager is null");
 
@@ -105,7 +103,7 @@
 
 			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
 			data.setReason(reason);
-			return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue());
+			return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue(),storageManager);
 		}
 
 		return null;
@@ -118,13 +116,12 @@
 	 * @param msgCtx
 	 * @return
 	 */
-	public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext  applicationRMMessage) throws SandeshaException {
+	public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext  applicationRMMessage, StorageManager storageManager) throws SandeshaException {
 		Sequence sequence = (Sequence) applicationRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
 		long messageNumber = sequence.getMessageNumber().getMessageNumber();
 		String sequenceID = sequence.getIdentifier().getIdentifier();
 		
 		ConfigurationContext configCtx = applicationRMMessage.getMessageContext().getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		boolean lastMessageNumberExceeded = false;
@@ -150,7 +147,7 @@
 
 			faultData.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
 			faultData.setReason(reason);
-			return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue());
+			return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue(),storageManager);
 		} else
 			return null;
 	}
@@ -169,13 +166,12 @@
 	 * @return @throws
 	 *         SandeshaException
 	 */
-	public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID)
+	public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID, StorageManager storageManager)
 			throws SandeshaException {
 
 
 		MessageContext messageContext = rmMessageContext.getMessageContext();
 		ConfigurationContext configCtx = messageContext.getConfigurationContext();
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
 		
 		CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
 		int type = rmMessageContext.getMessageType();
@@ -241,7 +237,7 @@
 			
 			data.setReason("A sequence with the given sequenceID has NOT been established");
 
-			return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue());
+			return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue(),storageManager);
 		}
 
 		return null;
@@ -254,7 +250,7 @@
 	 * @return @throws
 	 *         SandeshaException
 	 */
-	public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext)
+	public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext,StorageManager storageManager)
 			throws SandeshaException {
 
 		//check lower<=upper
@@ -304,17 +300,16 @@
 					new QName (Sandesha2Constants.WSRM_COMMON.SEQUENCE_ACK));
 			data.setDetail(sequenceAckElement);
 
-			return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue());
+			return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue(),storageManager);
 		}
 
 		return null;
 	}
 
-	public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID) throws SandeshaException {
+	public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager) throws SandeshaException {
 		MessageContext referenceMessage = referenceRMMessage.getMessageContext();
 		ConfigurationContext configCtx = referenceMessage.getConfigurationContext();
 		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		boolean sequenceClosed = false;
@@ -336,7 +331,7 @@
 			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
 			data.setReason(reason);
 
-			return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue());
+			return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue(),storageManager);
 		}
 		return null;
 		
@@ -351,7 +346,7 @@
 	 * @throws SandeshaException
 	 */
 	public RMMsgContext getFault(RMMsgContext referenceRMMsgContext,
-			FaultData data, String addressingNamespaceURI) throws SandeshaException {
+			FaultData data, String addressingNamespaceURI,StorageManager storageManager) throws SandeshaException {
 
 		try {
 			MessageContext referenceMessage = referenceRMMsgContext.getMessageContext();
@@ -374,10 +369,6 @@
 			
 			MessageContext faultMsgContext = Utils
 					.createOutMessageContext(referenceMessage);
-
-			StorageManager storageManager = SandeshaUtil
-					.getSandeshaStorageManager(referenceMessage
-							.getConfigurationContext());
 
 			//setting contexts.
 			faultMsgContext.setAxisServiceGroup(referenceMessage

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java Sun May 14 11:34:48 2006
@@ -42,8 +42,7 @@
 	private static final Log log = LogFactory.getLog(MessageRetransmissionAdjuster.class);
 	
 	public boolean adjustRetransmittion(
-			SenderBean retransmitterBean,ConfigurationContext configContext) throws SandeshaException {
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+			SenderBean retransmitterBean,ConfigurationContext configContext,StorageManager storageManager) throws SandeshaException {
 		
 		String storedKey = (String) retransmitterBean.getMessageContextRefKey();
 
@@ -68,7 +67,7 @@
 		if (maxRetransmissionAttempts>=0 && retransmitterBean.getSentCount() > maxRetransmissionAttempts)
 			timeOutSequence = true;		
 		
-		boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx);
+		boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx,storageManager);
 		if (sequenceTimedOut)
 			timeOutSequence = true;
 	
@@ -77,7 +76,7 @@
 			stopRetransmission(retransmitterBean);
 			
 			//Only messages of outgoing sequences get retransmitted. So named following method according to that.
-			finalizeTimedOutSequence (internalSequenceID,sequenceID, messageContext);
+			finalizeTimedOutSequence (internalSequenceID,sequenceID, messageContext,storageManager);
 			continueSending = false;
 		}
 		
@@ -131,12 +130,12 @@
 		return interval;
 	}
 	
-	private void finalizeTimedOutSequence (String internalSequenceID, String sequenceID ,MessageContext messageContext) throws SandeshaException {
+	private void finalizeTimedOutSequence (String internalSequenceID, String sequenceID ,MessageContext messageContext,StorageManager storageManager) throws SandeshaException {
 		ConfigurationContext configurationContext = messageContext.getConfigurationContext();
 		
 		configurationContext.setProperty(Sandesha2Constants.WITHIN_TRANSACTION,messageContext.getProperty(Sandesha2Constants.WITHIN_TRANSACTION));
 		SequenceReport report = SandeshaClient.getOutgoingSequenceReport(internalSequenceID ,configurationContext);
-		TerminateManager.timeOutSendingSideSequence(configurationContext,internalSequenceID, false);
+		TerminateManager.timeOutSendingSideSequence(configurationContext,internalSequenceID, false,storageManager);
 		
 		SandeshaListener listener = (SandeshaListener) messageContext.getProperty(SandeshaClientConstants.SANDESHA_LISTENER);
 		if (listener!=null) {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java Sun May 14 11:34:48 2006
@@ -20,6 +20,9 @@
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisDescription;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
@@ -161,8 +164,8 @@
 			throws SandeshaException {
 
 		ConfigurationContext configContext = rmMsgCtx.getMessageContext().getConfigurationContext();
-		
-		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+		AxisConfiguration axisConfiguration = configContext.getAxisConfiguration();
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,axisConfiguration);
 		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
 		
 		String sequenceID = null;
@@ -219,7 +222,7 @@
 		
         String rmNamespace = rmMsgCtx.getRMNamespaceValue();
         if (sequenceID!=null) {
-        	String specVersion = SandeshaUtil.getRMVersion(propertyKey,rmMsgCtx.getMessageContext().getConfigurationContext());
+        	String specVersion = SandeshaUtil.getRMVersion(propertyKey,storageManager);
     		
         	String sequenceRMNamespace = null;
         	if (specVersion!=null)

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java Sun May 14 11:34:48 2006
@@ -57,7 +57,9 @@
 		propertyBean.setInOrder(Sandesha2Constants.Properties.DefaultValues.InvokeInOrder);
 		propertyBean.setMsgTypesToDrop(null);
 		propertyBean.setRetransmissionInterval(Sandesha2Constants.Properties.DefaultValues.RetransmissionInterval);
-		propertyBean.setStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.StorageManager);
+//		propertyBean.setStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.StorageManager);
+		propertyBean.setInMemoryStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.InMemoryStorageManager);
+		propertyBean.setPermanentStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.PermanentStorageManager);
 		propertyBean.setMaximumRetransmissionCount(Sandesha2Constants.Properties.DefaultValues.MaximumRetransmissionCount);
 		
 		String msgTypesToDrop = Sandesha2Constants.Properties.DefaultValues.MessageTypesToDrop;
@@ -97,9 +99,17 @@
 			loadInactivityTimeout(inactivityTimeoutStr,
 					inactivityTimeoutMeasure,propertyBean);
 
-			String storageMgrClassStr = properties
-					.getProperty(Sandesha2Constants.Properties.StorageManager);
-			loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+//			String storageMgrClassStr = properties
+//					.getProperty(Sandesha2Constants.Properties.StorageManager);
+//			loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+			
+			String inMemoryStorageMgrClassStr = properties
+					.getProperty(Sandesha2Constants.Properties.InMemoryStorageManager);
+			loadInMemoryStoragemanagerClass(inMemoryStorageMgrClassStr,propertyBean);
+			
+			String permanentStorageMgrClassStr = properties
+					.getProperty(Sandesha2Constants.Properties.PermanentStorageManager);
+			loadPermanentStoragemanagerClass(permanentStorageMgrClassStr,propertyBean);
 
 			String inOrderInvocation = properties
 					.getProperty(Sandesha2Constants.Properties.InOrderInvocation);
@@ -137,9 +147,17 @@
 		String inactivityTimeoutMeasure = (String) inactivityTimeoutMeasureParam.getValue();
 		loadInactivityTimeout(inactivityTimeoutStr,inactivityTimeoutMeasure,propertyBean);
 		
-		Parameter storageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.StorageManager);
-		String storageMgrClassStr = (String) storageMgrClassParam.getValue();
-		loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+//		Parameter storageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.StorageManager);
+//		String storageMgrClassStr = (String) storageMgrClassParam.getValue();
+//		loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+		
+		Parameter inMemoryStorageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.InMemoryStorageManager);
+		String inMemoryStorageMgrClassStr = (String) inMemoryStorageMgrClassParam.getValue();
+		loadInMemoryStoragemanagerClass(inMemoryStorageMgrClassStr,propertyBean);
+		
+		Parameter permanentStorageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.PermanentStorageManager);
+		String permanentStorageMgrClassStr = (String) permanentStorageMgrClassParam.getValue();
+		loadPermanentStoragemanagerClass(permanentStorageMgrClassStr,propertyBean);
 		
 		Parameter inOrderInvocationParam = desc.getParameter(Sandesha2Constants.Properties.InOrderInvocation);
 		String inOrderInvocation = (String) inOrderInvocationParam.getValue();
@@ -207,10 +225,30 @@
 		else
 			propertyBean.setRetransmissionInterval(parentPropertyBean.getRetransmissionInterval());
 			
-		if (data.isStorageManagerSet())
-			propertyBean.setStorageManagerClass(data.getStorageManager());
+//		if (data.isStorageManagerSet())
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+//		else
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+		
+		if (data.isInMemoryStorageManagerSet())
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+		else
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+		
+//		if (data.isStorageManagerSet())
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+//		else
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+		
+		if (data.isInMemoryStorageManagerSet())
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+		else
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+		
+		if (data.isPermanentStorageManagerSet())
+			propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
 		else
-			propertyBean.setStorageManagerClass(data.getStorageManager());
+			propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
 		
 		if (data.isMessageTypesToDropSet()) 
 			loadMessageTypesToDrop(data.getMessageTypesToDrop(),propertyBean);
@@ -274,10 +312,20 @@
 		else
 			propertyBean.setRetransmissionInterval(parentPropertyBean.getRetransmissionInterval());
 			
-		if (data.isStorageManagerSet())
-			propertyBean.setStorageManagerClass(data.getStorageManager());
+//		if (data.isStorageManagerSet())
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+//		else
+//			propertyBean.setStorageManagerClass(data.getStorageManager());
+		
+		if (data.isInMemoryStorageManagerSet())
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
 		else
-			propertyBean.setStorageManagerClass(data.getStorageManager());
+			propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+		
+		if (data.isPermanentStorageManagerSet())
+			propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
+		else
+			propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
 		
 		if (data.isMessageTypesToDropSet()) 
 			loadMessageTypesToDrop(data.getMessageTypesToDrop(),propertyBean);
@@ -378,15 +426,39 @@
 		}
 	}
 
+//	/**
+//	 * Loads the StorageManager class name.
+//	 * 
+//	 * @param properties
+//	 */
+//	private static void loadStoragemanagerClass(String storageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException  {
+//		if (storageMgrClassStr != null) {
+//			storageMgrClassStr = storageMgrClassStr.trim();
+//			propertyBean.setStorageManagerClass(storageMgrClassStr);
+//		}
+//	}
+	
+	/**
+	 * Loads the InMemoryStorageManager class name.
+	 * 
+	 * @param properties
+	 */
+	private static void loadInMemoryStoragemanagerClass(String inMemoryStorageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException  {
+		if (inMemoryStorageMgrClassStr != null) {
+			inMemoryStorageMgrClassStr = inMemoryStorageMgrClassStr.trim();
+			propertyBean.setInMemoryStorageManagerClass(inMemoryStorageMgrClassStr);
+		}
+	}
+	
 	/**
-	 * Loads the StorageManager class name.
+	 * Loads the PermanentStorageManager class name.
 	 * 
 	 * @param properties
 	 */
-	private static void loadStoragemanagerClass(String storageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException  {
-		if (storageMgrClassStr != null) {
-			storageMgrClassStr = storageMgrClassStr.trim();
-			propertyBean.setStorageManagerClass(storageMgrClassStr);
+	private static void loadPermanentStoragemanagerClass(String permanentStorageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException  {
+		if (permanentStorageMgrClassStr != null) {
+			permanentStorageMgrClassStr = permanentStorageMgrClassStr.trim();
+			propertyBean.setPermanentStorageManagerClass(permanentStorageMgrClassStr);
 		}
 	}
 



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