Author: chamikara
Date: Fri Oct 13 04:59:02 2006
New Revision: 463656

URL: http://svn.apache.org/viewvc?view=rev&rev=463656
Log:
Some corrections to the SequencePropertyKey selection logic.

Modified:
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
 Fri Oct 13 04:59:02 2006
@@ -548,9 +548,10 @@
        };
        
        public interface MessageContextProperties{
-               public String INTERNAL_SEQUENCE_ID = 
"Sandesha2InternalSequenceId";
+               String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
                String SEQUENCE_ID = "WSRMSequenceId";
                String MESSAGE_NUMBER = "WSRMMessageNumber";
+               String SEQUENCE_PROPERTY_KEY = "SequencePropertyKey";
        }
     
     public interface Assertions {

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 Fri Oct 13 04:59:02 2006
@@ -43,6 +43,7 @@
        public static final String 
transportOutNotPresent="transportOutNotPresent";
        public static final String storedKeyNotPresent="storedKeyNotPresent";
        public static final String invalidQName="invalidQName";
+       public static final String 
couldNotFindPropertyKey="couldNotFindPropertyKey";
 
        public static final String dummyCallback="dummyCallback";
        public static final String cannotFindSequenceID="cannotFindSequenceID";

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
 Fri Oct 13 04:59:02 2006
@@ -64,7 +64,7 @@
 workAlreadyAssigned=Work ''{0}'' is already assigned to a different Worker. 
Will try the next one
 workNotPresent="SenderWorker has been assigned an unexisting work with the Id 
''{0}''
 cannotSendToTheAddress=Message cannot be sent to the address ''{0}'' 
-
+couldNotFindPropertyKey=Could not determine the PropertyKey of the {0} message 
from the available information
 
 dummyCallback=Sandesha2 Internal Error: dummy callback was called but this 
should never happen.
 dummyCallbackError=Sandesha2 Internal Error: dummy callback received an error 
but this should never happen.

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 Fri Oct 13 04:59:02 2006
@@ -748,11 +748,12 @@
                                } else {
                                        if (acksToEPR.getAddress() == null){
                                                EndpointReference replyToEPR = 
msgContext.getReplyTo();
-                                               
if(Boolean.getBoolean((String)operationContext.getProperty(SandeshaClientConstants.USE_REPLY_TO_AS_ACKS_TO))
-                                                       && replyToEPR!=null && 
!replyToEPR.getAddress().equals("")){
+                                               
+                                               if(replyToEPR!=null && 
!replyToEPR.getAddress().equals("")){
                                                        //use the replyTo 
address as acksTo
                                                        if 
(log.isDebugEnabled())
                                                                
log.debug("Using replyTo " + replyToEPR + " EPR as AcksTo, addr=" + 
acksToEPR.getAddress());
+                                                       
                                                        acksToEPR = replyToEPR;
                                                }
                                                else{

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=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 Fri Oct 13 04:59:02 2006
@@ -417,6 +417,12 @@
                if (transportTo != null) {
                        
rmMsgCtx.setProperty(MessageContextConstants.TRANSPORT_URL, transportTo);
                }
+               
+               
+               //setting msg context properties
+               
rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID, 
outSequenceID);
+               
rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID,
 internalSeqenceID);
+               
rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY
 , sequenceKey);
 
                try {
                        rmMsgCtx.addSOAPEnvelope();

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
 Fri Oct 13 04:59:02 2006
@@ -129,6 +129,10 @@
                                
makeConnectionRMMessage.setProperty(MessageContext.TRANSPORT_IN,null);
                                //storing the MakeConnection message.
                                String makeConnectionMsgStoreKey = 
SandeshaUtil.getUUID();
+                               
+                               
makeConnectionRMMessage.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY,
+                                               sequencePropertyKey);
+                               
                                
storageManager.storeMessageContext(makeConnectionMsgStoreKey,makeConnectionRMMessage.getMessageContext());
                                
                                //add an entry for the MakeConnection message 
to the sender (with ,send=true, resend=false)

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
Fri Oct 13 04:59:02 2006
@@ -305,6 +305,10 @@
                        return "CloseSequenceResponse";
                case Sandesha2Constants.MessageTypes.TERMINATE_SEQ_RESPONSE:
                        return "TerminateSequenceResponse";
+               case Sandesha2Constants.MessageTypes.FAULT_MSG:
+                       return "Fault";
+               case Sandesha2Constants.MessageTypes.MAKE_CONNECTION_MSG:
+                       return "MakeConnection";
                case Sandesha2Constants.MessageTypes.UNKNOWN:
                        return "Unknown";
                default:
@@ -1003,16 +1007,22 @@
         */
        
        public static String getSequencePropertyKey (RMMsgContext rmMsgContext) 
throws AxisFault {
+               String propertyKey = (String) 
rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY);
+               if (propertyKey!=null)
+                       return propertyKey;
+               
                String sequenceId = (String) 
rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID);
                String internalSequenceId = (String) 
rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
                
-               String propertyKey = null;
+               
 
                int type = rmMsgContext.getMessageType();
                int flow = rmMsgContext.getMessageContext().getFLOW();
                
                if (flow==MessageContext.OUT_FLOW) {
-                       if (type==Sandesha2Constants.MessageTypes.UNKNOWN)
+                       if (isSequenceResponseMessageType(type))
+                               propertyKey = sequenceId;
+                       else
                                propertyKey = internalSequenceId;
                } else if (flow==MessageContext.IN_FLOW) {
                        if (isSequenceResponseMessageType(type))
@@ -1024,6 +1034,12 @@
                }
                
                //TODO handler cases not covered from above.
+               
+               if (propertyKey==null) {
+                       String typeStr = 
SandeshaUtil.getMessageTypeString(rmMsgContext.getMessageType());
+                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotFindPropertyKey,typeStr);
+                       throw new SandeshaException (message);
+               }
                
                return propertyKey;
        }

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
 Fri Oct 13 04:59:02 2006
@@ -460,6 +460,9 @@
 
                
terminateRMMessage.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE, 
Sandesha2Constants.VALUE_TRUE);
                
+               //the propertyKey of the ackMessage will be the propertyKey for 
the terminate message as well.
+               
terminateRMMessage.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY,
 sequencePropertyKey);
+               
                // / addTerminateSeqTransaction.commit();
                SandeshaUtil.executeAndStore(terminateRMMessage, key);
        }



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

Reply via email to