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/09/06 06:03:55 UTC

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

Author: chamikara
Date: Mon Sep  5 21:03:11 2005
New Revision: 278907

URL: http://svn.apache.org/viewcvs?rev=278907&view=rev
Log:
updated server classes

Added:
    webservices/sandesha/trunk/src/org/apache/sandesha2/RMException.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java
Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/MsgValidator.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/SOAPAbstractFactory.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerOutHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/MsgProcessorException.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=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Constants.java Mon Sep  5 21:03:11 2005
@@ -18,8 +18,9 @@
 package org.apache.sandesha2;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 
@@ -29,7 +30,11 @@
 		String NS_PREFIX_RM = "wsrm";
 
 		String NS_URI_RM = "http://schemas.xmlsoap.org/ws/2005/02/rm";
+		
 
+		String ACTION_SEQ_ACK = "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement";
+		
+		
 		String NS_URI_CREATE_SEQ_RESPONSE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse";
 		
 		String MSG_NUMBER = "MessageNumber";
@@ -137,7 +142,15 @@
 	
 	int STORAGE_TYPE_PERSISTANCE = 2;
 	
-	String SEQ_PROPERTY_RECEIVED_MSG_LIST = "SeqMsgList";
+	int DEFAULT_STORAGE_TYPE = STORAGE_TYPE_IN_MEMORY;
+	
+	
+	
+	
+	String SEQ_PROPERTY_RECEIVED_MESSAGES = "SeqMsgListProperty";
+	
+	String SEQ_PROPERTY_ACKS_TO = "acksToProperty";
+	
 	
 	int SOAP_1_1 = 1;
 	

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java Mon Sep  5 21:03:11 2005
@@ -26,20 +26,22 @@
 
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 
 public class MsgInitializer {
 
-	public static RMMsgContext initializeMessage (MessageContext ctx) {
+	public static RMMsgContext initializeMessage (MessageContext ctx) throws RMException {
 		RMMsgContext rmMsgCtx = new RMMsgContext (ctx);
 		populateRMMsgContext(ctx,rmMsgCtx);
+		validateMessage(rmMsgCtx);
 		return rmMsgCtx;
 	}
 	
-	public static void populateRMMsgContext (MessageContext msgCtx, RMMsgContext rmMsgContext) {
+	private static void populateRMMsgContext (MessageContext msgCtx, RMMsgContext rmMsgContext) {
 		//TODO set message parts
 		
 		RMElements elements = new RMElements ();
@@ -65,5 +67,21 @@
 		
 		
 		
+	}
+	
+	private static boolean validateMessage (RMMsgContext rmMsgCtx) throws RMException {
+        
+		//TODO: performa validation
+		
+		//Setting message type.
+		if(rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ)!=null)
+			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_CREATE_SEQ);
+		else if (rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ_RESPONSE)!=null)
+			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_CREATE_SEQ_RESPONSE);
+		else if (rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_TERMINATE_SEQ)!=null)
+			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_TERMINATE_SEQ);
+		
+		
+		return true;
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/MsgValidator.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/MsgValidator.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/MsgValidator.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/MsgValidator.java Mon Sep  5 21:03:11 2005
@@ -21,22 +21,18 @@
 import org.apache.axis2.context.MessageContext;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
