Author: chamikara
Date: Wed Feb 22 02:48:24 2006
New Revision: 379746

URL: http://svn.apache.org/viewcvs?rev=379746&view=rev
Log:
fixed the piggybacking logic to add acks to an any application msg that goes 
towards the correct destination.
Buf fixes

Modified:
    
webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/client/Sandesha2ClientAPI.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
    
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java 
(original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java 
Wed Feb 22 02:48:24 2006
@@ -86,28 +86,40 @@
                        throw new SandeshaException(message);
                }
 
-               String internalSequenceId = (String) 
internalSequenceBean.getValue();
+               //String internalSequenceId = (String) 
internalSequenceBean.getValue();
                findBean.setMessageType(Sandesha2Constants.MessageTypes.ACK);
                findBean.setSend(true);
                findBean.setReSend(false);
+               
+               String carrietTo = applicationRMMsgContext.getTo().getAddress();
+               
                Collection collection = retransmitterBeanMgr.find(findBean);
                
                Iterator it = collection.iterator();
 
-               if (it.hasNext()) {
+               
+               piggybackLoop:
+               while (it.hasNext()) {
                        SenderBean ackBean = (SenderBean) it.next();
 
                        long timeNow = System.currentTimeMillis();
                        if (ackBean.getTimeToSend() > timeNow) { 
                                //Piggybacking will happen only if the end of 
ack interval (timeToSend) is not reached.
 
+                               MessageContext ackMsgContext = storageManager
+                               .retrieveMessageContext(ackBean
+                                               
.getMessageContextRefKey(),configurationContext);
+                               
+                               String to = ackMsgContext.getTo().getAddress();
+                               if (!carrietTo.equals(to)) {
+                                       continue piggybackLoop;
+                               }
+                               
                                //deleting the ack entry.
                                
retransmitterBeanMgr.delete(ackBean.getMessageID());
 
                                //Adding the ack to the application message
-                               MessageContext ackMsgContext = storageManager
-                                               .retrieveMessageContext(ackBean
-                                                               
.getMessageContextRefKey(),configurationContext);
+
                                RMMsgContext ackRMMsgContext = MsgInitializer
                                                
.initializeMessage(ackMsgContext);
                                if (ackRMMsgContext.getMessageType() != 
Sandesha2Constants.MessageTypes.ACK) {
@@ -123,6 +135,7 @@
                                                sequenceAcknowledgement);
 
                                applicationRMMsgContext.addSOAPEnvelope();
+                               break piggybackLoop;
                        }
                }
        }
@@ -134,11 +147,23 @@
         * @param outGoingMessage
         * @return
         */
