svn commit: r834025 - in /webservices/sandesha/trunk/java/modules: core/src/main/java/org/apache/sandesha2/ core/src/main/java/org/apache/sandesha2/msgprocessors/ core/src/main/java/org/apache/sandesha2/util/ core/src/main/java/org/apache/sandesha2/wor...

View: New views
1 Messages — Rating Filter:   Alert me  

svn commit: r834025 - in /webservices/sandesha/trunk/java/modules: core/src/main/java/org/apache/sandesha2/ core/src/main/java/org/apache/sandesha2/msgprocessors/ core/src/main/java/org/apache/sandesha2/util/ core/src/main/java/org/apache/sandesha2/wor...

by parsonsd :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Author: parsonsd
Date: Mon Nov  9 11:45:10 2009
New Revision: 834025

URL: http://svn.apache.org/viewvc?rev=834025&view=rev
Log:
So that Sandesha is compliant with the ReliableSecureProfile spec.  Piggybacked acks must have the mustUnderstand flag set to false.

Modified:
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
    webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
    webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java Mon Nov  9 11:45:10 2009
@@ -603,7 +603,7 @@
  sequence = new Sequence(namespace);
  sequence.fromHeaderBlock(element);
  }else if(WSRM_COMMON.SEQUENCE_ACK.equals(localName)){
- SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(namespace);
+ SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(namespace, false);
  sequenceAcknowledgement.fromHeaderBlock(element);
  sequenceAcknowledgements.add(sequenceAcknowledgement);
  }else if(WSRM_COMMON.ACK_REQUESTED.equals(localName)){

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Mon Nov  9 11:45:10 2009
@@ -173,7 +173,7 @@
 
  ackMsgCtx.setTo(acksTo);
  ackMsgCtx.setReplyTo(msgContext.getTo());
- RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceId, rmdBean, true);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceId, rmdBean, true, false);
 
  //this is not a client generated message. So set serverSide to true.
  ackMsgCtx.setServerSide(true);

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java Mon Nov  9 11:45:10 2009
@@ -81,7 +81,7 @@
  if (acksToEPR == null || acksToEPR.hasAnonymousAddress()) {
  if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled())
  log.debug("Piggybacking ack for inbound sequence: " + inboundSequence);
- RMMsgCreator.addAckMessage(rmMessageContext, inboundSequence, inboundBean, false);
+ RMMsgCreator.addAckMessage(rmMessageContext, inboundSequence, inboundBean, false, true);
  }
  }
  }
@@ -115,7 +115,7 @@
  log.debug("Piggybacking ack for sequence: " + inboundSequence);
  RMDBean sequence = storageManager.getRMDBeanMgr().retrieve(inboundSequence);
  if (sequence != null && !sequence.isTerminated()) {  
-     RMMsgCreator.addAckMessage(rmMessageContext, inboundSequence, sequence, false);
+     RMMsgCreator.addAckMessage(rmMessageContext, inboundSequence, sequence, false, true);
      ((Sender) storageManager.getSender()).removeScheduledAcknowledgement(inboundSequence);
  }
  } else {
@@ -147,7 +147,7 @@
  if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled())
  log.debug("Piggybacking ack for sequence: " + sequenceId);
 
- RMMsgCreator.addAckMessage(rmMessageContext, sequenceId, sequence, false);
+ RMMsgCreator.addAckMessage(rmMessageContext, sequenceId, sequence, false, true);
 
  ((Sender) storageManager.getSender()).removeScheduledAcknowledgement(sequenceId);
 
@@ -213,7 +213,7 @@
  ackMsgCtx.setServerSide(serverSide);
 
  // adding the SequenceAcknowledgement part.
- RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceId, rmdBean, true);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceId, rmdBean, true, false);
 
  if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled())
  log.debug("Exit: AcknowledgementManager::generateAckMessage");

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java Mon Nov  9 11:45:10 2009
@@ -488,7 +488,8 @@
  * @param sequenceId - The sequence to which we will be Acking
  * @throws SandeshaException
  */
