cgl.narada.wsinfra.wsr.impl
Class WsrAckOperationsImpl

java.lang.Object
  extended by cgl.narada.wsinfra.wsr.impl.WsrAckOperationsImpl
All Implemented Interfaces:
WsrAckOperations

public class WsrAckOperationsImpl
extends Object
implements WsrAckOperations

A utility class to deal with processing acknowledgements.


Method Summary
 Hashtable createRanges(Hashtable seqNumsAndFaults)
          create ranges from Hashtable of sequence Numbers and Faults
 Hashtable createRanges(long[] seqNums)
          create ranges from array of sequence Numbers
 String[] getGroupIds(ResponseDocument responseDocument)
          Retrieve all groupIds from Response Document for which we receive acknowledgements and faults
static WsrAckOperations getInstance()
           
 Vector getNonSequenceReplyAcknowledgement(ResponseDocument responseDocument)
          Retrieves groupIds of single message and already acknowledged from response document(Retrieves Acknowledgements for Non Sequence Reply from response document
 Hashtable getNonSequenceReplyFault(ResponseDocument responseDocument)
          Retrieves Hashtable (groupId and fault pair) for groups with single message and have faults other than Message Processing Failure Fault from response document.
 Vector getNonSequenceReplyMessageProcessingFailureFault(ResponseDocument responseDocument)
          Retrieves Vector of groupIds of single message and have Message Processing Failure Fault from response document.
 Hashtable getSequenceRepliesAcknowledgement(ResponseDocument responseDocument)
          Retrieves Hashtable (groupId and associated acknowledged sequence numbers in vector) for groups with multiple messages from response document.
 Hashtable getSequenceReplyFault(ResponseDocument responseDocument)
          Retrieves Hashtable (groupId and Hashtable(sequenceNumber and fault name)) for groups with multiple messages and have faults other than Message Processing Failure Fault from response document.
 Hashtable getSequenceReplyMessageProcessingFailureFault(ResponseDocument responseDocument)
          Retrieves Hashtable(groupId and vector of sequence numbers) for groups with multiple messages and have Message Processing Failure Fault from response document (Retrieves Message Processing Failure Faults for Sequence Reply from response document
 boolean isMessageProcessingFailureFault(QName fault)
          Checks the fault is Message Processing failure
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static WsrAckOperations getInstance()

getNonSequenceReplyAcknowledgement

public Vector getNonSequenceReplyAcknowledgement(ResponseDocument responseDocument)
Retrieves groupIds of single message and already acknowledged from response document(Retrieves Acknowledgements for Non Sequence Reply from response document

Specified by:
getNonSequenceReplyAcknowledgement in interface WsrAckOperations

getNonSequenceReplyMessageProcessingFailureFault

public Vector getNonSequenceReplyMessageProcessingFailureFault(ResponseDocument responseDocument)
Retrieves Vector of groupIds of single message and have Message Processing Failure Fault from response document. (Retrieves Message Processing Failure Faults for Non Sequence Reply from response document. These are the groupIds for which retransmission is scheduled

Specified by:
getNonSequenceReplyMessageProcessingFailureFault in interface WsrAckOperations

getNonSequenceReplyFault

public Hashtable getNonSequenceReplyFault(ResponseDocument responseDocument)
Retrieves Hashtable (groupId and fault pair) for groups with single message and have faults other than Message Processing Failure Fault from response document. The hashtable contains those groupIds which are not for retrasmission. In this case send fault to application along with details of failure

Specified by:
getNonSequenceReplyFault in interface WsrAckOperations

getSequenceRepliesAcknowledgement

public Hashtable getSequenceRepliesAcknowledgement(ResponseDocument responseDocument)
Retrieves Hashtable (groupId and associated acknowledged sequence numbers in vector) for groups with multiple messages from response document. Retrieves Sequence Replies acknowledgements

Specified by:
getSequenceRepliesAcknowledgement in interface WsrAckOperations

getSequenceReplyMessageProcessingFailureFault

public Hashtable getSequenceReplyMessageProcessingFailureFault(ResponseDocument responseDocument)
Retrieves Hashtable(groupId and vector of sequence numbers) for groups with multiple messages and have Message Processing Failure Fault from response document (Retrieves Message Processing Failure Faults for Sequence Reply from response document

Specified by:
getSequenceReplyMessageProcessingFailureFault in interface WsrAckOperations

getSequenceReplyFault

public Hashtable getSequenceReplyFault(ResponseDocument responseDocument)
Retrieves Hashtable (groupId and Hashtable(sequenceNumber and fault name)) for groups with multiple messages and have faults other than Message Processing Failure Fault from response document. The hashtable contains those groupIds which are not for retrasmission. In this case send fault to application along with details of failure

Specified by:
getSequenceReplyFault in interface WsrAckOperations

getGroupIds

public String[] getGroupIds(ResponseDocument responseDocument)
Retrieve all groupIds from Response Document for which we receive acknowledgements and faults

Specified by:
getGroupIds in interface WsrAckOperations

createRanges

public Hashtable createRanges(long[] seqNums)
create ranges from array of sequence Numbers

Specified by:
createRanges in interface WsrAckOperations

createRanges

public Hashtable createRanges(Hashtable seqNumsAndFaults)
create ranges from Hashtable of sequence Numbers and Faults

Specified by:
createRanges in interface WsrAckOperations

isMessageProcessingFailureFault

public boolean isMessageProcessingFailureFault(QName fault)
Checks the fault is Message Processing failure

Specified by:
isMessageProcessingFailureFault in interface WsrAckOperations


For comments and suggestions please send e-mail to The NaradaBrokering Project