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/06/14 19:30:57 UTC

svn commit: r414320 - in /webservices/sandesha/trunk/src/org/apache/sandesha2: handlers/SandeshaGlobalInHandler.java handlers/SandeshaInHandler.java handlers/SandeshaOutHandler.java util/FaultManager.java

Author: chamikara
Date: Wed Jun 14 10:30:56 2006
New Revision: 414320

URL: http://svn.apache.org/viewvc?rev=414320&view=rev
Log:
Applied the patch from Gatford

Modified:
    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/util/FaultManager.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Wed Jun 14 10:30:56 2006
@@ -58,10 +58,15 @@
 
 public class SandeshaGlobalInHandler extends AbstractHandler {
 
-	private static final Log log = LogFactory.getLog(SandeshaGlobalInHandler.class.getName());
+	private static final long serialVersionUID = -7187928423123306156L;
+  
+  private static final Log log = LogFactory.getLog(SandeshaGlobalInHandler.class.getName());
 
 	public void invoke(MessageContext msgContext) throws AxisFault {
 
+    if (log.isDebugEnabled())
+      log.debug("Enter: SandeshaGlobalInHandler::msgContext, " + msgContext.getEnvelope().getHeader());
+
 		ConfigurationContext configContext = msgContext.getConfigurationContext();
 		if (configContext == null)
 			throw new AxisFault("Configuration context is not set");
@@ -141,6 +146,8 @@
 								// getting dispatched
 								msgContext.pause(); // TODO let this go in the
 													// last try
+                if (log.isDebugEnabled())
+                  log.debug("Exit: SandeshaGlobalInHandler::msgContext");
 
 								return;
 							}
@@ -153,6 +160,8 @@
 			// RM.
 			boolean isRMGlobalMessage = SandeshaUtil.isRMGlobalMessage(msgContext);
 			if (!isRMGlobalMessage) {
+        if (log.isDebugEnabled())
+          log.debug("Exit: SandeshaGlobalInHandler::msgContext, !isRMGlobalMessage");
 				return;
 			}
 
@@ -162,6 +171,8 @@
 			boolean dropped = dropIfDuplicate(rmMessageContext,storageManager);
 			if (dropped) {
 				processDroppedMessage(rmMessageContext,storageManager);
+        if (log.isDebugEnabled())
+          log.debug("Exit: SandeshaGlobalInHandler::msgContext, dropped");
 				return;
 			}
 
@@ -193,6 +204,8 @@
 			}
 			
 			String message = "Sandesha2 got an exception when processing the in message";
+      if (log.isDebugEnabled())
+        log.debug("Exit: SandeshaGlobalInHandler::msgContext " ,e);
 			throw new AxisFault (message,e);
 		} finally {
 			if (!withinTransaction && !rolebacked) {
@@ -205,11 +218,15 @@
 				}
 			}
 		}
+    if (log.isDebugEnabled())
+      log.debug("Exit: SandeshaGlobalInHandler::msgContext");
 	}
 
 	private boolean dropIfDuplicate(RMMsgContext rmMsgContext,StorageManager storageManager) throws SandeshaException {
+    if (log.isDebugEnabled())
+      log.debug("Enter: SandeshaGlobalInHandler::dropIfDuplicate");
 
-		boolean drop = false;
+    boolean drop = false;
 
 		if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
 
@@ -227,7 +244,7 @@
 				SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
 						Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
 				if (receivedMsgsBean != null) {
-					String receivedMsgStr = (String) receivedMsgsBean.getValue();
+					String receivedMsgStr = receivedMsgsBean.getValue();
 					ArrayList msgNoArrList = SandeshaUtil.getSplittedMsgNoArraylist(receivedMsgStr);
 
 					Iterator iterator = msgNoArrList.iterator();
@@ -306,14 +323,21 @@
 
 		if (drop) {
 			rmMsgContext.getMessageContext().pause();
+      if (log.isDebugEnabled())
+        log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, true");
 			return true;
 		}
 
+    if (log.isDebugEnabled())
+      log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, false");
 		return false;
 	}
 
 	private void processDroppedMessage(RMMsgContext rmMsgContext, StorageManager storageManager) throws SandeshaException {
-		if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
+    if (log.isDebugEnabled())
+      log.debug("Enter: SandeshaGlobalInHandler::processDroppedMessage");
+
+    if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
 			Sequence sequence = (Sequence) rmMsgContext.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
 			String sequenceId = null;
 
@@ -324,7 +348,7 @@
 			SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
 			SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
 					Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
-			String receivedMsgStr = (String) receivedMsgsBean.getValue();
+			String receivedMsgStr = receivedMsgsBean.getValue();
 
 			ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
 			// Even though the duplicate message is dropped, hv to send the ack
@@ -332,6 +356,8 @@
 			ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
 
 		}
+    if (log.isDebugEnabled())
+      log.debug("Exit: SandeshaGlobalInHandler::processDroppedMessage");
 	}
 
 	private void doGlobalProcessing(RMMsgContext rmMsgCtx) throws SandeshaException {
@@ -356,4 +382,4 @@
 		return axisFault;
 	}
 