- public static void addAckMessage(RMMsgContext applicationMsg, String sequenceId, RMDBean rmdBean, boolean addToEnvelope)
+ public static void addAckMessage(RMMsgContext applicationMsg, String sequenceId, RMDBean rmdBean, boolean addToEnvelope,
+ boolean isPiggybacked)
  throws SandeshaException {
  if(LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled())
  log.debug("Entry: RMMsgCreator::addAckMessage " + sequenceId);
@@ -500,7 +501,7 @@
  if(LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled())
  log.debug("RMMsgCreator::addAckMessage : there are messages to ack " + ackRangeArrayList);
  //there are actually messages to ack
- SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue);
+ SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue, isPiggybacked);
  Identifier id = new Identifier(rmNamespaceValue);
  id.setIndentifer(sequenceId);
  sequenceAck.setIdentifier(id);

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java Mon Nov  9 11:45:10 2009
@@ -269,7 +269,7 @@
  RMDBean incomingSequenceBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId);
 
  if (incomingSequenceBean!=null)
- RMMsgCreator.addAckMessage(rmMsgCtx, inboundSequenceId, incomingSequenceBean, false);
+ RMMsgCreator.addAckMessage(rmMsgCtx, inboundSequenceId, incomingSequenceBean, false, true);
  }
 
  if (transaction != null && transaction.isActive())

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java Mon Nov  9 11:45:10 2009
@@ -53,10 +53,11 @@
  private OMNamespace omNamespace = null;
  private boolean ackNone = false;
  private boolean ackFinal = false;
+ private boolean piggybacked = false;
 
  private OMElement originalSequenceAckElement;
 
- public SequenceAcknowledgement(String namespaceValue) {
+ public SequenceAcknowledgement(String namespaceValue, boolean _piggybacked) {
  this.namespaceValue = namespaceValue;
  if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceValue)) {
  omNamespace = Sandesha2Constants.SPEC_2005_02.OM_NS_URI;
@@ -65,6 +66,7 @@
  }
  acknowledgementRangeList = new ArrayList<Range>();
  nackList = new ArrayList<Long>();
+ piggybacked = _piggybacked;
  }
 
  public String getNamespaceValue() {
@@ -198,7 +200,13 @@
  header.toString()));
 
  // SequenceACK messages should always have the MustUnderstand flag set to true
- sequenceAcknowledgementHeaderBlock.setMustUnderstand(true);
+ // Unless it is a piggybacked ack
+ if(piggybacked){
+ sequenceAcknowledgementHeaderBlock.setMustUnderstand(false);
+ } else {
+ sequenceAcknowledgementHeaderBlock.setMustUnderstand(true);
+ }
+
  identifier.toOMElement(sequenceAcknowledgementHeaderBlock, omNamespace);
 
  Iterator<Range> ackRangeIt = acknowledgementRangeList.iterator();

Modified: webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java (original)
+++ webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java Mon Nov  9 11:45:10 2009
@@ -336,7 +336,7 @@
  String rmNamespaceValue = SpecSpecificConstants.getRMNamespaceValue(Sandesha2Constants.SPEC_VERSIONS.v1_1);
 
  //setup the sequenceAck portion of the msg
- SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue);
+ SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue, true);
  // Set the sequenceId
  Identifier id = new Identifier(rmNamespaceValue);
  id.setIndentifer(sequenceIDAck);
@@ -392,7 +392,7 @@
  applicationRMMsg.setSequence(sequence);
 
  //setup the sequenceAck portion of the msg
- SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue);
+ SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespaceValue, true);
  // Set the sequenceId
  Identifier id = new Identifier(rmNamespaceValue);
  id.setIndentifer(sequenceIDAck);

Modified: webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java?rev=834025&r1=834024&r2=834025&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java (original)
+++ webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java Mon Nov  9 11:45:10 2009
@@ -41,7 +41,7 @@
 
     public void testFromOMElement()  throws SandeshaException {
       QName name = new QName(rmNamespace, "SequenceAcknowledgement");
-        SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespace);
+        SequenceAcknowledgement sequenceAck = new SequenceAcknowledgement(rmNamespace, true);
         SOAPEnvelope env = getSOAPEnvelope("", "SequenceAcknowledgement.xml");
         sequenceAck.fromHeaderBlock((SOAPHeaderBlock) env.getHeader().getFirstChildWithName(name));
 
@@ -78,7 +78,7 @@
     }
 
     public void testToOMElement()  throws Exception {
-        SequenceAcknowledgement seqAck = new SequenceAcknowledgement(rmNamespace);
+        SequenceAcknowledgement seqAck = new SequenceAcknowledgement(rmNamespace, true);
         Identifier identifier = new Identifier(rmNamespace);
         identifier.setIndentifer("uuid:897ee740-1624-11da-a28e-b3b9c4e71445");
         seqAck.setIdentifier(identifier);



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