[jbossws-commits] JBossWS SVN: r4509 - in stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm: spi and 1 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Fri Aug 31 11:48:18 EDT 2007


Author: richard.opalka at jboss.com
Date: 2007-08-31 11:48:18 -0400 (Fri, 31 Aug 2007)
New Revision: 4509

Added:
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/MessageFactory.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/AckRequested.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequence.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequenceResponse.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequence.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequenceResponse.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/IncompleteSequenceBehavior.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/Sequence.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceAcknowledgement.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFault.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFaultCode.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequence.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequenceResponse.java
   stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/XMLSerializable.java
Log:
Adding WS-RM SPI facade

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/MessageFactory.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/MessageFactory.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/MessageFactory.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi;
+
+import org.jboss.ws.extensions.wsrm.spi.protocol.AckRequested;
+import org.jboss.ws.extensions.wsrm.spi.protocol.CloseSequence;
+import org.jboss.ws.extensions.wsrm.spi.protocol.CloseSequenceResponse;
+import org.jboss.ws.extensions.wsrm.spi.protocol.CreateSequence;
+import org.jboss.ws.extensions.wsrm.spi.protocol.CreateSequenceResponse;
+import org.jboss.ws.extensions.wsrm.spi.protocol.Sequence;
+import org.jboss.ws.extensions.wsrm.spi.protocol.SequenceAcknowledgement;
+import org.jboss.ws.extensions.wsrm.spi.protocol.SequenceFault;
+import org.jboss.ws.extensions.wsrm.spi.protocol.TerminateSequence;
+import org.jboss.ws.extensions.wsrm.spi.protocol.TerminateSequenceResponse;
+
+/**
+ * WS-RM protocol elements SPI facade. Each WS-RM provider must implement this interface.
+ *
+ * @author richard.opalka at jboss.com
+ */
+public interface MessageFactory
+{
+   /**
+    * Factory method
+    * @return new CreateSequence instance
+    */
+   CreateSequence newCreateSequence();
+
+   /**
+    * Factory method
+    * @return new CreateSequenceResponse instance
+    */
+   CreateSequenceResponse newCreateSequenceResponse();
+
+   /**
+    * Factory method
+    * @return new CloseSequence instance or null if this message is not supported by underlying WS-RM provider
+    */
+   CloseSequence newCloseSequence();
+
+   /**
+    * Factory method
+    * @return new CloseSequenceResponse instance or null if this message is not supported by underlying WS-RM provider
+    */
+   CloseSequenceResponse newCloseSequenceResponse();
+
+   /**
+    * Factory method
+    * @return new TerminateSequence instance
+    */
+   TerminateSequence newTerminateSequence();
+
+   /**
+    * Factory method
+    * @return new TerminateSequenceResponse instance or null if this message is not supported by underlying WS-RM provider
+    */
+   TerminateSequenceResponse newTerminateSequenceResponse();
+
+   /**
+    * Factory method
+    * @return new Sequence instance
+    */
+   Sequence newSequence();
+
+   /**
+    * Factory method
+    * @return new AckRequested instance
+    */
+   AckRequested newAckRequested();
+
+   /**
+    * Factory method
+    * @return new SequenceAcknowledgement instance
+    */
+   SequenceAcknowledgement newSequenceAcknowledgement();
+   
+   /**
+    * Factory method
+    * @return new SequenceFault instance
+    */
+   SequenceFault newSequenceFault();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/MessageFactory.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi;
+
+/**
+ * WS-RM Provider SPI facade. Each WS-RM provider must override this class.
+ *
+ * @author richard.opalka at jboss.com
+ */
+public abstract class Provider
+{
+   /**
+    * Must be overriden in the subclasses
+    * @param targetNamespace
+    */
+   protected Provider(String targetNamespace)
+   {
+   }
+   
+   /**
+    * Returns the namespace associated with current WS-RM provider implementation
+    * @return
+    */
+   public abstract String getNamespaceURI();
+   
+   /**
+    * Returns WS-RM provider specific message factory
+    * @return message factory
+    */
+   public abstract MessageFactory getMessageFactory();
+   
+   /**
+    * Gets WS-RM provider by <b>wsrmNamespace</b>
+    * @param namespace associated with the WS-RM provider
+    * @return WS-RM provider instance
+    * @throws IllegalArgumentException if specified <b>wsrmNamespace</b> has no associated WS-RM provider 
+    */
+   public static Provider getInstance(String wsrmNamespace)
+   {
+      return null; // TODO: implement
+   }
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/Provider.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/AckRequested.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/AckRequested.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/AckRequested.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>AckRequested</b> element requests an Acknowledgement for the identified Sequence.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:AckRequested ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     &lt;wsrm:MessageNumber&gt; xs:unsignedLong &lt;/wsrm:MessageNumber&gt; ?
+ *     ... 
+ * &lt;/wsrm:AckRequested&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface AckRequested extends XMLSerializable
+{
+   /**
+    * An RM Source that includes an <b>AckRequested</b> header block in a SOAP envelope MUST include
+    * this element in that header block. The RM Source MUST set the value of this element to the
+    * absolute URI, (conformant with RFC3986), that uniquely identifies the Sequence to which the
+    * request applies.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * This optional element, if present, MUST contain an <b>xs:unsignedLong</b> representing the highest
+    * <b>MessageNumber</b> sent by the RM Source within a Sequence. If present, it MAY be treated
+    * as a hint to the RM Destination as an optimization to the process of preparing to transmit a
+    * <b>SequenceAcknowledgement</b>.
+    * @param lastMessageId
+    */
+   void setMessage(long lastMessageId);
+   
+   /**
+    * Getter
+    * @return last message number in the sequence
+    */
+   long getMessage();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/AckRequested.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequence.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequence.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequence.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>CloseSequence</b> element MAY be sent by an RM Source to indicate that the RM Destination MUST NOT
+ * accept any new messages for this Sequence This element MAY also be sent by an RM
+ * Destination to indicate that it will not accept any new messages for this Sequence.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:CloseSequence ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     &lt;wsrm:LastMsgNumber&gt; wsrm:MessageNumberType &lt;/wsrm:LastMsgNumber&gt; ?
+ *     ... 
+ * &lt;/wsrm:CloseSequence&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface CloseSequence extends XMLSerializable
+{
+   /**
+    * The RM Source or RM Destination MUST include this element in any <b>CloseSequence</b> messages it
+    * sends. The RM Source or RM Destination MUST set the value of this element to the absolute URI
+    * (conformant with RFC3986) of the closing Sequence.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+   
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * The RM Source SHOULD include this element in any <b>CloseSequence</b> message it sends. The
+    * <b>LastMsgNumber</b> element specifies the highest assigned message number of all the Sequence
+    * Traffic Messages for the closing Sequence.
+    * @param lastMsgNumber
+    */
+   void setLastMsgNumber(long lastMsgNumber);
+   
+   /**
+    * Getter
+    * @return last message number
+    */
+   void getLastMsgNumber();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequence.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequenceResponse.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequenceResponse.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequenceResponse.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>CloseSequenceResponse</b> element is sent in the body of a message in response to receipt of a <b>CloseSequence</b>
+ * request message. It indicates that the responder has closed the Sequence.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:CloseSequenceResponse ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     ... 
+ * &lt;/wsrm:CloseSequenceResponse&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface CloseSequenceResponse extends XMLSerializable
+{
+   /**
+    * The responder (RM Source or RM Destination) MUST include this element in any
+    * <b>CloseSequenceResponse</b> message it sends. The responder MUST set the value of this
+    * element to the absolute URI (conformant with RFC3986) of the closing Sequence.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CloseSequenceResponse.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequence.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequence.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequence.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,180 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>CreateSequence</b> element requests creation of a new Sequence between the RM Source that sends it, and the
+ * RM Destination to which it is sent. The RM Source MUST NOT send this element as a header
+ * block. The RM Destination MUST respond either with a <b>CreateSequenceResponse</b> response
+ * message or a <b>CreateSequenceRefused</b> fault.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:CreateSequence ...&gt;
+ *     &lt;wsrm:AcksTo&gt; wsa:EndpointReferenceType &lt;/wsrm:AcksTo&gt;
+ *     &lt;wsrm:Expires ...&gt; xs:duration &lt;/wsrm:Expires&gt; ?
+ *     &lt;wsrm:Offer ...&gt;
+ *         &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *         &lt;wsrm:Endpoint&gt; wsa:EndpointReferenceType &lt;/wsrm:Endpoint&gt;
+ *         &lt;wsrm:Expires ...&gt; xs:duration &lt;/wsrm:Expires&gt; ?
+ *         &lt;wsrm:IncompleteSequenceBehavior&gt;
+ *             wsrm:IncompleteSequenceBehaviorType
+ *         &lt;/wsrm:IncompleteSequenceBehavior&gt; ?
+ *          ... 
+ *     &lt;/wsrm:Offer&gt; ?
+ *     ... 
+ * &lt;/wsrm:CreateSequence&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface CreateSequence extends XMLSerializable
+{
+   /**
+    * <p>The RM Source MUST include this element in any CreateSequence message it sends. This
+    * element is of type wsa:EndpointReferenceType (as specified by WS-Addressing). It specifies
+    * the endpoint reference to which messages containing SequenceAcknowledgement header
+    * blocks and faults related to the created Sequence are to be sent, unless otherwise noted in this
+    * specification.</p>
+    * <p>Implementations MUST NOT use an endpoint reference in the AcksTo element that would prevent
+    * the sending of Sequence Acknowledgements back to the RM Source. For example, using the WS-Addressing
+    * "http://www.w3.org/2005/08/addressing/none" URI would make it impossible for the RM
+    * Destination to ever send Sequence Acknowledgements.</p>
+    * @param address
+    */
+   void setAcksTo(String address);
+   
+   /**
+    * Getter
+    * @return address
+    */
+   String getAcksTo();
+
+   /**
+    * This element, if present, of type <b>xs:duration</b> specifies the RM Source's requested duration for
+    * the Sequence. The RM Destination MAY either accept the requested duration or assign a lesser
+    * value of its choosing. A value of <b>&quot;PT0S&quot;</b> indicates that the Sequence will never expire. Absence of
+    * the element indicates an implied value of <b>&quot;PT0S&quot;</b>.
+    * @param duration
+    */
+   void setExpires(String duration);
+   
+   /**
+    * Getter
+    * @return duration
+    */
+   String getExpires();
+   
+   /**
+    * Factory method
+    * @return new instance of Offer
+    */
+   Offer newOffer();
+   
+   /**
+    * Setter
+    * @param offer
+    */
+   void setOffer(Offer offer);
+   
+   /**
+    * Getter
+    * @return offer
+    */
+   Offer getOffer();
+
+   /**
+    * This element, if present, enables an RM Source to offer a corresponding Sequence for the reliable
+    * exchange of messages Transmitted from RM Destination to RM Source.
+    */
+   interface Offer extends XMLSerializable
+   {
+      /**
+       * The RM Source MUST set the value of this element to an absolute URI (conformant with
+       * RFC3986 [URI]) that uniquely identifies the offered Sequence.
+       * @param identifier
+       */
+      void setIdentifier(String identifier);
+      
+      /**
+       * Getter 
+       * @return offered sequence identifier
+       */
+      String getIdentifier();
+      
+      /**
+       * <p>An RM Source MUST include this element, of type <b>wsa:EndpointReferenceType</b> (as
+       * specified by WS-Addressing). This element specifies the endpoint reference to which Sequence
+       * Lifecycle Messages, Acknowledgement Requests, and fault messages related to the offered
+       * Sequence are to be sent.</p>
+       * 
+       * <p>Implementations MUST NOT use an endpoint reference in the Endpoint element that would
+       * prevent the sending of Sequence Lifecycle Message, etc. For example, using the WS-Addressing
+       * "http://www.w3.org/2005/08/addressing/none" URI would make it impossible for the RM Destination
+       * to ever send Sequence Lifecycle Messages (e.g. <b>TerminateSequence</b>) to the RM Source for
+       * the Offered Sequence.</p>
+       * 
+       * <p>The Offer of an Endpoint containing the "http://www.w3.org/2005/08/addressing/anonymous" URI
+       * as its address is problematic due to the inability of a source to connect to this address and retry
+       * unacknowledged messages. Note that this specification does not
+       * define any mechanisms for providing this assurance. In the absence of an extension that
+       * addresses this issue, an RM Destination MUST NOT accept (via the
+       * <b>/wsrm:CreateSequenceResponse/wsrm:Accept</b>) an Offer that
+       * contains the "http://www.w3.org/2005/08/addressing/anonymous" URI as its address.</p>
+       * @param address
+       */
+      void setEndpoint(String address);
+      
+      /**
+       * Getter
+       * @return offered endpoint address
+       */
+      String getEndpoint();
+      
+      /**
+       * This element, if present, of type <b>xs:duration</b> specifies the duration for the offered Sequence. A
+       * value of <b>&quot;PT0S&quot;</b> indicates that the offered Sequence will never expire. Absence of the element
+       * indicates an implied value of <b>&quot;PT0S&quot;</b>.
+       * @param duration
+       */
+      void setExpires(String duration);
+      
+      /**
+       * Getter
+       * @return offered sequence duration
+       */
+      String getExpires();
+      
+      /**
+       * This element, if present, specifies the behavior that the destination will exhibit upon the closure or
+       * termination of an incomplete Sequence.
+       * @param incompleteSequenceBehavior
+       */
+      void setIncompleteSequenceBehavior(IncompleteSequenceBehavior incompleteSequenceBehavior);
+      
+      /**
+       * Getter
+       * @return offered incomplete sequence behavior
+       */
+      IncompleteSequenceBehavior getIncompleteSequenceBehavior();
+   }
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequence.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequenceResponse.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequenceResponse.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequenceResponse.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>CreateSequenceResponse</b> element is sent in the body of the response message in response to a <b>CreateSequence</b>
+ * request message. It indicates that the RM Destination has created a new Sequence at the
+ * request of the RM Source. The RM Destination MUST NOT send this element as a header block.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;CreateSequenceResponse ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     &lt;wsrm:Expires ...&gt; xs:duration &lt;/wsrm:Expires&gt; ?
+ *     &lt;wsrm:IncompleteSequenceBehavior&gt;
+ *         wsrm:IncompleteSequenceBehaviorType
+ *     &lt;/wsrm:IncompleteSequenceBehavior&gt; ?
+ *     &lt;wsrm:Accept ...&gt;
+ *         &lt;wsrm:AcksTo&gt; wsa:EndpointReferenceType &lt;/wsrm:AcksTo&gt;
+ *         ...
+ *     &lt;/wsrm:Accept&gt; ?
+ *     ... 
+ * &lt;/CreateSequenceResponse&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface CreateSequenceResponse extends XMLSerializable
+{
+   /**
+    * The RM Destination MUST include this element within any CreateSequenceResponse message it
+    * sends. The RM Destination MUST set the value of this element to the absolute URI (conformant
+    * with RFC3986) that uniquely identifies the Sequence that has been created by the RM Destination.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+   
+   /**
+    * Getter 
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * This element, if present, of type <b>xs:duration</b> accepts or refines the RM Source's requested
+    * duration for the Sequence. It specifies the amount of time after which any resources associated
+    * with the Sequence SHOULD be reclaimed thus causing the Sequence to be silently terminated. At
+    * the RM Destination this duration is measured from a point proximate to Sequence creation and at
+    * the RM Source this duration is measured from a point approximate to the successful processing of
+    * the <b>CreateSequenceResponse</b>. A value of "PT0S" indicates that the Sequence will never
+    * expire. Absence of the element indicates an implied value of "PT0S". The RM Destination MUST
+    * set the value of this element to be equal to or less than the value requested by the RM Source in
+    * the corresponding <b>CreateSequence</b> message.
+    * @param duration
+    */
+   void setExpires(String duration);
+   
+   /**
+    * Getter
+    * @return sequence duration
+    */
+   String getDuration();
+   
+   /**
+    * This element, if present, specifies the behavior that the destination will exhibit upon the closure or
+    * termination of an incomplete Sequence.
+    * @param incompletSequenceBehaviour
+    */
+   void setIncompleteSequenceBehavior(IncompleteSequenceBehavior incompletSequenceBehaviour);
+   
+   /**
+    * Getter
+    * @return used incomplete sequence behavior type
+    */
+   IncompleteSequenceBehavior getIncompleteSequenceBehavior();
+   
+   /**
+    * Factory method
+    * @return new instance of accept
+    */
+   Accept newAccept();
+   
+   /**
+    * Setter
+    * @param accept
+    */
+   void setAccept(Accept accept);
+   
+   /**
+    * Getter
+    * @return accept
+    */
+   Accept getAccept();
+   
+   /**
+    * <p>This element, if present, enables an RM Destination to accept the offer of a corresponding
+    * Sequence for the reliable exchange of messages Transmitted from RM Destination to RM Source.</p>
+    * 
+    * <p>Note: If a <b>CreateSequenceResponse</b> is returned without a child Accept in response to a
+    * <b>CreateSequence</b> that did contain a child Offer, then the RM Source MAY immediately reclaim
+    * any resources associated with the unused offered Sequence.</p>
+    */
+   interface Accept extends XMLSerializable
+   {
+      /**
+       * <p>The RM Destination MUST include this element, of type <b>wsa:EndpointReferenceType</b> (as
+       * specified by WS-Addressing). It specifies the endpoint reference to which messages containing
+       * <b>SequenceAcknowledgement</b> header blocks and faults related to the created Sequence are to
+       * be sent, unless otherwise noted in this specification.</p>
+       * 
+       * <p>Implementations MUST NOT use an endpoint reference in the AcksTo element that would prevent
+       * the sending of Sequence Acknowledgements back to the RM Source. For example, using the 
+       * WS-Addressing "http://www.w3.org/2005/08/addressing/none" URI would make it impossible for the RM
+       * Destination to ever send Sequence Acknowledgements.</p>
+       * @param address
+       */
+      void setAcksTo(String address);
+      
+      /**
+       * Getter
+       * @return address
+       */
+      String getAcksTo();
+   }
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/CreateSequenceResponse.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/IncompleteSequenceBehavior.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/IncompleteSequenceBehavior.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/IncompleteSequenceBehavior.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p>This element, if present, specifies the behavior that the destination will exhibit upon the closure or
+ * termination of an incomplete Sequence. For the purposes of defining the values used, the term
+ * "discard" refers to behavior equivalent to the Application Destination never processing a particular message.</p>
+ * 
+ * The following schema snippet defines allowed values:
+ * <p><blockquote><pre>
+ * &lt;xs:simpleType name=&quot;IncompleteSequenceBehaviorType&quot;&gt;
+ *     &lt;xs:restriction base=&quot;xs:string&quot;&gt;
+ *         &lt;xs:enumeration value=&quot;DiscardEntireSequence&quot;/&gt;
+ *         &lt;xs:enumeration value=&quot;DiscardFollowingFirstGap&quot;/&gt;
+ *         &lt;xs:enumeration value=&quot;NoDiscard&quot;/&gt;
+ *     &lt;/xs:restriction&gt;
+ * &lt;/xs:simpleType&gt;
+ * </pre></blockquote></p>
+ * 
+ * @author richard.opalka at jboss.com
+ */
+public enum IncompleteSequenceBehavior
+{
+   /**
+    * A value of <b>&quot;DiscardEntireSequence&quot;</b> indicates that the entire Sequence MUST be discarded if the
+    * Sequence is closed, or terminated, when there are one or more gaps in the final <b>SequenceAcknowledgement</b>.
+    */
+   DISCARD_ENTIRE_SEQUENCE,
+   
+   /**
+    * A value of <b>&quot;DiscardFollowingFirstGap&quot;</b> indicates that messages in the Sequence beyond the first
+    * gap MUST be discarded when there are one or more gaps in the final <b>SequenceAcknowledgement</b>.
+    */
+   DISCARD_FOLLOWING_FIRST_GAP,
+   
+   /**
+    * The default value of <b>&quot;NoDiscard&quot;</b> indicates that no acknowledged messages in the Sequence will
+    * be discarded.
+    */
+   NO_DISCARD
+}
\ No newline at end of file


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/IncompleteSequenceBehavior.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/Sequence.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/Sequence.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/Sequence.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>Sequence</b> protocol element associates the message in which it is contained with a previously
+ * established RM Sequence. It contains the Sequence's unique identifier and the containing
+ * message's ordinal position within that Sequence. The RM Destination MUST understand the
+ * <b>Sequence</b> header block. The RM Source MUST assign a <b>mustUnderstand</b> attribute with a
+ * value 1/true (from the namespace corresponding to the version of SOAP to which the <b>Sequence</b>
+ * SOAP header block is bound) to the <b>Sequence</b> header block element.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:Sequence ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     &lt;wsrm:MessageNumber&gt; wsrm:MessageNumberType &lt;/wsrm:MessageNumber&gt;
+ *     &lt;wsrm:LastMessage/&gt; ?
+ *     ...
+ * &lt;/wsrm:Sequence&gt;
+ * </pre></blockquote></p>
+ * 
+ * @author richard.opalka at jboss.com
+ */
+public interface Sequence extends XMLSerializable
+{
+   /**
+    * An RM Source that includes a <b>Sequence</b> header block in a SOAP envelope MUST include this
+    * element in that header block. The RM Source MUST set the value of this element to the absolute
+    * URI (conformant with RFC3986) that uniquely identifies the Sequence.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+   
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * The RM Source MUST include this element within any Sequence headers it creates. This element
+    * is of type <b>MessageNumberType</b>. It represents the ordinal position of the message within a
+    * Sequence. Sequence message numbers start at 1 and monotonically increase by 1 throughout
+    * the Sequence.
+    * @param messageNumber
+    */
+   void setMessageNumber(long messageNumber);
+   
+   /**
+    * Getter
+    * @return message number within specified sequence
+    */
+   long getMessageNumber();
+   
+   /**
+    * This element MAY be included by the RM Source endpoint. The <b>LastMessage</b> element has no content.
+    * @param lastMessage
+    */
+   void setLastMessage(boolean lastMessage);
+   
+   /**
+    * Getter
+    * @return last message indicator
+    */
+   boolean isLastMessage();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/Sequence.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceAcknowledgement.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceAcknowledgement.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceAcknowledgement.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,172 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+import java.util.List;
+
+/**
+ * 
+ * <p><b>wsrm:SequenceAcknowledgement</b> element contains the sequence acknowledgement information</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:SequenceAcknowledgement ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     [ [ [ &lt;wsrm:AcknowledgementRange  ...
+ *             Upper="wsrm:MessageNumberType"
+ *             Lower="wsrm:MessageNumberType"/&gt; + 
+ *         | &lt;wsrm:None/&gt; ]
+ *         &lt;wsrm:Final/&gt; ? ]
+ *     | &lt;wsrm:Nack&gt; wsrm:MessageNumberType &lt;/wsrm:Nack&gt; + ]
+ *     
+ *     ... 
+ * &lt;/wsrm:SequenceAcknowledgement&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface SequenceAcknowledgement extends XMLSerializable
+{
+   /**
+    * An RM Destination that includes a <b>SequenceAcknowledgement</b> header block in a SOAP
+    * envelope MUST include this element in that header block. The RM Destination MUST set the
+    * value of this element to the absolute URI (conformant with RFC3986) that uniquely identifies the
+    * Sequence. The RM Destination MUST NOT include multiple <b>SequenceAcknowledgement</b>
+    * header blocks that share the same value for <b>Identifier</b> within the same SOAP envelope.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+   
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * The RM Destination MAY include this element within a <b>SequenceAcknowledgement</b> header
+    * block. This element indicates that the RM Destination is not receiving new messages for the
+    * specified Sequence. The RM Source can be assured that the ranges of messages acknowledged
+    * by this SequenceAcknowledgement header block will not change in the future. The RM
+    * Destination MUST include this element when the Sequence is closed. The RM Destination MUST
+    * NOT include this element when sending a <b>Nack</b>; it can only be used when sending
+    * <b>AcknowledgementRange</b> elements or a <b>None</b>.
+    * @param isFinal
+    */
+   void setFinal(boolean isFinal);
+   
+   /**
+    * Getter
+    * @return true if <b>SequenceAcknowledgement</b> is <b>Final</b>, false otherwise
+    */
+   boolean isFinal();
+   
+   /**
+    * The RM Destination MUST include this element within a <b>SequenceAcknowledgement</b> header
+    * block if the RM Destination has not accepted any messages for the specified Sequence. The RM
+    * Destination MUST NOT include this element if a sibling <b>AcknowledgementRange</b> or <b>Nack</b>
+    * element is also present as a child of the <b>SequenceAcknowledgement</b>.
+    * @param isNone
+    */
+   void setNone(boolean isNone);
+   
+   /**
+    * Getter
+    * @return true if <b>SequenceAcknowledgement</b> is <b>None</b>, false otherwise
+    */
+   boolean isNone();
+   
+   /**
+    * The RM Destination MAY include this element within a <b>SequenceAcknowledgement</b> header
+    * block. If used, the RM Destination MUST set the value of this element to a <b>MessageNumberType</b>
+    * representing the <b>MessageNumber</b> of an unreceived message in a Sequence. The RM Destination
+    * MUST NOT include a <b>Nack</b> element if a sibling <b>AcknowledgementRange</b> or <b>None</b> element is
+    * also present as a child of <b>SequenceAcknowledgement</b>. Upon the receipt of a <b>Nack</b>, an RM
+    * Source SHOULD retransmit the message identified by the <b>Nack</b>. The RM Destination MUST NOT
+    * issue a <b>SequenceAcknowledgement</b> containing a <b>Nack</b> for a message that it has previously
+    * acknowledged within an <b>AcknowledgementRange</b>. The RM Source SHOULD ignore a
+    * <b>SequenceAcknowledgement</b> containing a <b>Nack</b> for a message that has previously been
+    * acknowledged within an <b>AcknowledgementRange</b>.
+    * @param messageNumber
+    */
+   void addNack(long messageNumber);
+   
+   /**
+    * Getter
+    * @return list of not ackonwledged message numbers
+    */
+   List<Long> getNacks();
+   
+   /**
+    * Factory method
+    * @return new instance of AcknowledgementRange
+    */
+   AcknowledgementRange newAcknowledgementRange();
+   
+   /**
+    * Setter
+    * @param acknowledgementRange
+    */
+   void addAcknowledgementRange(AcknowledgementRange acknowledgementRange);
+   
+   /**
+    * Getter 
+    * @return list of acknowledged ranges
+    */
+   List<AcknowledgementRange> getAcknowledgementRanges();
+   
+   /**
+    * The RM Destination MAY include one or more instances of this element within a
+    * <b>SequenceAcknowledgement</b> header block. It contains a range of Sequence message numbers
+    * successfully accepted by the RM Destination. The ranges MUST NOT overlap. The RM
+    * Destination MUST NOT include this element if a sibling <b>Nack</b> or <b>None</b> element is also present as
+    * a child of <b>SequenceAcknowledgement</b>.
+    */
+   interface AcknowledgementRange extends XMLSerializable
+   {
+      /**
+       * The RM Destination MUST set the value of this attribute equal to the message number of the
+       * highest contiguous message in a Sequence range accepted by the RM Destination.
+       * @param upper
+       */
+      void setUpper(long upper);
+      
+      /**
+       * Getter
+       * @return upper value
+       */
+      long getUpper();
+      
+      /**
+       * The RM Destination MUST set the value of this attribute equal to the message number of the
+       * lowest contiguous message in a Sequence range accepted by the RM Destination.
+       * @param lower
+       */
+      void setLower(long lower);
+      
+      /**
+       * Getter
+       * @return lower value
+       */
+      long getLower();
+   }
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceAcknowledgement.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFault.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFault.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFault.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>SequenceFault</b> element purpose is to carry the specific details of a fault generated during the
+ * reliable messaging specific processing of a message belonging to a Sequence. WS-ReliableMessaging
+ * nodes MUST use the <b>SequenceFault</b> container only in conjunction with the SOAP 1.1 fault mechanism.
+ * WS-ReliableMessaging nodes MUST NOT use the <b>SequenceFault</b> container in conjunction with the
+ * SOAP 1.2 binding.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;SequenceFault ...&gt;
+ *     &lt;wsrm:FaultCode&gt; wsrm:FaultCode &lt;/wsrm:FaultCode&gt;
+ *     &lt;wsrm:Detail&gt; ... &lt;/wsrm:Detail&gt; ?
+ *     ...
+ * &lt;/SequenceFault&gt;
+ * </pre></blockquote></p>
+ * 
+ * @author richard.opalka at jboss.com
+ */
+public interface SequenceFault extends XMLSerializable
+{
+   /**
+    * WS-ReliableMessaging nodes that generate a <b>SequenceFault</b> MUST set the value of this
+    * element to a qualified name from the set of faults [Subcodes] defined below.
+    * @param faultCode
+    */
+   void setFaultCode(SequenceFaultCode faultCode);
+   
+   /**
+    * Getter
+    * @return sequence fault code
+    */
+   SequenceFaultCode getFaultCode();
+   
+   /**
+    * This element, if present, carries application specific error information
+    * related to the fault being described.
+    * @param detail
+    */
+   void setDetail(Exception detail);
+   
+   /**
+    * Getter
+    * @return application specific fault detail
+    */
+   Exception getDetail();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFault.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFaultCode.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFaultCode.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFaultCode.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * WS-ReliableMessaging nodes that generate a <b>SequenceFault</b> MUST set the value of this
+ * element to a qualified name from the set of faults [Subcodes] defined below.
+ * 
+ * @author richard.opalka at jboss.com
+ */
+public enum SequenceFaultCode
+{
+   /**
+    * Sequence terminated
+    */
+   SEQUENCE_TERMINATED,
+   
+   /**
+    * Unknown sequence
+    */
+   UNKNOWN_SEQUENCE,
+   
+   /**
+    * Invalid acknowledgement
+    */
+   INVALID_ACKNOWLEDGEMENT,
+   
+   /**
+    * Message number rollover
+    */
+   MESSAGE_NUMBER_ROLLOVER,
+   
+   /**
+    * Create sequence refused
+    */
+   CREATE_SEQUENCE_REFUSED,
+   
+   /**
+    * Sequence closed
+    */
+   SEQUENCE_CLOSED,
+   
+   /**
+    * WSRM required 
+    */
+   WSRM_REQUIRED,
+   
+   /**
+    * Last message number exceeded
+    */
+   LAST_MESSAGE_NUMBER_EXCEEDED
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/SequenceFaultCode.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequence.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequence.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequence.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>TerminateSequence</b> MAY be sent by an RM Source to indicate it has completed its use of the Sequence.
+ * It indicates that the RM Destination can safely reclaim any resources related to the identified
+ * Sequence. The RM Source MUST NOT send this element as a header block. The RM Source
+ * MAY retransmit this element. Once this element is sent, other than this element, the RM Source
+ * MUST NOT send any additional message to the RM Destination referencing this Sequence.</p>
+ * 
+ * <p>This element MAY also be sent by the RM Destination to indicate that it has unilaterally
+ * terminated the Sequence. Upon sending this message the RM Destination MUST NOT accept
+ * any additional messages (with the exception of the corresponding
+ * <b>TerminateSequenceResponse</b>) for this Sequence. Upon receipt of a <b>TerminateSequence</b>
+ * the RM Source MUST NOT send any additional messages (with the exception of the
+ * corresponding <b>TerminateSequenceResponse</b>) for this Sequence.</p> 
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:TerminateSequence ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     &lt;wsrm:LastMsgNumber&gt; wsrm:MessageNumberType &lt;/wsrm:LastMsgNumber&gt; ?
+ *     ... 
+ * &lt;/wsrm:TerminateSequence&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface TerminateSequence extends XMLSerializable
+{
+   /**
+    * The RM Source or RM Destination MUST include this element in any TerminateSequence
+    * message it sends. The RM Source or RM Destination MUST set the value of this element to the
+    * absolute URI (conformant with RFC3986) of the terminating Sequence.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+   
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+   
+   /**
+    * The RM Source SHOULD include this element in any TerminateSequence message it sends. The
+    * <b>LastMsgNumber</b> element specifies the highest assigned message number of all the Sequence
+    * Traffic Messages for the terminating Sequence.
+    * @param lastMsgNumber
+    */
+   void setLastMsgNumber(long lastMsgNumber);
+   
+   /**
+    * Getter
+    * @return last message number
+    */
+   void getLastMsgNumber();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequence.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequenceResponse.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequenceResponse.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequenceResponse.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+/**
+ * <p><b>TerminateSequenceResponse</b> is sent in the body of a message in response to receipt of a <b>TerminateSequence</b> 
+ * request message. It indicates that the responder has terminated the Sequence. The responder
+ * MUST NOT send this element as a header block.</p>
+ * 
+ * The following infoset defines its syntax:
+ * <p><blockquote><pre>
+ * &lt;wsrm:TerminateSequenceResponse ...&gt;
+ *     &lt;wsrm:Identifier ...&gt; xs:anyURI &lt;/wsrm:Identifier&gt;
+ *     ... 
+ * &lt;/wsrm:TerminateSequenceResponse&gt;
+ * </pre></blockquote></p>
+ *  
+ * @author richard.opalka at jboss.com
+ */
+public interface TerminateSequenceResponse extends XMLSerializable
+{
+   /**
+    * The responder (RM Source or RM Destination) MUST include this element in any
+    * <b>TerminateSequenceResponse</b> message it sends. The responder MUST set the value of this
+    * element to the absolute URI (conformant with RFC3986) of the terminating Sequence.
+    * @param identifier
+    */
+   void setIdentifier(String identifier);
+
+   /**
+    * Getter
+    * @return sequence identifier
+    */
+   String getIdentifier();
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/TerminateSequenceResponse.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/XMLSerializable.java
===================================================================
--- stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/XMLSerializable.java	                        (rev 0)
+++ stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/XMLSerializable.java	2007-08-31 15:48:18 UTC (rev 4509)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.spi.protocol;
+
+import org.w3c.dom.Element;
+
+/**
+ * This interface identifies classes that are de/serializable from/to W3C DOM elements
+ *
+ * @author richard.opalka at jboss.com
+ */
+public interface XMLSerializable
+{
+   /**
+    * Serialize object instance to the W3C DOM element
+    * @return W3C DOM element 
+    */
+   Element toXML();
+   
+   /**
+    * Deserialize object instance from W3C DOM element
+    * @param e W3C DOM element
+    */
+   void fromXML(Element e);
+}


Property changes on: stack/native/branches/ropalka/trunk/src/main/java/org/jboss/ws/extensions/wsrm/spi/protocol/XMLSerializable.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF




More information about the jbossws-commits mailing list