+//TODO remove this class.
 public class MsgValidator {
 
-	public static void validateMessage(RMMsgContext rmMsgCtx) throws AxisFault{
-        //TODO: Validate message
-		
-		//Setting message type.
-		if(rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ)!=null)
-			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_CREATE_SEQ);
-		else if (rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ_RESPONSE)!=null)
-			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_CREATE_SEQ_RESPONSE);
-		else if (rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_TERMINATE_SEQ)!=null)
-			rmMsgCtx.setMessageType(Constants.MESSAGE_TYPE_TERMINATE_SEQ);
-			
+	
+	private static void validateMessage(RMMsgContext rmMsgCtx) throws AxisFault{
+
+			//no need of this method any more.
+			//Validation is done in the message initialized
     }
 }

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/RMException.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMException.java?rev=278907&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMException.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMException.java Mon Sep  5 21:03:11 2005
@@ -0,0 +1,17 @@
+/*
+ * Created on Sep 5, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.sandesha2;
+
+/**
+ * @author chamikara
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class RMException extends Exception {
+
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java Mon Sep  5 21:03:11 2005
@@ -31,10 +31,12 @@
 import org.apache.sandesha2.wsrm.CreateSequence;
 import org.apache.sandesha2.wsrm.IOMRMElement;
 import org.apache.sandesha2.wsrm.TerminateSequence;
+import org.apache.wsdl.WSDLConstants;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 public class RMMsgContext {
@@ -133,6 +135,10 @@
 	
 	public void setRelatesTo (RelatesTo relatesTo){
 		msgContext.setRelatesTo(relatesTo);
+	}
+	
+	public MessageContext getMessageContext () {
+		return msgContext;
 	}
 	
 	

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java Mon Sep  5 21:03:11 2005
@@ -22,12 +22,15 @@
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.MessageInformationHeaders;
 import org.apache.axis2.addressing.om.AddressingHeaders;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.om.OMAbstractFactory;
 import org.apache.axis2.om.impl.MIMEOutputUtils;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
+import org.apache.axis2.wsdl.builder.wsdl4j.WSDL11MEPFinder;
+import org.apache.sandesha2.msgreceivers.RMMessageReceiver;
 import org.apache.sandesha2.util.SandeshaUtil;
 import org.apache.sandesha2.wsrm.Accept;
 import org.apache.sandesha2.wsrm.AckRequested;
@@ -38,11 +41,14 @@
 import org.apache.sandesha2.wsrm.CreateSequenceResponse;
 import org.apache.sandesha2.wsrm.IOMRMElement;
 import org.apache.sandesha2.wsrm.Identifier;
+import org.apache.sandesha2.wsrm.Sequence;
 import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
+import org.apache.wsdl.WSDLConstants;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 public class RMMsgCreator {
@@ -78,30 +84,58 @@
         outMessage.setMessageID(newMessageId);
 		
         outMessage.setEnvelope(envelope);
-        RMMsgContext createSeqResponse = MsgInitializer.initializeMessage(outMessage);
-        MsgValidator.validateMessage(createSeqResponse);
-		return createSeqResponse;
+        
+        RMMsgContext createSeqResponse = null;
+        try {
+        	createSeqResponse = MsgInitializer.initializeMessage(outMessage);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
+        
+        return createSeqResponse;
 	}
 	
-	public static void createAckMessage (RMMsgContext applicationMsg) throws AxisFault {
-		/*SOAPEnvelope envelope = applicationMsg.getSOAPEnvelope();
+	
+	//Adds a ack message to the following message.
+	public static void addAckMessage (RMMsgContext applicationMsg) throws AxisFault {
+		SOAPEnvelope envelope = applicationMsg.getSOAPEnvelope();
 		if(envelope==null) {
 			SOAPEnvelope newEnvelope = SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).getDefaultEnvelope();
 			applicationMsg.setSOAPEnvelop(envelope);
 		}
-		
 		envelope = applicationMsg.getSOAPEnvelope();
-		SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement ();
+		
+		MessageContext requestMessage = applicationMsg.getMessageContext().getOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_IN);
+
+		RMMsgContext reqRMMsgCtx = null;
+		
+        try {
+        	reqRMMsgCtx = MsgInitializer.initializeMessage(requestMessage);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
+		
+        
+        Sequence reqSequence = (Sequence) reqRMMsgCtx.getMessagePart(Constants.MESSAGE_PART_SEQUENCE);
+		if (reqSequence==null)
+			throw new AxisFault ("Sequence part of application message is null");
+        
+		String sequenceId = reqSequence.getIdentifier().getIdentifier();
+		
+        SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement ();
 		Identifier id = new Identifier ();
-		id.setIndentifer("uuid:temp-id-of-sandesha");
+		id.setIndentifer(sequenceId);
 		sequenceAck.setIdentifier(id);
 		AcknowledgementRange range = new AcknowledgementRange ();
-		range.setMaxValue(1);
-		range.setMinValue(1);
+		
+		//TODO correct below
+		range.setUpperValue(1);
+		range.setLowerValue(1);
+			
 		sequenceAck.addAcknowledgementRanges(range);
-		sequenceAck.toSOAPEnvelope(envelope);
-		applicationMsg.setAction("http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement");
-		applicationMsg.setMessageId("uuid:msg-id-of-first-ack"); */
+		sequenceAck.toOMElement(envelope.getHeader());
+		applicationMsg.setAction(Constants.WSRM.ACTION_SEQ_ACK);
+		applicationMsg.setMessageId(SandeshaUtil.getUUID()); 
 		
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SOAPAbstractFactory.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SOAPAbstractFactory.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SOAPAbstractFactory.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SOAPAbstractFactory.java Mon Sep  5 21:03:11 2005
@@ -21,8 +21,9 @@
 import org.apache.axis2.soap.SOAPFactory;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java Mon Sep  5 21:03:11 2005
