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/12/05 12:57:45 UTC
svn commit: r482610 -
/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java
Author: chamikara
Date: Tue Dec 5 03:57:41 2006
New Revision: 482610
URL: http://svn.apache.org/viewvc?view=rev&rev=482610
Log:
An fix to the storage manager.
Modified:
webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java
Modified: webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java?view=diff&rev=482610&r1=482609&r2=482610
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_1/src/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java Tue Dec 5 03:57:41 2006
@@ -113,7 +113,7 @@
//Now clone the env and set it in the message context
if (envelope!=null) {
- envelope.build();
+
XMLStreamReader streamReader = envelope.cloneOMElement().getXMLStreamReader();
SOAPEnvelope clonedEnvelope = new StAXSOAPModelBuilder(streamReader, null).getSOAPEnvelope();
try {
@@ -147,7 +147,13 @@
getContext().setProperty(ENVELOPE_MAP_KEY, envMap);
}
- envMap.put(key, msgContext.getEnvelope());
+ SOAPEnvelope envelope = msgContext.getEnvelope();
+ //storing a cloned version of the envelope in the Map.
+ if (envelope!=null) {
+ XMLStreamReader streamReader = envelope.cloneOMElement().getXMLStreamReader();
+ SOAPEnvelope clonedEnvelope = new StAXSOAPModelBuilder(streamReader, null).getSOAPEnvelope();
+ envMap.put(key, clonedEnvelope);
+ }
}
@@ -165,33 +171,25 @@
SandeshaMessageKeys.entryNotPresentForUpdating));
HashMap envMap = (HashMap) getContext().getProperty(ENVELOPE_MAP_KEY);
-
- if(envMap==null) {
- throw new SandeshaStorageException (SandeshaMessageHelper.getMessage(
- SandeshaMessageKeys.envelopeMapNotPresent));
- }
-
- oldEntry = envMap.get(key);
- if (oldEntry==null)
- throw new SandeshaStorageException (SandeshaMessageHelper.getMessage(
- SandeshaMessageKeys.entryNotPresentForUpdating));
-
- envMap.remove(key);
- envMap.put(key, msgContext.getEnvelope());
+
+ storageMap.remove(key);
+ if (envMap!=null)
+ envMap.remove(key);
storeMessageContext(key,msgContext);
}
public void removeMessageContext(String key) throws SandeshaStorageException {
HashMap storageMap = (HashMap) getContext().getProperty(MESSAGE_MAP_KEY);
+ HashMap envelopeMap = (HashMap) getContext().getProperty(ENVELOPE_MAP_KEY);
- if (storageMap==null) {
- return;
- }
-
- Object entry = storageMap.get(key);
- if (entry!=null)
+
+ if (storageMap!=null)
storageMap.remove(key);
+
+ if (envelopeMap!=null)
+ envelopeMap.remove(key);
+
}
public void initStorage (AxisModule moduleDesc) {
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org