-}
\ No newline at end of file
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Wed Jun 14 10:30:56 2006
@@ -46,7 +46,9 @@
 
 public class SandeshaInHandler extends AbstractHandler {
 
-	private static final Log log = LogFactory.getLog(SandeshaInHandler.class.getName());
+	private static final long serialVersionUID = 733210926016820857L;
+
+  private static final Log log = LogFactory.getLog(SandeshaInHandler.class.getName());
 
 	public QName getName() {
 		return new QName(Sandesha2Constants.IN_HANDLER_NAME);
@@ -54,6 +56,9 @@
 
 	public void invoke(MessageContext msgCtx) throws AxisFault {
 
+    if (log.isDebugEnabled())
+      log.debug("Enter: SandeshaInHandler::invoke, " + msgCtx.getEnvelope().getHeader());
+
 		ConfigurationContext context = msgCtx.getConfigurationContext();
 		if (context == null) {
 			String message = "ConfigurationContext is null";
@@ -67,7 +72,11 @@
 
 		String reinjectedMessage = (String) msgCtx.getProperty(Sandesha2Constants.REINJECTED_MESSAGE);
 		if (reinjectedMessage!=null && Sandesha2Constants.VALUE_TRUE.equals(reinjectedMessage))
+    {
+      if (log.isDebugEnabled())
+        log.debug("Exit: SandeshaInHandler::invoke, reinjectedMessage" );
 			return;  //Reinjected messages are not processed by Sandesha2 inflow handlers
+    }
 		
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
 
@@ -113,7 +122,7 @@
 					msgProcessor.processInMessage(rmMsgCtx);
 			} catch (SandeshaException se) {
 				String message = "Error in processing the message";
-				log.debug(message);
+				log.debug(message, se);
 				throw new AxisFault(message, se);
 			}
 
@@ -145,7 +154,8 @@
 				}
 			}
 		}
-
+    if (log.isDebugEnabled())
+      log.debug("Exit: SandeshaInHandler::invoke" );
 	}
 
-}
\ No newline at end of file
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Wed Jun 14 10:30:56 2006
@@ -47,9 +47,13 @@
 
 public class SandeshaOutHandler extends AbstractHandler {
 
-	private static final Log log = LogFactory.getLog(SandeshaOutHandler.class.getName());
+	private static final long serialVersionUID = 8261092322051924103L;
+  
+  private static final Log log = LogFactory.getLog(SandeshaOutHandler.class.getName());
 
 	public void invoke(MessageContext msgCtx) throws AxisFault {
+    if (log.isDebugEnabled())
+      log.debug("Enter: SandeshaOutHandler::invoke, " + msgCtx.getEnvelope().getHeader() );
 
 		ConfigurationContext context = msgCtx.getConfigurationContext();
 		if (context == null) {
@@ -67,7 +71,11 @@
 
 		String DONE = (String) msgCtx.getProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE);
 		if (null != DONE && "true".equals(DONE))
+    {
+      if (log.isDebugEnabled())
+        log.debug("Exit: SandeshaOutHandler::invoke, Application processing done");
 			return;
+    }
 
 		msgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
@@ -145,9 +153,11 @@
 				}
 			}
 		}
+    if (log.isDebugEnabled())
+      log.debug("Exit: SandeshaOutHandler::invoke");
 	}
 
 	public QName getName() {
 		return new QName(Sandesha2Constants.OUT_HANDLER_NAME);
 	}
-}
\ No newline at end of file
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java Wed Jun 14 10:30:56 2006
@@ -38,10 +38,13 @@
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisOperationFactory;
 import org.apache.axis2.util.Utils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.FaultData;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.msgprocessors.AcknowledgementProcessor;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
@@ -63,6 +66,8 @@
 
 public class FaultManager {
 
+  private static final Log log = LogFactory.getLog(FaultManager.class);
+
 	public FaultManager() {
 	}
 
@@ -75,6 +80,9 @@
 	 */
 	public RMMsgContext checkForCreateSequenceRefused(
 			MessageContext createSequenceMessage, StorageManager storageManager) throws SandeshaException {
+ 
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::checkForCreateSequenceRefused");
 
 		RMMsgContext createSequenceRMMsg = MsgInitializer
 				.initializeMessage(createSequenceMessage);
@@ -103,9 +111,13 @@
 
 			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
 			data.setReason(reason);
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForCreateSequenceRefused, refused sequence");
 			return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue(),storageManager);
 		}
 
+    if (log.isDebugEnabled())
+      log.debug("Exit: FaultManager::checkForCreateSequenceRefused");
 		return null;
 
 	}
