Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/MessageNumber.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/MessageNumber.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/MessageNumber.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/MessageNumber.java 
Mon Sep  5 02:54:38 2005
@@ -18,6 +18,8 @@
 

 import java.util.Iterator;

 

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

@@ -26,20 +28,24 @@
 import org.apache.axis2.soap.SOAPEnvelope;

 

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class MessageNumber implements IOMRMElement {

        

        private long messageNumber;

        private OMElement messageNoElement;

        

        OMNamespace msgNoNamespace =

-               
OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);  

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       

        public MessageNumber(){

-               messageNoElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.MSG_NUMBER,msgNoNamespace);

+               messageNoElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(Constants.WSRM.MSG_NUMBER,msgNoNamespace);

        }

        

        public long getMessageNumber(){

@@ -48,47 +54,37 @@
        public void setMessageNumber(long messageNumber){

                this.messageNumber = messageNumber;

        }

-       private boolean readMNElement(OMElement element) {

-               Iterator iterator = element.getChildren();

-               while (iterator.hasNext()) {

-                       OMNode omnode = (OMNode)iterator.next();

-                       if(omnode.getType() != OMNode.ELEMENT_NODE){

-                               continue ;

-                       }                               

-                       OMElement childElement = (OMElement)omnode ;

-                       if 
(childElement.getLocalName().equals(Constants.WSRM.MSG_NUMBER)) {

-                               messageNumber = 
Long.parseLong(childElement.getText());

-                               return true;

-                       }else {

-                          readMNElement(childElement); 

-                       }

-               }

-               return false;

-       }

        

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

-               readMNElement(envelope);

+       public Object fromOMElement(OMElement seqenceElement) throws 
OMException {

+               OMElement msgNumberPart = seqenceElement.getFirstChildWithName( 

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.MSG_NUMBER));

+               if (msgNumberPart==null)

+                       throw new OMException ("The passed sequnce element does 
not contain a message number part");

+               

+               messageNoElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(Constants.WSRM.MSG_NUMBER,msgNoNamespace);

+

+               String msgNoStr = msgNumberPart.getText();

+               messageNumber = Long.parseLong(msgNoStr);

                return this;

        }

-       public OMElement toSOAPEnvelope(OMElement messageElement) throws 
OMException {

-               //soapheaderblock element will be given. 

-               long msgNo = getMessageNumber();

-               if (msgNo <= 0 ){

+       

+       public OMElement toOMElement(OMElement element) throws OMException {

+               if (messageNumber <= 0 ){

                        throw new OMException("Set A Valid Message Number");

                }

-               
messageNoElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(

-                               new Long(msgNo).toString()));

-               messageElement.addChild(messageNoElement);

                

-               return messageElement;

-       }

-       public OMElement getSOAPElement() throws OMException {

-               long msgNo = getMessageNumber();

-               
messageNoElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(new 

-                                       Long(msgNo).toString()));

+               messageNoElement.setText(Long.toString(messageNumber));

+               element.addChild(messageNoElement);

+               

+               messageNoElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(Constants.WSRM.MSG_NUMBER,msgNoNamespace);

                

+               return element;

+       }

+       

+       public OMElement getOMElement() throws OMException {

                return messageNoElement;

        }

+       

        public OMElement getMessageNumberElement(){

                return messageNoElement;

        }


Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Nack.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Nack.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Nack.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Nack.java Mon Sep  
5 02:54:38 2005
@@ -18,6 +18,8 @@
 

 import java.util.Iterator;

 

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

@@ -25,62 +27,75 @@
 import org.apache.axis2.om.OMNode;

 import org.apache.axis2.soap.SOAPEnvelope;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class Nack implements IOMRMElement {

        private OMElement nackElement;

-       private long notAckNumber;

-       OMNamespace nackNamespace =

-               
OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       private long nackNumber;

+       

+       OMNamespace rmNamespace =

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       

        public Nack(){

-               nackElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(

-                               Constants.WSRM.NACK,nackNamespace);

+               nackElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.NACK,rmNamespace);

        }

-       public OMElement getSOAPElement() throws OMException {

-               
nackElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(

-                               new Long(notAckNumber).toString()));

+       

+       public OMElement getOMElement() throws OMException {

                return nackElement;

        }

-       private boolean readNackElement(OMElement element){

-               Iterator iterator = element.getChildren();

-               while(iterator.hasNext()){

-                       OMNode omNode = (OMNode)iterator.next();

-                       if(omNode.getType() != OMNode.ELEMENT_NODE){

-                               continue;

-                       }

-                       OMElement childElement = (OMElement)omNode;

-                       
if(childElement.getLocalName().equals(Constants.WSRM.NACK)){

-                               notAckNumber = 
Long.parseLong(childElement.getText());

-                               return true;

-                       }else{

-                               readNackElement(childElement);

-                       }

+       

+

+       public Object fromOMElement(OMElement nackElement) throws OMException{

+               /*OMElement nackPart = sequenceAckElement.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.NACK));*/

+               

+               if (nackElement==null)

+                       throw new OMException ("Passed seq ack element does not 
contain a nack part");

+               

+               try {

+                       nackNumber = Long.parseLong(nackElement.getText());

+               }catch (Exception ex ) {

+                       throw new OMException ("Nack element does not contain a 
valid long value");

                }

-               return false;   

-       }

-       //duplicate method for the purpose of using comming iteration easily

-       public Object fromSOAPEnvelope(OMElement element) throws OMException{

-               notAckNumber = Long.parseLong(element.getText());

+               

+               nackElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.NACK,rmNamespace);

+               

                return this;

        } 

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

-               readNackElement(envelope);

-               return this;

-       }

-       public OMElement toSOAPEnvelope(OMElement messageElement) throws 
OMException {

-               
nackElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(

-                               new Long(notAckNumber).toString()));

-               messageElement.addChild(nackElement);

-               return messageElement;

-       }

-       public void setNackNumber(long notAckNumber){

-               this.notAckNumber = notAckNumber;

+       

+       public OMElement toOMElement(OMElement sequenceAckElement) throws 
OMException {

+               if (sequenceAckElement==null)

+                       throw new OMException ("Cant set the nack part since 
the seq ack element is null");

+               

+               if (nackNumber<=0)

+                       throw new OMException ("Cant set the nack part since 
the nack number does not have a valid value");

+               

+               if (nackElement==null) 

+                   throw new OMException ("Cant set the nack part since the 
element is null");

+               

+               nackElement.setText(Long.toString(nackNumber));

+               sequenceAckElement.addChild(nackElement);

+

+               nackElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.NACK,rmNamespace);

+               

+               return sequenceAckElement;

        }

-       public long getNackNumber(){

-               return notAckNumber;

+

+       public long getNackNumber() {

+               return nackNumber;

        }

 

+       public void setNackNumber(long nackNumber) {

+               this.nackNumber = nackNumber;

+       }

+       

 }


Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java 
Mon Sep  5 02:54:38 2005
@@ -18,6 +18,7 @@
 

 import java.util.Iterator;

 

+import javax.xml.namespace.QName;

 import javax.xml.stream.XMLOutputFactory;

 import javax.xml.stream.XMLStreamWriter;

 

@@ -30,101 +31,131 @@
 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class RMElements{

-       private Sequence sequenceElement;

-       private SequenceAcknowledgement sequenceAcknowledgementElement;

        

-       private CreateSequence createSequenceElement;

-       private CreateSequenceResponse createSequenceResponseElement;

-       private TerminateSequence terminateSequenceElement;

-

-       public OMElement getSOAPElement() throws OMException {

-               //this mehod has no significant in the code

-               return null;

-       }

+       private Sequence sequence = null;

+       private SequenceAcknowledgement sequenceAcknowledgement = null;

+       private CreateSequence createSequence = null;

+       private CreateSequenceResponse createSequenceResponse = null;

+       private TerminateSequence terminateSequence = null;

+       private AckRequested ackRequested = null;

        

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

-               SOAPHeader soapHeader = envelope.getHeader();

-               Iterator iterator = soapHeader.examineAllHeaderBlocks();

-               while (iterator.hasNext()){

-                       SOAPHeaderBlock childBlock = 
(SOAPHeaderBlock)iterator.next();

-                       if 
(childBlock.getLocalName().equals(Constants.WSRM.SEQUENCE)){

-                               sequenceElement = new Sequence();

-                               childBlock.setMustUnderstand(false);

-                               childBlock.setComplete(true);

-                               sequenceElement.fromSOAPEnvelope(envelope);

-                               

-                       }

-                       if 
(childBlock.getLocalName().equals(Constants.WSRM.SEQUENCE_ACK)){

-                               sequenceAcknowledgementElement = new 
SequenceAcknowledgement();

-                               childBlock.setMustUnderstand(false);

-                               childBlock.setComplete(true);

-                               
sequenceAcknowledgementElement.fromSOAPEnvelope(envelope);

-                       }

+       public void fromSOAPEnvelope(SOAPEnvelope envelope) {

+               

+               if (envelope==null)

+                       throw new OMException ("The passed envelope is null");

+               

+               OMElement sequenceElement = 
envelope.getHeader().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE));

+               if (sequenceElement!=null) {

+                       sequence = new Sequence ();

+                       sequence.fromOMElement(envelope.getHeader());

                }

-               createSequenceElement = new CreateSequence();

-               createSequenceResponseElement = new CreateSequenceResponse();

-               terminateSequenceElement = new TerminateSequence();

                

-               createSequenceElement.fromSOAPEnvelope(envelope);

-               createSequenceResponseElement.fromSOAPEnvelope(envelope);

-               terminateSequenceElement.fromSOAPEnvelope(envelope);

-

-               return this;

-       }

-

-       public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

+               OMElement sequenceAckElement = 
envelope.getHeader().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE_ACK));

+               if (sequenceAckElement!=null) {

+                       sequenceAcknowledgement  = new SequenceAcknowledgement 
();

+                       sequence.fromOMElement(envelope.getHeader());

+               }

+               

+               OMElement createSeqElement = 
envelope.getBody().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.CREATE_SEQUENCE));

+               if (createSeqElement!=null) {

+                       createSequence  = new CreateSequence ();

+                       createSequence.fromOMElement(envelope.getBody());

+               }

                

+               OMElement createSeqResElement = 
envelope.getBody().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.CREATE_SEQUENCE_RESPONSE));

