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 2005/10/21 07:05:56 UTC

svn commit: r327099 - in /webservices/sandesha/trunk/src/org/apache/sandesha2: ./ handlers/ msgprocessors/ msgreceivers/

Author: chamikara
Date: Thu Oct 20 22:05:19 2005
New Revision: 327099

URL: http://svn.apache.org/viewcvs?rev=327099&view=rev
Log:
Moved CreeateSequence logic from RMMessageReceiver to CreateSequenceMsgProcessor.

Removed unnecessary prints.

Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/Sender.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/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java Thu Oct 20 22:05:19 2005
@@ -184,7 +184,7 @@
 
 			String NOT_IN_ORDER = "NotInOrder";
 
-			String DEFAULT_DELIVERY_ASSURANCE = NOT_IN_ORDER;
+			String DEFAULT_DELIVERY_ASSURANCE = IN_ORDER;
 		}
 		
 		public interface InvocationType {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Sender.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sender.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sender.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sender.java Thu Oct 20 22:05:19 2005
@@ -66,7 +66,6 @@
 	public void run() {
 
 		while (senderStarted) {
-			//System.out.println ("|-|");
 			try {
 				if (context == null)
 					throw new SandeshaException(
@@ -190,7 +189,6 @@
 						response, msgCtx.getEnvelope().getNamespace().getName());
 			} catch (AxisFault e) {
 				//TODO: change to log.debug
-				System.out.println("No response message");
 			}
 			
 			if (resenvelope != null) {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Thu Oct 20 22:05:19 2005
@@ -51,7 +51,6 @@
 	}
 
 	public void invoke(MessageContext msgCtx) throws AxisFault {
-		System.out.println ("Sandesha in handler called");
 		
 		RMMsgContext rmMsgCtx = null;
 		try {
@@ -59,23 +58,6 @@
 		} catch (SandeshaException ex) {
 			throw new AxisFault("Cant initialize the message");
 		}
-		
-		System.out.println("Got message of type:" + rmMsgCtx.getMessageType() + " MessageId:" + msgCtx.getMessageID());
-
-//		try {
-//			System.out.println("SandeshaInHandler Got a message of type:" + rmMsgCtx.getMessageType());
-//			XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
-//			SOAPEnvelope env123 = msgCtx.getEnvelope();
-//			env123.serialize(writer);
-//		} catch (XMLStreamException e) {
-//			// TODO Auto-generated catch block
-//			e.printStackTrace();
-//		} catch (FactoryConfigurationError e) {
-//			// TODO Auto-generated catch block
-//			e.printStackTrace();
-//		}
-			
-
 
 		MsgProcessor msgProcessor = MsgProcessorFactory
 				.getMessageProcessor(rmMsgCtx.getMessageType());

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Thu Oct 20 22:05:19 2005
@@ -66,7 +66,6 @@
 	}
 
 	public void invoke(MessageContext msgCtx) throws AxisFault {
-		System.out.println("Sandesha out handler called");
 
 		String DONE = (String) msgCtx
 				.getProperty(Constants.APPLICATION_PROCESSING_DONE);
@@ -231,7 +230,6 @@
 				String messageId1 = SandeshaUtil.getUUID();
 				if (rmMsgCtx.getMessageId()==null) {
 					rmMsgCtx.setMessageId(messageId1);
-					System.out.println("Message id was null");
 				}
 				//OperationContext opCtx = msgCtx.getOperationContext();
 //				msgCtx.getSystemContext().registerOperationContext(messageId,
@@ -397,9 +395,6 @@
 		CreateSeqBean createSeqBean = new CreateSeqBean(tempSequenceId,
 				createSeqMsg.getMessageID(), null);
 		createSeqMgr.insert(createSeqBean);
-
-		System.out.println("Create sequence msg id:"
-				+ createSeqRMMessage.getMessageId());
 
 		RetransmitterBeanMgr retransmitterMgr = AbstractBeanMgrFactory
 				.getInstance(context).getRetransmitterBeanMgr();

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Thu Oct 20 22:05:19 2005
@@ -17,10 +17,24 @@
 
 package org.apache.sandesha2.msgprocessors;
 
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.engine.AxisEngine;
+import org.apache.axis2.util.Utils;
 import org.apache.sandesha2.Constants;
 import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.RMMsgCreator;
 import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.SequenceMenager;
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.wsrm.CreateSequence;
+import org.apache.sandesha2.wsrm.CreateSequenceResponse;
 import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
 
 /**
@@ -29,23 +43,53 @@
 
 public class CreateSeqMsgProcessor implements MsgProcessor {
 
-	public void processMessage(RMMsgContext rmMsgCtx) throws SandeshaException {
+	public void processMessage(RMMsgContext createSeqRMMsg) throws SandeshaException {
 		
-		//Processing for ack if any
-		SequenceAcknowledgement sequenceAck = (SequenceAcknowledgement) rmMsgCtx.getMessagePart(Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
-		if (sequenceAck!=null) {
-			AcknowledgementProcessor ackProcessor = new AcknowledgementProcessor ();
-			ackProcessor.processMessage(rmMsgCtx);
+		MessageContext createSeqMsg = createSeqRMMsg.getMessageContext();
+		MessageContext outMessage = null;
+		try {
+			outMessage = Utils.createOutMessageContext(createSeqMsg);
+		} catch (AxisFault e) {
+			throw new SandeshaException (e.getMessage());
 		}
 		
-		//Processing the create sequence 
-		//TODO: Add create sequence message processing logic
-		CreateSequence createSeq = (CreateSequence) rmMsgCtx.getMessagePart(Constants.MessageParts.CREATE_SEQ);
-
-		//rmMsgCtx.test();
-	
 		
-		//Change the Operation (to go throught CreateSequence)
 		
+		try {
+			String newSequenceId = SequenceMenager.setUpNewSequence(createSeqRMMsg);
+			ConfigurationContext context = createSeqRMMsg.getMessageContext().getSystemContext();
+			if (newSequenceId == null)
+				throw new AxisFault("Internal error - Generated sequence id is null");
+			
+			RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, outMessage, newSequenceId);
+			CreateSequenceResponse createSeqResPart = (CreateSequenceResponse) createSeqResponse.getMessagePart(Constants.MessageParts.CREATE_SEQ_RESPONSE);
+
+			//ConfigurationContext configCtx = inMessage.getSystemContext();
+
+			CreateSequence createSeq = (CreateSequence) createSeqRMMsg.getMessagePart(Constants.MessageParts.CREATE_SEQ);
+			if (createSeq == null)
+				throw new AxisFault("Create sequence part not present in the create sequence message");
+
+			EndpointReference acksTo = createSeq.getAcksTo().getAddress().getEpr();
+			if (acksTo == null || acksTo.getAddress() == null
+					|| acksTo.getAddress() == "")
+				throw new AxisFault("Acks to not present in the create sequence message");
+
+			SequencePropertyBean seqPropBean = new SequencePropertyBean(newSequenceId, Constants.SequenceProperties.ACKS_TO_EPR, acksTo);
+			//		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr
+			// (Constants.DEFAULT_STORAGE_TYPE);
+			//		beanMgr.create(seqPropBean);
+
+			SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory.getInstance(context).getSequencePropretyBeanMgr();
+			seqPropMgr.insert(seqPropBean);
+			outMessage.setResponseWritten(true);
+
+			AxisEngine engine = new AxisEngine (context);
+			engine.send(outMessage);
+		} catch (AxisFault e1) {
+			throw new SandeshaException (e1.getMessage());
+		}
+		
+		createSeqMsg.setPausedTrue(new QName (Constants.IN_HANDLER_NAME));
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Thu Oct 20 22:05:19 2005
@@ -17,6 +17,9 @@
 
 package org.apache.sandesha2.msgprocessors;
 
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.context.MessageContext;
 import org.apache.sandesha2.Constants;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.SandeshaException;
@@ -28,17 +31,22 @@
  */
 public class TerminateSeqMsgProcessor implements MsgProcessor {
 
-	public void processMessage(RMMsgContext rmMsgCtx)
+	public void processMessage(RMMsgContext terminateSeqRMMSg)
 			throws SandeshaException {
+		
+		MessageContext terminateSeqMsg = terminateSeqRMMSg.getMessageContext();
 		//Processing for ack if any
-		SequenceAcknowledgement sequenceAck = (SequenceAcknowledgement) rmMsgCtx.getMessagePart(Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
+		SequenceAcknowledgement sequenceAck = (SequenceAcknowledgement) terminateSeqRMMSg.getMessagePart(Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
 		if (sequenceAck!=null) {
 			AcknowledgementProcessor ackProcessor = new AcknowledgementProcessor ();
-			ackProcessor.processMessage(rmMsgCtx);
+			ackProcessor.processMessage(terminateSeqRMMSg);
 		}
 		
 		//Processing the terminate message
 		//TODO Add terminate sequence message logic.
 
+		
+		terminateSeqMsg.setPausedTrue(new QName (Constants.IN_HANDLER_NAME));
+		
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java?rev=327099&r1=327098&r2=327099&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Thu Oct 20 22:05:19 2005
@@ -17,212 +17,21 @@
 
 package org.apache.sandesha2.msgreceivers;
 
-import java.util.ArrayList;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.addressing.MessageInformationHeaders;
-import org.apache.axis2.addressing.miheaders.RelatesTo;
-import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.engine.AxisEngine;
-import org.apache.axis2.om.OMAbstractFactory;
-import org.apache.axis2.om.OMElement;
-import org.apache.axis2.om.OMFactory;
-import org.apache.axis2.om.OMNamespace;
-import org.apache.axis2.receivers.AbstractInMessageReceiver;
-import org.apache.axis2.receivers.AbstractInOutAsyncMessageReceiver;
-import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver;
 import org.apache.axis2.receivers.AbstractMessageReceiver;
-import org.apache.axis2.receivers.ServerCallback;
-import org.apache.axis2.soap.SOAP11Constants;
-import org.apache.axis2.soap.SOAP12Constants;
-import org.apache.axis2.soap.SOAPEnvelope;
-import org.apache.axis2.soap.SOAPFactory;
-import org.apache.axis2.transport.http.HTTPConstants;
-import org.apache.sandesha2.Constants;
-import org.apache.sandesha2.MsgInitializer;
-import org.apache.sandesha2.MsgValidator;
-import org.apache.sandesha2.SandeshaException;
-import org.apache.sandesha2.RMMsgContext;
-import org.apache.sandesha2.RMMsgCreator;
-import org.apache.sandesha2.SequenceMenager;
-import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
-import org.apache.sandesha2.wsrm.CreateSequence;
-import org.apache.sandesha2.wsrm.CreateSequenceResponse;
-
-import com.bea.xml.stream.XMLWriterBase;
-
-/**
- * @author
- */
-
-public class RMMessageReceiver extends AbstractMessageReceiver {
-
-	//TODO move this code to create seq msg processor.
-	public void setCreateSequence(MessageContext inMessage,
-			MessageContext outMessage) throws AxisFault {
-
-		RMMsgContext createSeqMsg = null;
-		try {
-			createSeqMsg = MsgInitializer.initializeMessage(inMessage);
-		} catch (SandeshaException ex) {
-			throw new AxisFault("Cant initialize the message");
-		}
-
-		if (createSeqMsg.getMessageType() != Constants.MessageTypes.CREATE_SEQ)
-			throw new AxisFault("Wrong message type");
-
-		String newSequenceId = SequenceMenager.setUpNewSequence(createSeqMsg);
-		
-		if (newSequenceId == null)
-			throw new AxisFault(
-					"Internal error - Generated sequence id is null");
-		
-		RMMsgContext createSeqResponse = RMMsgCreator
-				.createCreateSeqResponseMsg(createSeqMsg, outMessage, newSequenceId);
-		CreateSequenceResponse createSeqResPart = (CreateSequenceResponse) createSeqResponse
-				.getMessagePart(Constants.MessageParts.CREATE_SEQ_RESPONSE);
-
-		//String newSequenceId = createSeqResPart.getIdentifier().getIdentifier();
-
-
-		ConfigurationContext configCtx = inMessage.getSystemContext();
-		
-
-		CreateSequence createSeq = (CreateSequence) createSeqMsg
-				.getMessagePart(Constants.MessageParts.CREATE_SEQ);
-		if (createSeq == null)
-			throw new AxisFault(
-					"Create sequence part not present in the create sequence message");
-
-		EndpointReference acksTo = createSeq.getAcksTo().getAddress().getEpr();
-		if (acksTo == null || acksTo.getAddress() == null
-				|| acksTo.getAddress() == "")
-			throw new AxisFault(
-					"Acks to not present in the create sequence message");
-
-		SequencePropertyBean seqPropBean = new SequencePropertyBean(
-				newSequenceId, Constants.SequenceProperties.ACKS_TO_EPR, acksTo);
-		//		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr
-		// (Constants.DEFAULT_STORAGE_TYPE);
-		//		beanMgr.create(seqPropBean);
-
-		SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory
-				.getInstance(configCtx).getSequencePropretyBeanMgr();
-		seqPropMgr.insert(seqPropBean);
-		outMessage.setResponseWritten(true);
-
-	}
-
-	public final void receive(MessageContext messgeCtx) throws AxisFault {
-
-		//intitializing the message.
-		RMMsgContext rmMsgCtx = null;
-		try {
-			rmMsgCtx = MsgInitializer.initializeMessage(messgeCtx);
-		} catch (SandeshaException ex) {
-			throw new AxisFault("Cant initialize the message");
-		}
-
-		AbstractMessageReceiver msgReceiver = null;
-
-		//String replyTo = messgeCtx.getFrom().getAddress();
-		String replyTo = messgeCtx.getReplyTo().getAddress();
-		if (rmMsgCtx.getMessageType() == Constants.MessageTypes.TERMINATE_SEQ)
-			msgReceiver = new RMInMsgReceiver();
-		else if (rmMsgCtx.getMessageType() == Constants.MessageTypes.CREATE_SEQ
-				&& ((replyTo == null) || replyTo
-						.equals(Constants.WSA.NS_URI_ANONYMOUS)))
-			msgReceiver = new RMInOutSyncMsgReceiver();
-		else if (rmMsgCtx.getMessageType() == Constants.MessageTypes.CREATE_SEQ)
-			msgReceiver = new RMInOutAsyncMsgReceiver();
-
-		if (msgReceiver != null) {
-			msgReceiver.receive(messgeCtx);
-		}
-	}
-
-	private SOAPFactory getSOAPFactory(MessageContext inMessage)
-			throws AxisFault {
-		String nsURI = inMessage.getEnvelope().getNamespace().getName();
-		if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
-			fac = OMAbstractFactory.getSOAP12Factory();
-		} else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
-			fac = OMAbstractFactory.getSOAP11Factory();
-		} else {
-			throw new AxisFault(
-					"Unknown SOAP Version. Current Axis handles only SOAP 1.1 and SOAP 1.2 messages");
-		}
-		return fac;
-	}
-
-	private class RMInMsgReceiver extends AbstractInMessageReceiver {
-
-		public void invokeBusinessLogic(MessageContext inMessage)
-				throws AxisFault {
-			RMMsgContext rmMsgCtx = null;
-			try {
-				rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			} catch (SandeshaException ex) {
-				throw new AxisFault("Cant initialize the message");
-			}
-
-			//TODO check for terminate sequence.
-			//TODO handle terminate sequence.
-
-		}
-	}
 
-	private class RMInOutSyncMsgReceiver extends
-			AbstractInOutSyncMessageReceiver {
 
-		public void invokeBusinessLogic(MessageContext inMessage,
-				MessageContext outMessage) throws AxisFault {
+//Currently this is a dummy Msg Receiver.
+//All the necessary RM logic happens at MessageProcessors.
+//This only ensures that the defaults Messsage Receiver does not get called for RM control messages.
 
-			RMMsgContext rmMsgCtx = null;
-			try {
-				rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			} catch (SandeshaException ex) {
-				throw new AxisFault("Cant initialize the message");
-			}
-
-			if (rmMsgCtx.getMessageType() == Constants.MessageTypes.CREATE_SEQ) {
-				//TODO handle sync create seq.
-				setCreateSequence(inMessage, outMessage);
-			}
-
-		}
-	}
+public class RMMessageReceiver extends AbstractMessageReceiver {
 
-	private class RMInOutAsyncMsgReceiver extends
-			AbstractInOutAsyncMessageReceiver {
 
-		public void invokeBusinessLogic(MessageContext inMessage,
-				MessageContext outMessage, ServerCallback callback)
-				throws AxisFault {
-
-			RMMsgContext rmMsgCtx = null;
-			try {
-				rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			} catch (SandeshaException ex) {
-				throw new AxisFault("Cant initialize the message");
-			}
-
-			if (rmMsgCtx.getMessageType() == Constants.MessageTypes.CREATE_SEQ) {
-				//TODO handle async create seq.
-				setCreateSequence(inMessage, outMessage);
-				ConfigurationContext configCtx = outMessage.getSystemContext();
-				AxisEngine engine = new AxisEngine(configCtx);
-				engine.send(outMessage);
-			}
-		}
+	public final void receive(MessageContext messgeCtx) throws AxisFault {
+		System.out.println("RM MESSSAGE RECEIVER WAS CALLED");
 	}
-
+	
 }



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