@@ -117,6 +129,8 @@
 	 * @return
 	 */
 	public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext  applicationRMMessage, StorageManager storageManager) throws SandeshaException {
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::checkForLastMsgNumberExceeded");
 		Sequence sequence = (Sequence) applicationRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
 		long messageNumber = sequence.getMessageNumber().getMessageNumber();
 		String sequenceID = sequence.getIdentifier().getIdentifier();
@@ -147,9 +161,14 @@
 
 			faultData.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
 			faultData.setReason(reason);
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForLastMsgNumberExceeded, lastMessageNumberExceeded");
 			return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue(),storageManager);
-		} else
-			return null;
+		}
+    
+    if (log.isDebugEnabled())
+      log.debug("Exit: FaultManager::checkForLastMsgNumberExceeded");
+    return null;
 	}
 
 	public RMMsgContext checkForMessageNumberRoleover(
@@ -168,7 +187,8 @@
 	 */
 	public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID, StorageManager storageManager)
 			throws SandeshaException {
-
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::checkForUnknownSequence, " + sequenceID);
 
 		MessageContext messageContext = rmMessageContext.getMessageContext();
 		ConfigurationContext configCtx = messageContext.getConfigurationContext();
@@ -216,6 +236,10 @@
 		String rmNamespaceValue = rmMessageContext.getRMNamespaceValue();
 
 		if (!validSequence) {
+      
+      if (log.isDebugEnabled())
+        log.debug("Sequence not valid " + sequenceID);
+
 			//Return an UnknownSequence error
 			int SOAPVersion = SandeshaUtil.getSOAPVersion(messageContext.getEnvelope());
 
@@ -237,9 +261,14 @@
 			
 			data.setReason("A sequence with the given sequenceID has NOT been established");
 
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForUnknownSequence");
+     
 			return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue(),storageManager);
 		}
 
+    if (log.isDebugEnabled())
+      log.debug("Exit: FaultManager::checkForUnknownSequence");
 		return null;
 	}
 
@@ -252,14 +281,19 @@
 	 */
 	public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext,StorageManager storageManager)
 			throws SandeshaException {
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::checkForInvalidAcknowledgement");
 
 		//check lower<=upper
 		//TODO acked for not-send message
 		
 		MessageContext ackMessageContext = ackRMMessageContext.getMessageContext();
-		if (ackRMMessageContext.getMessageType() != Sandesha2Constants.MessageTypes.ACK)
-			return null;
-
+		if (ackRMMessageContext.getMessageType() != Sandesha2Constants.MessageTypes.ACK) {
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForInvalidAcknowledgement, MessageType not an ACK");
+      return null;
+    }
+    
 		boolean invalidAck = false;
 		String reason = null;
 		SequenceAcknowledgement sequenceAcknowledgement = (SequenceAcknowledgement) ackRMMessageContext
@@ -300,14 +334,21 @@
 					new QName (Sandesha2Constants.WSRM_COMMON.SEQUENCE_ACK));
 			data.setDetail(sequenceAckElement);
 
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForInvalidAcknowledgement, invalid ACK");
 			return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue(),storageManager);
 		}
 
+    if (log.isDebugEnabled())
+      log.debug("Exit: FaultManager::checkForInvalidAcknowledgement");
 		return null;
 	}
 
 	public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager) throws SandeshaException {
-		MessageContext referenceMessage = referenceRMMessage.getMessageContext();
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::checkForSequenceClosed, " + sequenceID);
+
+    MessageContext referenceMessage = referenceRMMessage.getMessageContext();
 		ConfigurationContext configCtx = referenceMessage.getConfigurationContext();
 		
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
@@ -331,8 +372,13 @@
 			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
 			data.setReason(reason);
 
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::checkForSequenceClosed, sequence closed");
 			return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue(),storageManager);
 		}
+    
+    if (log.isDebugEnabled())
+      log.debug("Exit: FaultManager::checkForSequenceClosed");
 		return null;
 		
 	}
@@ -347,6 +393,8 @@
 	 */
 	public RMMsgContext getFault(RMMsgContext referenceRMMsgContext,
 			FaultData data, String addressingNamespaceURI,StorageManager storageManager) throws SandeshaException {
+    if (log.isDebugEnabled())
+      log.debug("Enter: FaultManager::getFault");
 
 		try {
 			MessageContext referenceMessage = referenceRMMsgContext.getMessageContext();
@@ -428,14 +476,15 @@
 
 			RMMsgContext faultRMMsgCtx = MsgInitializer.initializeMessage(faultMsgContext);
 
+      if (log.isDebugEnabled())
+        log.debug("Exit: FaultManager::getFault");
 			return faultRMMsgCtx;
 
 		} catch (AxisFault e) {
 			throw new SandeshaException(e.getMessage());
 		}
-
 	}
 	
 
 	
-}
\ No newline at end of file
+}



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