@@ -22,8 +22,9 @@
 import org.apache.axis2.modules.Module;
 
 /**
- * @author chamikara
- * @author sanka
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 
 public class SandeshaModule implements Module{

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java?rev=278907&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java Mon Sep  5 21:03:11 2005
@@ -0,0 +1,31 @@
+/*
+ * Created on Sep 5, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.sandesha2;
+
+import java.util.ArrayList;
+
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
+
+/**
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
+ */
+public class SequenceMenager {
+
+	public static void setUpNewSequence (String sequenceId) {
+		ArrayList arr;
+		SequencePropertyBean seqPropBean = new SequencePropertyBean (sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES,"");
+		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
+		beanMgr.create(seqPropBean);
+	}
+	
+	public void removeSequence (String sequence) {
+		
+	}
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java Mon Sep  5 21:03:11 2005
@@ -25,6 +25,7 @@
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.sandesha2.MsgInitializer;
 import org.apache.sandesha2.MsgValidator;
+import org.apache.sandesha2.RMException;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.msgprocessors.MsgProcessor;
 import org.apache.sandesha2.msgprocessors.MsgProcessorException;
@@ -32,7 +33,9 @@
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 
 /**
- * @author 
+ * @author Chamikara
+ * @author Sanka
+ * @author Jaliya 
  */
 public class ServerInHandler extends AbstractHandler {
 
@@ -43,8 +46,13 @@
 		System.out.println ("Operation is:" + opearaitonName);
 		
 		msgCtx.setProperty("aaaa","abcd");
-		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
-		MsgValidator.validateMessage(rmMsgCtx);
+		RMMsgContext rmMsgCtx = null;
+
+        try {
+        	rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
 		
 		MsgProcessor msgProcessor = MsgProcessorFactory.getMessageProcessor(rmMsgCtx.getMessageType());
 		

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerOutHandler.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerOutHandler.java Mon Sep  5 21:03:11 2005
@@ -23,6 +23,7 @@
 import org.apache.sandesha2.Constants;
 import org.apache.sandesha2.MsgInitializer;
 import org.apache.sandesha2.MsgValidator;
+import org.apache.sandesha2.RMException;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.RMMsgCreator;
 import org.apache.sandesha2.msgreceivers.RMMessageReceiver;
@@ -30,27 +31,37 @@
 import org.apache.wsdl.WSDLConstants;
 
 /**
- * @author 
+ * @author Sanka
+ * @author Chamikara
+ * @author Jaliya 
  */
 public class ServerOutHandler extends AbstractHandler {
 
 	public void invoke(MessageContext msgCtx) throws AxisFault {
 		System.out.println ("Server out handler called");
 		
-		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
-		MsgValidator.validateMessage(rmMsgCtx);
+		RMMsgContext rmMsgCtx;
+        try {
+        	rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
 	
 	
 		//getting the request message.
 		MessageContext reqMsgCtx = msgCtx.getOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_IN);
-		RMMsgContext requestRMMsgCtx = MsgInitializer.initializeMessage(reqMsgCtx);
-		MsgValidator.validateMessage(requestRMMsgCtx);
-		
-
+		RMMsgContext requestRMMsgCtx;
+        try {
+        	requestRMMsgCtx = MsgInitializer.initializeMessage(reqMsgCtx);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
 		
+        //TODO change this to    IF==MSG_TYPE_APPLICATION
 		if(requestRMMsgCtx.getMessageType()!=Constants.MESSAGE_TYPE_CREATE_SEQ){
 			//set acknowledgement
-			RMMsgCreator.createAckMessage (rmMsgCtx);	
+			RMMsgCreator.addAckMessage(rmMsgCtx);
+			
 		}
 		
 	}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Mon Sep  5 21:03:11 2005
@@ -1,8 +1,18 @@
 /*
- * Created on Aug 29, 2005
+ * Copyright  1999-2004 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
  *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
  */
 package org.apache.sandesha2.msgprocessors;
 
@@ -31,10 +41,22 @@
 		Sequence sequence = (Sequence) rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_SEQUENCE);
 		String sequenceId = sequence.getIdentifier().getIdentifier();
 		SequencePropertyBeanMgr mgr = new SequencePropertyBeanMgr (Constants.STORAGE_TYPE_IN_MEMORY);
-		SequencePropertyBean bean = (SequencePropertyBean) mgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MSG_LIST);
-		System.out.println ("get --" + sequenceId + "--" + Constants.SEQ_PROPERTY_RECEIVED_MSG_LIST);
-		int i = 1;
-		ArrayList list = (ArrayList) bean.getValue();
-		System.out.println ("aaa is:" + list.get(0));
+		
+		SequencePropertyBean msgsBean = (SequencePropertyBean) mgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
+		SequencePropertyBean acksToBean = (SequencePropertyBean) mgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_ACKS_TO);
+		
+		
+		String messagesStr =  (String) msgsBean.getValue();
+		String acksToStr = (String) acksToBean.getValue();
+	
+		System.out.println ("Messages received:" + Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
+		System.out.println ("Acks To:" + Constants.SEQ_PROPERTY_ACKS_TO);
+		
+		if (acksToStr==null || messagesStr==null)
+			throw new MsgProcessorException ("Seqeunce properties are not set correctly");
+		
+		if (acksToStr!=Constants.WSA.NS_URI_ANONYMOUS) {
+			//TODO Add async Ack
+		}
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/MsgProcessorException.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/MsgProcessorException.java?rev=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/MsgProcessorException.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/MsgProcessorException.java Mon Sep  5 21:03:11 2005
@@ -23,4 +23,7 @@
  */
 public class MsgProcessorException extends Exception {
 
+	public MsgProcessorException (String s) {
+		super (s);
+	}
 }

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=278907&r1=278906&r2=278907&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Mon Sep  5 21:03:11 2005
@@ -46,8 +46,10 @@
 import org.apache.sandesha2.Constants;
 import org.apache.sandesha2.MsgInitializer;
 import org.apache.sandesha2.MsgValidator;
+import org.apache.sandesha2.RMException;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.RMMsgCreator;
+import org.apache.sandesha2.SequenceMenager;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.wsrm.CreateSequence;
@@ -65,64 +67,52 @@
 	public void setCreateSequence(MessageContext inMessage,
 			MessageContext outMessage) throws AxisFault {
 
-		System.out.println("RM Msg Receiver was called");
-		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-		MsgValidator.validateMessage(rmMsgCtx);
+		System.out.println("set create seq was called in RM Msg receiver");
+		
+		RMMsgContext rmMsgCtx = null;
+        try {
+        	rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
+
+        if (rmMsgCtx.getMessageType()!=Constants.MESSAGE_TYPE_CREATE_SEQ)
+        	throw new AxisFault ("Wrong message type");
+        
+        RMMsgContext createSeqResponse = RMMsgCreator
+					.createCreateSeqResponseMsg(rmMsgCtx, outMessage);	
+		CreateSequenceResponse createSeqResPart = (CreateSequenceResponse) createSeqResponse.
+							getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ_RESPONSE);
+			
+		String newSequenceId = createSeqResPart.getIdentifier().getIdentifier();
+		if (newSequenceId==null)
+			throw new AxisFault ("Internal error - Generated sequence id is null");
 
-		if (rmMsgCtx.getMessageType() == Constants.MESSAGE_TYPE_CREATE_SEQ) {
+		SequenceMenager.setUpNewSequence(newSequenceId);
 
-			RMMsgContext createSeqResponse = RMMsgCreator
-					.createCreateSeqResponseMsg(rmMsgCtx, outMessage);
-			
-			CreateSequenceResponse createSeqResPart = (CreateSequenceResponse) createSeqResponse.
-								getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ_RESPONSE);
-			
-			String newSequenceId = createSeqResPart.getIdentifier().getIdentifier();
-			
-			if (newSequenceId==null)
-				throw new AxisFault ("Internal error - Generated sequence id is null");
-			
-			
-			//TODO: put below to SequenceManager.setUpNewSequence ();
-			ArrayList arr;
-			SequencePropertyBean seqPropBean = new SequencePropertyBean (newSequenceId,Constants.SEQ_PROPERTY_RECEIVED_MSG_LIST,arr = new ArrayList());
-			SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.STORAGE_TYPE_IN_MEMORY);
-			System.out.println ("put --" + newSequenceId + "--" + Constants.SEQ_PROPERTY_RECEIVED_MSG_LIST);
-			beanMgr.create(seqPropBean);
-			
-			arr.add("bbb");
-
-			outMessage.setResponseWritten(true);
-		} else {
-			outMessage.setResponseWritten(true);
-		}
+		outMessage.setResponseWritten(true);
 
 	}
 
 	public final void receive(MessageContext messgeCtx) throws AxisFault {
 
 		System.out.println ("within RM Msg receiver");
-		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(messgeCtx);
-		MsgValidator.validateMessage(rmMsgCtx);
+		
+		//intitializing the message.
+		RMMsgContext rmMsgCtx = null;
+        try {
+        	rmMsgCtx = MsgInitializer.initializeMessage(messgeCtx);
+        }catch (RMException ex) {
+        	throw new AxisFault ("Cant initialize the message");
+        }
 
 		AbstractMessageReceiver msgReceiver = null;
-		if (rmMsgCtx.getMessageType() == Constants.MESSAGE_TYPE_CREATE_SEQ) {
-			
-			CreateSequence createSeqPart = (CreateSequence) rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ);
-			if (createSeqPart==null)
-				throw new AxisFault ("No create sequence part in create sequence message");
-			
-			//String acksTo = createSeqPart.getAcksTo().getEndPointReference().toString();
-			String from = messgeCtx.getFrom().getAddress();
-			if(from.equals(Constants.WSA.NS_URI_ANONYMOUS)) {
-				msgReceiver = new RMInOutSyncMsgReceiver ();
-			} else {
-				msgReceiver = new RMInOutAsyncMsgReceiver ();
-			}
-			
+		
+		String replyTo = messgeCtx.getFrom().getAddress();
+		if((replyTo==null) || replyTo.equals(Constants.WSA.NS_URI_ANONYMOUS)) {
+			msgReceiver = new RMInOutSyncMsgReceiver ();
 		} else {
-			//TODO: Check weather terminate
-			msgReceiver = new RMInMsgReceiver ();
+			msgReceiver = new RMInOutAsyncMsgReceiver ();
 		}
 		
 		if(msgReceiver!=null) {
@@ -147,8 +137,12 @@
 	private class RMInMsgReceiver extends AbstractInMessageReceiver {
 		
 		public void invokeBusinessLogic(MessageContext inMessage) throws AxisFault {
-			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			MsgValidator.validateMessage(rmMsgCtx);
+			RMMsgContext rmMsgCtx = null;
+	        try {
+	        	rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
+	        }catch (RMException ex) {
+	        	throw new AxisFault ("Cant initialize the message");
+	        }
 			
 			//TODO check for terminate sequence.
 			//TODO handle terminate sequence.
@@ -161,8 +155,12 @@
 		
 		public void invokeBusinessLogic(MessageContext inMessage, MessageContext outMessage) throws AxisFault {
 			
-			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			MsgValidator.validateMessage(rmMsgCtx);
+			RMMsgContext rmMsgCtx = null;
+	        try {
+	        	rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
+	        }catch (RMException ex) {
+	        	throw new AxisFault ("Cant initialize the message");
+	        }
 			
 			if (rmMsgCtx.getMessageType()==Constants.MESSAGE_TYPE_CREATE_SEQ) {
 				//TODO handle sync create seq.
@@ -177,8 +175,12 @@
 		public void invokeBusinessLogic(MessageContext inMessage,
 				MessageContext outMessage, ServerCallback callback) throws AxisFault {
 			
-			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
-			MsgValidator.validateMessage(rmMsgCtx);
+			RMMsgContext rmMsgCtx = null;
+	        try {
+	        	rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
+	        }catch (RMException ex) {
+	        	throw new AxisFault ("Cant initialize the message");
+	        }
 			
 			if (rmMsgCtx.getMessageType()==Constants.MESSAGE_TYPE_CREATE_SEQ) {
 				//TODO handle async create seq.



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