Author: mlovett
Date: Fri Nov 17 03:00:21 2006
New Revision: 476107

URL: http://svn.apache.org/viewvc?view=rev&rev=476107
Log:
Applying Andy's terminate.patch for SANDESHA2-45

Modified:
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=476107&r1=476106&r2=476107
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 Fri Nov 17 03:00:21 2006
@@ -355,6 +355,14 @@
                String terminated = 
SandeshaUtil.getSequenceProperty(outSequenceID,
                                
Sandesha2Constants.SequenceProperties.TERMINATE_ADDED, storageManager);
 
+               if (terminated != null && "true".equals(terminated)) {
+                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.terminateAddedPreviously);
+                       log.debug(message);
+                       if (log.isDebugEnabled())
+                               log.debug("Exit: 
TerminateSeqMsgProcessor::processOutMessage, sequence previously terminated");
+                       return true;
+               }
+
                AxisOperation terminateOp = 
SpecSpecificConstants.getWSRMOperation(
                                Sandesha2Constants.MessageTypes.TERMINATE_SEQ,
                                rmMsgCtx.getRMSpecVersion(),
@@ -367,12 +375,6 @@
 
                msgContext.setOperationContext(opcontext);
                msgContext.setAxisOperation(terminateOp);
-               
-               if (terminated != null && "true".equals(terminated)) {
-                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.terminateAddedPreviously);
-                       log.debug(message);
-                       return false;
-               }
 
                TerminateSequence terminateSequencePart = (TerminateSequence) 
rmMsgCtx
                                
.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
@@ -423,6 +425,10 @@
 
                terminateBean.setMessageID(msgContext.getMessageID());
                
+               // Set the internal sequence id and outgoing sequence id for 
the terminate message
+               terminateBean.setInternalSequenceID(internalSeqenceID);
+               terminateBean.setSequenceID(outSequenceID);
+               
                EndpointReference to = msgContext.getTo();
                if (to!=null)
                        terminateBean.setToAddress(to.getAddress());
@@ -444,14 +450,15 @@
                terminateAdded.setValue("true");
 
                seqPropMgr.insert(terminateAdded);
-
-               rmMsgCtx.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE, 
Sandesha2Constants.VALUE_TRUE);
-
+               
                SandeshaUtil.executeAndStore(rmMsgCtx, key);
+               
+               // Pause the message context
+               rmMsgCtx.pause();
 
                if (log.isDebugEnabled())
-                       log.debug("Exit: 
TerminateSeqMsgProcessor::processOutMessage " + Boolean.FALSE);
-               return false;
+                       log.debug("Exit: 
TerminateSeqMsgProcessor::processOutMessage " + Boolean.TRUE);
+               return true;
        }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to