+               if (createSeqResElement!=null) {

+                       createSequenceResponse  = new CreateSequenceResponse ();

+                       
createSequenceResponse.fromOMElement(envelope.getBody());

+               }

+               

+               OMElement terminateSeqElement = 
envelope.getBody().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.TERMINATE_SEQUENCE));

+               if (terminateSeqElement!=null) {

+                       terminateSequence = new TerminateSequence ();

+                       terminateSequence.fromOMElement(envelope.getBody());

+               }

                

-               if(sequenceElement != null){

-                       sequenceElement.toSOAPEnvelope(envelope);

+               OMElement ackRequestedElement = 
envelope.getHeader().getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.ACK_REQUESTED));

+               if (ackRequestedElement!=null) {

+                       ackRequested = new AckRequested ();

+                       ackRequested.fromOMElement(envelope.getHeader());

+               }       

+       }

+

+       public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope)  {

+               if(sequence != null){

+                       sequence.toOMElement(envelope.getHeader());

                }

-               if ( sequenceAcknowledgementElement != null) {

-                       sequenceAcknowledgementElement.toSOAPEnvelope(envelope);

+               if ( sequenceAcknowledgement != null) {

+                       
sequenceAcknowledgement.toOMElement(envelope.getHeader());

                }

-               if ( createSequenceElement != null){

-                       createSequenceElement.toSOAPEnvelope(envelope);

+               if ( createSequence != null){

+                       createSequence.toOMElement(envelope.getBody());

                }

-               if (createSequenceResponseElement != null){

-                       createSequenceResponseElement.toSOAPEnvelope(envelope);

+               if (createSequenceResponse != null){

+                       createSequenceResponse.toOMElement(envelope.getBody());

                }

-               if (terminateSequenceElement != null){

-                       terminateSequenceElement.toSOAPEnvelope(envelope);

+               if (terminateSequence != null){

+                       terminateSequence.toOMElement(envelope.getBody());

+               }

+               if (ackRequested != null){

+                       ackRequested.toOMElement(envelope.getBody());

                }

                return envelope;

        }

+       

        public CreateSequence getCreateSequence(){

-               return createSequenceElement;

+               return createSequence;

        }

        public CreateSequenceResponse getCreateSequenceResponse(){

-               return createSequenceResponseElement;

+               return createSequenceResponse;

        }

        public Sequence getSequence(){

-               return sequenceElement;

+               return sequence;

        }

        public SequenceAcknowledgement getSequenceAcknowledgement(){

-               return sequenceAcknowledgementElement;

+               return sequenceAcknowledgement;

        }

        public TerminateSequence getTerminateSequence(){

-               return terminateSequenceElement;

+               return terminateSequence;

        }

+       

        public void setCreateSequence(CreateSequence createSequence){

-               createSequenceElement = createSequence;

+               this.createSequence = createSequence;

        }

+       

        public void setCreateSequenceResponse(CreateSequenceResponse 
createSequenceResponse){

-               createSequenceResponseElement = createSequenceResponse;

+               this.createSequenceResponse = createSequenceResponse;

        }

+       

        public void setSequence(Sequence sequence){

-               sequenceElement = sequence;

+               this.sequence = sequence;

        }

+       

        public void setSequenceAcknowledgement(SequenceAcknowledgement 
sequenceAcknowledgement){

-               sequenceAcknowledgementElement = sequenceAcknowledgement;

+               this.sequenceAcknowledgement = sequenceAcknowledgement;

        }

+       

        public void setTerminateSequence(TerminateSequence terminateSequence){

-               terminateSequenceElement = terminateSequence;

+               this.terminateSequence = terminateSequence;

        }

        

-       

+

+       public AckRequested getAckRequested() {

+               return ackRequested;

+       }

+

+       public void setAckRequested(AckRequested ackRequested) {

+               this.ackRequested = ackRequested;

+       }

 }


Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Sequence.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Sequence.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Sequence.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/Sequence.java Mon 
Sep  5 02:54:38 2005
@@ -16,75 +16,111 @@
  */

 package org.apache.sandesha2.wsrm;

 

+import java.util.Iterator;

+

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

 import org.apache.axis2.om.OMNamespace;

+import org.apache.axis2.soap.SOAPBody;

 import org.apache.axis2.soap.SOAPEnvelope;

 import org.apache.axis2.soap.SOAPHeader;

 import org.apache.axis2.soap.SOAPHeaderBlock;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

 

+

 public class Sequence implements IOMRMElement {

 

        private OMElement sequenceElement;

+       

        private Identifier identifier;

        private MessageNumber messageNumber;

-       private LastMessage lastMessage;

+       private LastMessage lastMessage = null;

        

        OMNamespace seqNoNamespace =

-               
OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       

        public Sequence(){

-               sequenceElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(Constants.WSRM.SEQUENCE,seqNoNamespace);

+               sequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                               
.createOMElement(Constants.WSRM.SEQUENCE,seqNoNamespace);

        }

-       public OMElement getSOAPElement() throws OMException {

-               sequenceElement.addChild(identifier.getSOAPElement());

-               sequenceElement.addChild(messageNumber.getSOAPElement());

-               sequenceElement.addChild(lastMessage.getSOAPElement());

+       

+       public OMElement getOMElement() throws OMException {

                return sequenceElement;

        }

 

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

+       public Object fromOMElement(OMElement headerElement) throws OMException 
{

+               

+               SOAPHeader header = (SOAPHeader) headerElement;

+               if (header==null)

+                       throw new OMException ("Sequence element cannot be 
added to non-header element");

+               

+               OMElement sequencePart = 
sequenceElement=headerElement.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE));

+               if (sequencePart==null)

+                       throw new OMException ("Cannot find Sequence element in 
the given element");

+               

+               sequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                       
.createOMElement(Constants.WSRM.SEQUENCE,seqNoNamespace);

+               

                identifier = new Identifier();

-               lastMessage = new LastMessage();

                messageNumber = new MessageNumber();

-               identifier.fromSOAPEnvelope(envelope);

-               messageNumber.fromSOAPEnvelope(envelope);

-               lastMessage.fromSOAPEnvelope(envelope);

+               identifier.fromOMElement(sequencePart);

+               messageNumber.fromOMElement(sequencePart);

+

+               OMElement lastMessageElement = 
sequencePart.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.LAST_MSG));

+               

+               if (lastMessageElement!=null){

+                       lastMessage = new LastMessage(); 

+                       lastMessage.fromOMElement(sequencePart);

+               }

+               

                return this;

        }

        

-       public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {

-               //soapelevement will be given here. 

-               SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;

+       public OMElement toOMElement(OMElement headerElement) throws 
OMException {

+               

+               if (headerElement==null || !(headerElement instanceof 
SOAPHeader))

+                       throw new OMException ("Cant add Sequence Part to a 
non-header element");

+

+               SOAPHeader soapHeader = (SOAPHeader) headerElement;

+               if (soapHeader==null)

+                       throw new OMException ("cant add the sequence part to a 
non-header element");

+               if (sequenceElement==null)

+                       throw new OMException ("cant add Sequence Part since 
Sequence is null");

+               if (identifier==null)

+                       throw new OMException ("Cant add Sequence part since 
identifier is null");

+               if (messageNumber==null)

+                       throw new OMException ("Cant add Sequence part since 
MessageNumber is null");

                

-               SOAPHeader soapHeader = soapEnvelope.getHeader();

+               

+        identifier.toOMElement(sequenceElement);

+        messageNumber.toOMElement(sequenceElement);

+               if (lastMessage != null) 

+            lastMessage.toOMElement (sequenceElement);

+

                SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(

                                Constants.WSRM.SEQUENCE,seqNoNamespace);

                soapHeaderBlock.setMustUnderstand(true);

+               soapHeaderBlock.addChild(sequenceElement);

                

-               if (lastMessage != null) {

-            lastMessage.toSOAPEnvelope(soapHeaderBlock);

-        }

-

-        if (identifier != null) {

-            identifier.toSOAPEnvelope(soapHeaderBlock);

-        }

-

-        if (messageNumber != null) {

-            messageNumber.toSOAPEnvelope(soapHeaderBlock);

-        }

+               //resetting the element. So that subsequest toOMElement calls 
will attach a different object.

+               sequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                       
.createOMElement(Constants.WSRM.SEQUENCE,seqNoNamespace); 

                

-               return envelope;

-       }

-       public void addChildElement(OMElement element) throws OMException{

-               sequenceElement.addChild(element);

+               return headerElement;

        }

+       

        

        public Identifier getIdentifier(){

                return identifier;


Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
 Mon Sep  5 02:54:38 2005
@@ -20,6 +20,10 @@
 import java.util.LinkedList;

 import java.util.List;

 

+import javax.xml.namespace.QName;

+import javax.xml.stream.XMLOutputFactory;

+import javax.xml.stream.XMLStreamWriter;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

@@ -29,135 +33,148 @@
 import org.apache.axis2.soap.SOAPHeader;

 import org.apache.axis2.soap.SOAPHeaderBlock;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class SequenceAcknowledgement implements IOMRMElement {

        private OMElement sequenceAcknowledgementElement;

        private Identifier identifier;

-       private List acknowledgementRanges;

+       private List acknowledgementRangeList;

        private List nackList;

-       OMNamespace seqAcksNamespace =

-               
OMAbstractFactory.getSOAP11Factory().createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       

+       OMNamespace rmNamespace =

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(Constants.WSRM.NS_URI_RM,
 Constants.WSRM.NS_PREFIX_RM);

+       

        public SequenceAcknowledgement(){

-               sequenceAcknowledgementElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(

-                               Constants.WSRM.SEQUENCE_ACK,seqAcksNamespace);

-               acknowledgementRanges = new LinkedList();

+               sequenceAcknowledgementElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_ACK,rmNamespace);

+               acknowledgementRangeList = new LinkedList();

                nackList = new LinkedList();

        }

-       public OMElement getSOAPElement() throws OMException {

-               Iterator iterator = acknowledgementRanges.iterator();

-               while(iterator.hasNext()){

-                       AcknowledgementRange range = 
(AcknowledgementRange)iterator.next();

-                       sequenceAcknowledgementElement.addChild(

-                                       range.getSOAPElement());

-                       

-               }

-               iterator = nackList.iterator();

-               while(iterator.hasNext()){

-                       Nack nack = (Nack)iterator.next();

-                       sequenceAcknowledgementElement.addChild(

-                                       nack.getSOAPElement());

-               }

-               
sequenceAcknowledgementElement.addChild(identifier.getSOAPElement());

+       

+       public OMElement getOMElement() throws OMException {

                return sequenceAcknowledgementElement;

        }

 

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

-               identifier = new Identifier();

-               SOAPHeader soapHeader = envelope.getHeader();

-               Iterator iterator = soapHeader.getChildren();

-               while (iterator.hasNext()){

-                       OMNode omNode = (OMNode) iterator.next();

-                       

-                       if (!(omNode instanceof OMElement)) {

-                               continue;

-                       }

-                       OMElement omElement = (OMElement) omNode;

+       public Object fromOMElement(OMElement element) throws OMException {

+               

+

+               

+               if (element==null || !(element instanceof SOAPHeader)) 

+                       throw new OMException ("Cant get sequence 
acknowlegement from a non-header element");

+               

+               SOAPHeader header = (SOAPHeader) element;

+               OMElement sequenceAckPart = header.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE_ACK));

+               

+               if (sequenceAckPart==null)

+                       throw new OMException ("The passed element does not 
contain a seqence ackknowledgement Part");

+               

+

+               

+               identifier = new Identifier ();

+               identifier.fromOMElement(sequenceAckPart);

+               

+

+               Iterator ackRangeParts = sequenceAckPart.getChildrenWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.ACK_RANGE));

+               

+               while (ackRangeParts.hasNext()) {

+                       OMElement ackRangePart = (OMElement) 
ackRangeParts.next();      

                        

-                       if 
(omElement.getLocalName().equals(Constants.WSRM.SEQUENCE_ACK)){

-                               Iterator childIterator = 
omElement.getChildren();

-                               while (childIterator.hasNext()){

-                                       OMNode childOMNode = (OMNode) 
childIterator.next();

-                                       

-                                       if (!(childOMNode instanceof 
OMElement)) {

-                                               continue;

-                                       }

-                                       

-                                       OMElement childElement = (OMElement) 
childOMNode;

-                                       

-                                       if 
(childElement.getLocalName().equals(Constants.WSRM.ACK_RANGE)){

-                                               AcknowledgementRange ackRange = 
new AcknowledgementRange();

-                                               
ackRange.fromSOAPEnvelope(childElement);

-                                               
acknowledgementRanges.add(ackRange);

-                                       }

-                                       

-                                       if 
(childElement.getLocalName().equals(Constants.WSRM.NACK)){

-                                               Nack nack = new Nack(); 

-                                               
nack.fromSOAPEnvelope(childElement);

-                                               nackList.add(nack);

-                                       }

-                                       

-                                       if ( 
childElement.getLocalName().equals(Constants.WSRM.IDENTIFIER)){

-                                               identifier = new Identifier();

-                                               
identifier.fromSOAPEnvelope(envelope);

-                                       }

-                               }

-                       }

+                       AcknowledgementRange ackRange = new 
AcknowledgementRange ();

+                       ackRange.fromOMElement (ackRangePart);

+                       acknowledgementRangeList.add(ackRange);

+               }

+               

+               Iterator nackParts = sequenceAckPart.getChildrenWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.NACK));

+               

+               while (nackParts.hasNext()) {

+                       OMElement nackPart = (OMElement) nackParts.next();      

+                       Nack nack = new Nack ();

+                       nack.fromOMElement (nackPart);

+                       nackList.add(nack);

                }

                

+               sequenceAcknowledgementElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_ACK,rmNamespace);

+               

                return this;

        }

 

-       public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {

-               SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;

-               SOAPHeader soapHeader = soapEnvelope.getHeader();

-               SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(

-                               Constants.WSRM.SEQUENCE_ACK,seqAcksNamespace);

-               soapHeaderBlock.setMustUnderstand(true);

-               //adding ackRanges

-               Iterator iterator = acknowledgementRanges.iterator();

-               while(iterator.hasNext()){

-                       AcknowledgementRange ackRange = 
(AcknowledgementRange)iterator.next();

-                       ackRange.toSOAPEnvelope(soapHeaderBlock);

-               }

-               iterator = nackList.iterator();

-               while(iterator.hasNext()){

-                       Nack nack = (Nack)iterator.next();

-                       nack.toSOAPEnvelope(soapHeaderBlock);

+       public OMElement toOMElement(OMElement header) throws OMException {

+               

+               if (header==null || !(header instanceof SOAPHeader))

+                       throw new OMException ();

+               

+               SOAPHeader SOAPHeader = (SOAPHeader) header;

+               

+               if (sequenceAcknowledgementElement==null)

+                       throw new OMException ("Cant set sequence 
acknowledgement since the element is null");

+               

+               if (identifier==null)

+                       throw new OMException ("Cant set the sequence since 
Identifier is null");

+               

+               identifier.toOMElement(sequenceAcknowledgementElement);

+               

+               Iterator ackRangeIt = acknowledgementRangeList.iterator();

+               while (ackRangeIt.hasNext()) {

+                       AcknowledgementRange ackRange = (AcknowledgementRange) 
ackRangeIt.next();

+                       ackRange.toOMElement (sequenceAcknowledgementElement);

                }

-               if ( identifier != null){

-                       identifier.toSOAPEnvelope(soapHeaderBlock);

+               

+               Iterator nackIt = nackList.iterator();

+               while (nackIt.hasNext()) {

+                       Nack nack = (Nack) nackIt.next();

+                       nack.toOMElement (sequenceAcknowledgementElement);

                }

-               return envelope;

+               

+               SOAPHeader.addChild(sequenceAcknowledgementElement);

+               

+               sequenceAcknowledgementElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_ACK,rmNamespace);

+               

+               return header;

        }

+       

        public void setIdentifier(Identifier identifier){

                this.identifier = identifier;

        }

+       

        public void setAckRanges(List acknowledgementRagngesList){

-               acknowledgementRanges = acknowledgementRagngesList;

+               acknowledgementRangeList = acknowledgementRagngesList;

        }

+       

        public Nack addNackRangges(Nack nack){

                nackList.add(nack);

                return nack;

        }

+       

        public AcknowledgementRange 
addAcknowledgementRanges(AcknowledgementRange ackRange){

-               acknowledgementRanges.add(ackRange);

+               acknowledgementRangeList.add(ackRange);

                return ackRange;

        }

+       

        public Identifier getIdentifier(){

                return identifier;

        }

+       

        public List getAcknowledgementRanges(){

-               return acknowledgementRanges;

+               return acknowledgementRangeList;

        }

+       

        public List getNackList(){

                return nackList;

        }

+       

        public void addChildElement(OMElement element){

-               acknowledgementRanges.add(element);

+               acknowledgementRangeList.add(element);

        }

 

 }


Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java 
Mon Sep  5 02:54:38 2005
@@ -18,6 +18,10 @@
 

 import java.util.Iterator;

 

+import javax.wsdl.extensions.soap.SOAPBinding;

+import javax.wsdl.extensions.soap.SOAPBody;

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

@@ -26,71 +30,80 @@
 import org.apache.axis2.soap.SOAPHeader;

 import org.apache.axis2.soap.SOAPHeaderBlock;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class SequenceFault implements IOMRMElement {

        private OMElement sequenceFaultElement;

        private FaultCode faultCode;

        

-       OMNamespace sequenceFaultNameSpace = 

-               OMAbstractFactory.getSOAP11Factory().createOMNamespace(

+       OMNamespace rmNamespace = 

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(

                                Constants.WSRM.NS_URI_RM, 
Constants.WSRM.NS_PREFIX_RM);

+       

        public SequenceFault(){

-               sequenceFaultElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(

-                               
Constants.WSRM.SEQUENCE_FAULT,sequenceFaultNameSpace);

+               sequenceFaultElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_FAULT,rmNamespace);

        }

-       public OMElement getSOAPElement() throws OMException {

-               sequenceFaultElement.addChild(faultCode.getSOAPElement());

+       

+       public OMElement getOMElement() throws OMException {

                return sequenceFaultElement;

        }

 

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

-               //only for fault thus not intereated in refactoring

-               Iterator iterator = envelope.getChildren();

-               OMElement childElement;

-               OMElement siblings;

-               OMElement grandSiblings;

-               while(iterator.hasNext()){

-                       childElement = (OMElement)iterator.next();

-                       Iterator iteSib1 = childElement.getChildren();

-                       while(iteSib1.hasNext()){

-                               siblings = (OMElement)iteSib1.next();

-                               Iterator iteSib2 = siblings.getChildren(); 

-                               while(iteSib2.hasNext()){

-                                       grandSiblings = 
(OMElement)iteSib2.next();

-                                       
if(grandSiblings.getLocalName().equals(Constants.WSRM.SEQUENCE_FAULT)){

-                                               faultCode = new FaultCode();

-                                               
faultCode.fromSOAPEnvelope(envelope);

-                                       }

-                               }

-                       }

+       public Object fromOMElement(OMElement body) throws OMException {

+               

+               if (body==null || !(body instanceof SOAPBody))

+                       throw new OMException ("Cant get Sequence Fault part 
from a non-header element");

+               

+               OMElement sequenceFaultPart = body.getFirstChildWithName( 

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE_FAULT));

+               

+               if (sequenceFaultPart==null)

+                       throw new OMException ("The passed element does not 
contain a Sequence Fault element");

+               

+               OMElement faultCodePart = 
sequenceFaultPart.getFirstChildWithName( 

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.FAULT_CODE));

+               

+               if (faultCodePart!=null) {

+                   faultCode = new FaultCode ();

+                   faultCode.fromOMElement(sequenceFaultPart);

                }

+               

+               sequenceFaultElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_FAULT,rmNamespace);

+               

                return this;

+               

        }

 

-       public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {

-//             soapelevement will be given here. 

-               SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;

-               

-               SOAPHeader soapHeader = soapEnvelope.getHeader();

-               SOAPHeaderBlock soapHeaderBlock = soapHeader.addHeaderBlock(

-                               
Constants.WSRM.SEQUENCE_FAULT,sequenceFaultNameSpace);

-               soapHeaderBlock.setMustUnderstand(true);

-               

+       public OMElement toOMElement(OMElement body) throws OMException {

+

+               if (body==null || !(body instanceof SOAPBody))

+                       throw new OMException ("Cant get Sequence Fault part 
from a non-header element");

+

+               if (sequenceFaultElement==null)

+                       throw new OMException ("Cant add the sequnce fault 
since the internal element is null");

                

-        if (faultCode != null) {

-            faultCode.toSOAPEnvelope(soapHeaderBlock);

-        }

+               if (faultCode!=null) 

+                       faultCode.toOMElement(sequenceFaultElement);

                

-               return envelope;

+               body.addChild(sequenceFaultElement);

+

+               sequenceFaultElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                               Constants.WSRM.SEQUENCE_FAULT,rmNamespace);

                

+               return body;

        }

+       

        public void setFaultCode(FaultCode faultCode){

                this.faultCode = faultCode;

        }

+       

        public FaultCode getFaultCode(){

                return faultCode;

        }


Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceOffer.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceOffer.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceOffer.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceOffer.java 
Mon Sep  5 02:54:38 2005
@@ -16,53 +16,87 @@
  */

 package org.apache.sandesha2.wsrm;

 

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

 import org.apache.axis2.om.OMNamespace;

 import org.apache.axis2.soap.SOAPEnvelope;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class SequenceOffer implements IOMRMElement {

        private OMElement sequenceOfferElement;

-       private Identifier identifier;

+       private Identifier identifier=null;

+       private Expires expires=null;

        

-       OMNamespace sequenceOfferNameSpace = 

-               OMAbstractFactory.getSOAP11Factory().createOMNamespace(

+       OMNamespace rmNamespace = 

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(

                                Constants.WSRM.NS_URI_RM, 
Constants.WSRM.NS_PREFIX_RM);

+       

        public SequenceOffer(){

-               sequenceOfferElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(

-                               
Constants.WSRM.SEQUENCE_OFFER,sequenceOfferNameSpace);

-       }

-       public void addChildElement(OMElement element) throws OMException{

-               sequenceOfferElement.addChild(element);

+               sequenceOfferElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                                       
.createOMElement(Constants.WSRM.SEQUENCE_OFFER,rmNamespace);

        }

        

-       public OMElement getSOAPElement() throws OMException {

-               sequenceOfferElement.addChild(identifier.getSOAPElement());

+       public OMElement getOMElement() throws OMException {

                return sequenceOfferElement;

        }

 

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

+       public Object fromOMElement(OMElement createSequenceElement) throws 
OMException {

+               OMElement sequenceOfferPart = 
createSequenceElement.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.SEQUENCE_OFFER));

+               if (sequenceOfferPart==null)

+                       throw new OMException("The passed element does not 
contain a SequenceOffer part");

+               

+               sequenceOfferElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(
 

+                                                                       
Constants.WSRM.SEQUENCE_OFFER,rmNamespace);

+               

                identifier = new Identifier();

-               identifier.fromSOAPEnvelope(envelope);

+               identifier.fromOMElement(sequenceOfferPart);

+               

+               OMElement expiresPart = sequenceOfferPart.getFirstChildWithName(

+                               new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.EXPIRES));

+               if(expiresPart!=null){

+                       expires = new Expires ();

+                       expires.fromOMElement(sequenceOfferElement);

+               }

+               

                return this;

        }

 

-       public OMElement toSOAPEnvelope(OMElement messageElement) throws 
OMException {

-               if (identifier != null){

-                       identifier.toSOAPEnvelope(sequenceOfferElement);

+       public OMElement toOMElement(OMElement createSequenceElement) throws 
OMException {

+               if(sequenceOfferElement==null)

+                       throw new OMException ("Cant set sequnceoffer. Offer 
element is null");

+               if (identifier==null)

+                       throw new OMException ("Cant set sequnceOffer since 
identifier is null");

+

+               

+           identifier.toOMElement(sequenceOfferElement);

+           

+               if(expires!=null) {

+                       expires.toOMElement(sequenceOfferElement);

                }

-               messageElement.addChild(sequenceOfferElement);

-               return messageElement;

+               

+               createSequenceElement.addChild(sequenceOfferElement);

+                       

+               sequenceOfferElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMElement(

+                                                                       
Constants.WSRM.SEQUENCE_OFFER,rmNamespace);

+               

+               return createSequenceElement;

        }

+       

        public Identifier getIdentifer(){

                return identifier;

        }

+       

        public void setIdentifier(Identifier identifier){

                this.identifier = identifier;           

        }


Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/TerminateSequence.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/TerminateSequence.java?rev=278707&r1=278706&r2=278707&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/TerminateSequence.java 
(original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/TerminateSequence.java 
Mon Sep  5 02:54:38 2005
@@ -16,6 +16,8 @@
  */

 package org.apache.sandesha2.wsrm;

 

+import javax.xml.namespace.QName;

+

 import org.apache.axis2.om.OMAbstractFactory;

 import org.apache.axis2.om.OMElement;

 import org.apache.axis2.om.OMException;

@@ -23,46 +25,77 @@
 import org.apache.axis2.soap.SOAPBody;

 import org.apache.axis2.soap.SOAPEnvelope;

 import org.apache.sandesha2.Constants;

+import org.apache.sandesha2.SOAPAbstractFactory;

 

 /**

  * @author Saminda

- *

+ * @author chamikara

+ * @author sanka

  */

+

 public class TerminateSequence implements IOMRMElement {

+    

        private OMElement terminateSequenceElement;

        private Identifier identifier;

        

-       OMNamespace terminateSequenceNameSpace = 

-               OMAbstractFactory.getSOAP11Factory().createOMNamespace(

+       OMNamespace rmNameSpace = 

+               
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION).createOMNamespace(

                                Constants.WSRM.NS_URI_RM, 
Constants.WSRM.NS_PREFIX_RM);

+       

        public TerminateSequence(){

-               terminateSequenceElement = 
OMAbstractFactory.getSOAP11Factory().createOMElement(

-                               
Constants.WSRM.TERMINATE_SEQUENCE,terminateSequenceNameSpace);

+               terminateSequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                                       
.createOMElement(Constants.WSRM.TERMINATE_SEQUENCE,rmNameSpace);

        }

-       public OMElement getSOAPElement() throws OMException {

-               terminateSequenceElement.addChild(identifier.getSOAPElement());

+       

+       public OMElement getOMElement() throws OMException {

                return terminateSequenceElement;

        }

-       public void addChild(OMElement element){

-               terminateSequenceElement.addChild(element);

-       }

-       public Object fromSOAPEnvelope(SOAPEnvelope envelope) throws 
OMException {

+       

+       public Object fromOMElement(OMElement body) throws OMException {

+           

+           if (!(body instanceof SOAPBody))

+               throw new OMException ("Cant add terminate sequence to a non 
body element");

+           

+           OMElement terminateSeqPart = body.getFirstChildWithName(

+                   new QName 
(Constants.WSRM.NS_URI_RM,Constants.WSRM.TERMINATE_SEQUENCE));

+           

+           if (terminateSeqPart==null)

+               throw new OMException ("passed element does not contain a 
terminate sequence part");

+           

                identifier = new Identifier();

-               identifier.fromSOAPEnvelope(envelope);

+               identifier.fromOMElement(terminateSeqPart);

+               

+               terminateSequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                                       
.createOMElement(Constants.WSRM.TERMINATE_SEQUENCE,rmNameSpace);

+               

                return this;

        }

-       public OMElement toSOAPEnvelope(OMElement envelope) throws OMException {

-               SOAPEnvelope soapEnvelope = (SOAPEnvelope)envelope;

-               SOAPBody soapBody = soapEnvelope.getBody();

-               if (identifier != null){

-                       identifier.toSOAPEnvelope(terminateSequenceElement);

-               }

-               soapBody.addChild(terminateSequenceElement);

-               return envelope;

+       

+       public OMElement toOMElement(OMElement body) throws OMException {

+           

+           if (body==null || !(body instanceof SOAPBody))

+               throw new OMException ("Cant add terminate sequence to a 
nonbody element");

+

+           if (terminateSequenceElement==null)

+               throw new OMException ("Cant add terminate sequnce since the 
internal element is null");

+           

+           if (identifier==null)

+               throw new OMException ("Cant add terminate sequence since 
identifier is not set");

+           

+               

+               identifier.toOMElement(terminateSequenceElement);

+               body.addChild(terminateSequenceElement);

+               

+               terminateSequenceElement = 
SOAPAbstractFactory.getSOAPFactory(Constants.DEFAULT_SOAP_VERSION)

+                                                       
.createOMElement(Constants.WSRM.TERMINATE_SEQUENCE,rmNameSpace);

+

+               return body;

        }

+       

        public Identifier getIdentifier(){

                return identifier;

        }

+       

        public void setIdentifier(Identifier identifier){

                this.identifier = identifier;

        }




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

Reply via email to