-       public static ArrayList getCompletedMessagesList (String 
sequenceIdentifier,ConfigurationContext configurationContext) throws 
SandeshaException {
+       public static ArrayList getClientCompletedMessagesList (String 
sequenceIdentifier,ConfigurationContext configurationContext) throws 
SandeshaException {
                StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(configurationContext);
                
                SequencePropertyBeanMgr sequencePropertyBeanMgr = 
storageManager.getSequencePropretyBeanMgr();
-               SequencePropertyBean completedMessagesBean = 
sequencePropertyBeanMgr.retrieve(sequenceIdentifier,Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+               
+               //first trying to get it from the internal sequence id.
+               SequencePropertyBean internalSequenceBean = 
sequencePropertyBeanMgr.retrieve(sequenceIdentifier,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
+               String internalSequenceID = null;
+               if (internalSequenceBean!=null)
+                       internalSequenceID = internalSequenceBean.getValue();
+               
+               SequencePropertyBean completedMessagesBean = null;
+               if (internalSequenceID!=null)
+                       completedMessagesBean = 
sequencePropertyBeanMgr.retrieve(internalSequenceID,Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
+               
+               if (completedMessagesBean==null)
+                       completedMessagesBean = 
sequencePropertyBeanMgr.retrieve(sequenceIdentifier,Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
                
                ArrayList completedMsgList = null;
                if (completedMessagesBean!=null) {

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java 
Wed Feb 22 02:48:24 2006
@@ -157,8 +157,9 @@
                //received (may be an ack was sent - depending on the policy)
                //For out going sequences this gives the messages that were 
sent and that were successfully
                //acked by the other end point.
-               String COMPLETED_MESSAGES = "CompletedMessages";
-
+               String CLIENT_COMPLETED_MESSAGES = "ClientCompletedMessages";
+               String SERVER_COMPLETED_MESSAGES = "ServerCompletedMessages";
+               
                String TO_EPR = "ToEPR";
 
                String ACKS_TO_EPR = "acksToEPR";

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java 
Wed Feb 22 02:48:24 2006
@@ -206,17 +206,6 @@
                                }
                        }
                        
-//                     try {
-                               //this removes the listner entry for receiving 
async acks.
-                               //FIXME
-//                             if (stopListnerForAsyncAcks)
-//                                     
ListenerManager.stop(configContext,Constants.TRANSPORT_HTTP);
-                               
-                               //TODO stop listner for asyncControlMessages
-                               
-//                     } catch (AxisFault e) {
-//                             throw new SandeshaException (e.getMessage());
-//                     }
                }
                
                SequencePropertyBean internalSequenceBean = 
sequencePropertyBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
@@ -265,7 +254,7 @@
        }
        
        private static void doUpdatesIfNeeded (String sequenceID, 
SequencePropertyBean propertyBean, SequencePropertyBeanMgr seqPropMgr) throws 
SandeshaException {
-               if 
(propertyBean.getName().equals(Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES))
 {
+               if 
(propertyBean.getName().equals(Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES))
 {
                        
                        //this value cannot be completely deleted since this 
data will be needed by SequenceReports
                        //so saving it with the sequenceID value being the out 
sequenceID.
@@ -274,7 +263,7 @@
                        newBean.setSequenceID(sequenceID);
                        newBean.setName(propertyBean.getName());
                        newBean.setValue(propertyBean.getValue());
-                       
+
                        seqPropMgr.insert(newBean);
                        
                        //TODO amazingly this property does not seem to get 
deleted without following - in the hibernate impl 

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/client/Sandesha2ClientAPI.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/client/Sandesha2ClientAPI.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/client/Sandesha2ClientAPI.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/client/Sandesha2ClientAPI.java
 Wed Feb 22 02:48:24 2006
@@ -71,7 +71,7 @@
                String sequenceID = internalSequenceBean.getSequenceID();
                
                //finding the actual seq
-               ArrayList completedMessageList =  
AcknowledgementManager.getCompletedMessagesList 
(sequenceID,configurationContext);
+               ArrayList completedMessageList =  
AcknowledgementManager.getClientCompletedMessagesList 
(sequenceID,configurationContext);
                
                Iterator iter = completedMessageList.iterator();
                while (iter.hasNext()) {
@@ -96,7 +96,7 @@
                
                SequenceReport sequenceReport = new SequenceReport ();
 
-               ArrayList completedMessageList =  
AcknowledgementManager.getCompletedMessagesList 
(sequenceID,configurationContext);
+               ArrayList completedMessageList =  
AcknowledgementManager.getClientCompletedMessagesList 
(sequenceID,configurationContext);
 
                Iterator iter = completedMessageList.iterator();
                while (iter.hasNext()) {

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
 Wed Feb 22 02:48:24 2006
@@ -121,7 +121,7 @@
                                                .getSequencePropretyBeanMgr();
                                SequencePropertyBean receivedMsgsBean = 
seqPropMgr.retrieve(
                                                sequenceId,
-                                               
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                                               
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
                                if (receivedMsgsBean != null) {
                                        String receivedMsgStr = (String) 
receivedMsgsBean
                                                        .getValue();
@@ -154,7 +154,7 @@
                                                        if (receivedMsgsBean == 
null) {
                                                                
receivedMsgsBean = new SequencePropertyBean(
                                                                                
sequenceId,
-                                                                               
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES,
+                                                                               
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES,
                                                                                
"");
                                                                
seqPropMgr.insert(receivedMsgsBean);
                                                        }
@@ -168,6 +168,9 @@
                                                                receivedMsgStr 
= Long.toString(msgNo);
 
                                                        
receivedMsgsBean.setValue(receivedMsgStr);
+                                                       
+                                                       //TODO correct the 
syntac into '[received msgs]'
+                                                       
                                                        
seqPropMgr.update(receivedMsgsBean);
 
                                                        ApplicationMsgProcessor 
ackProcessor = new ApplicationMsgProcessor();
@@ -205,7 +208,7 @@
                        SequencePropertyBeanMgr seqPropMgr = storageManager
                                        .getSequencePropretyBeanMgr();
                        SequencePropertyBean receivedMsgsBean = 
seqPropMgr.retrieve(
-                                       sequenceId, 
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                                       sequenceId, 
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
                        String receivedMsgStr = (String) 
receivedMsgsBean.getValue();
 
                        ApplicationMsgProcessor ackProcessor = new 
ApplicationMsgProcessor();

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 Wed Feb 22 02:48:24 2006
@@ -103,7 +103,7 @@
                } catch (SandeshaException se) {
                        String message = "Error in processing the message";
                        log.debug(message);
-                       throw new AxisFault(message);
+                       throw new AxisFault(message,se);
                }
 
        }

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 Wed Feb 22 02:48:24 2006
@@ -426,7 +426,7 @@
                        SequencePropertyBean msgsBean = new 
SequencePropertyBean();
                        msgsBean.setSequenceID(offeredSequenceId);
                        msgsBean
-                                       
.setName(Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                                       
.setName(Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
                        msgsBean.setValue("");
 
                        SequencePropertyBean offeredSequenceBean = new 
SequencePropertyBean();

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 Wed Feb 22 02:48:24 2006
@@ -182,17 +182,18 @@
                
                
                //setting the completed_messages list. This gives all the 
messages of the sequence that were acked.
-               SequencePropertyBean allCompletedMsgsBean = 
seqPropMgr.retrieve(internalSequenceId,Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+               SequencePropertyBean allCompletedMsgsBean = 
seqPropMgr.retrieve(internalSequenceId,Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
                if (allCompletedMsgsBean==null) {
                        allCompletedMsgsBean = new SequencePropertyBean ();
                        allCompletedMsgsBean.setSequenceID(internalSequenceId);
-                       
allCompletedMsgsBean.setName(Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                       
allCompletedMsgsBean.setName(Sandesha2Constants.SequenceProperties.CLIENT_COMPLETED_MESSAGES);
                        
                        seqPropMgr.insert(allCompletedMsgsBean);
                }
                                
                String str = ackedMessagesList.toString();
                allCompletedMsgsBean.setValue(str);
+               
                seqPropMgr.update(allCompletedMsgsBean);
                
                //If all messages up to last message have been acknowledged. 
Add terminate Sequence message.

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 Wed Feb 22 02:48:24 2006
@@ -145,7 +145,7 @@
                                .getTransaction();
                
                SequencePropertyBean msgsBean = seqPropMgr.retrieve(sequenceId,
-                               
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                               
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
 
                long msgNo = sequence.getMessageNumber().getMessageNumber();
                if (msgNo == 0) {

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
 Wed Feb 22 02:48:24 2006
@@ -103,12 +103,8 @@
                return beans;
        }
 
-       public synchronized boolean update(SequencePropertyBean bean) {
+       public synchronized boolean update(SequencePropertyBean bean) { 
                
-               if 
(bean.getName().equals(Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES))
 {
-                       int i = 1;
-               }
-       
                if (!table.contains(bean))
                        return false;
 

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java 
Wed Feb 22 02:48:24 2006
@@ -541,7 +541,7 @@
                                .getSequencePropretyBeanMgr();
 
                SequencePropertyBean seqBean = seqPropMgr.retrieve(sequenceId,
-                               
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+                               
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
                String msgNoList = (String) seqBean.getValue();
 
                ArrayList ackRangeArrayList = SandeshaUtil.getAckRangeArrayList(

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java 
Wed Feb 22 02:48:24 2006
@@ -596,7 +596,7 @@
                        return new ArrayList ();
                
                if (str.length()<2) {
-                       String message = "Invalid String array";
+                       String message = "Invalid String array : " + str;
                        log.debug(message);
                        throw new SandeshaException (message);
                }
@@ -604,7 +604,7 @@
                int length = str.length();
                
                if (str.charAt(0)!='[' || str.charAt(length-1)!=']') {
-                       String message = "Invalid String array";
+                       String message = "Invalid String array" + str;
                        log.debug(message);
                        throw new SandeshaException (message);
                }

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java 
(original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java 
Wed Feb 22 02:48:24 2006
@@ -90,7 +90,7 @@
                                .getSequencePropretyBeanMgr();
 
                SequencePropertyBean receivedMsgBean = new SequencePropertyBean(
-                               sequenceId, 
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES, "");
+                               sequenceId, 
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES, "");
                
                //If no replyTo value. Send responses as sync.
                SequencePropertyBean toBean = null;
@@ -434,27 +434,27 @@
                return false;
        }
        
-       public static long getIncomingSequenceAckedMessageCount (String 
sequenceID, ConfigurationContext configurationContext) throws SandeshaException 
{
-               StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(configurationContext);
-               Transaction transaction = storageManager.getTransaction();
-               SequencePropertyBeanMgr seqPropBeanMgr = 
storageManager.getSequencePropretyBeanMgr();
-               
-               SequencePropertyBean receivedMsgsBean = 
seqPropBeanMgr.retrieve(sequenceID, 
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
-               
-               //we should be able to assume that all the received messages 
has been acked.
-               String receivedMsgsStr = receivedMsgsBean.getValue();
-
-               StringTokenizer tokenizer = new StringTokenizer 
(receivedMsgsStr,",");
-               
-               long count = 0;
-               while (tokenizer.hasMoreTokens()) {
-                       String temp = tokenizer.nextToken();
-                       count++;
-               }
-
-               transaction.commit();
-               return count;
-       }
+//     public static long getIncomingSequenceAckedMessageCount (String 
sequenceID, ConfigurationContext configurationContext) throws SandeshaException 
{
+//             StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(configurationContext);
+//             Transaction transaction = storageManager.getTransaction();
+//             SequencePropertyBeanMgr seqPropBeanMgr = 
storageManager.getSequencePropretyBeanMgr();
+//             
+//             SequencePropertyBean receivedMsgsBean = 
seqPropBeanMgr.retrieve(sequenceID, 
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
+//             
+//             //we should be able to assume that all the received messages 
has been acked.
+//             String receivedMsgsStr = receivedMsgsBean.getValue();
+//
+//             StringTokenizer tokenizer = new StringTokenizer 
(receivedMsgsStr,",");
+//             
+//             long count = 0;
+//             while (tokenizer.hasMoreTokens()) {
+//                     String temp = tokenizer.nextToken();
+//                     count++;
+//             }
+//
+//             transaction.commit();
+//             return count;
+//     }
        
        public static boolean isIncomingSequenceCompleted (String sequenceID, 
ConfigurationContext configurationContext) throws SandeshaException {
                

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java?rev=379746&r1=379745&r2=379746&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java Wed 
Feb 22 02:48:24 2006
@@ -208,6 +208,8 @@
 
                                                // piggybacking if an ack if 
available for the same
                                                // sequence.
+                                               //TODO do piggybacking based on 
wsa:To
+                                               
                                                
AcknowledgementManager.piggybackAckIfPresent(rmMsgCtx);
                                        }
 



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

Reply via email to