You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2006/10/13 13:59:04 UTC

svn commit: r463656 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ i18n/ msgprocessors/ polling/ util/

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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org