You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ja...@apache.org on 2004/12/03 10:03:58 UTC
cvs commit: ws-fx/sandesha/src/org/apache/sandesha/server/queue ResponseSequenceHash.java
jaliya 2004/12/03 01:03:58
Modified: sandesha/src/org/apache/sandesha/server/queue
ResponseSequenceHash.java
Log:
Fixed the bug in public boolean hasMessageWithId(String msgId) method
Revision Changes Path
1.8 +32 -2 ws-fx/sandesha/src/org/apache/sandesha/server/queue/ResponseSequenceHash.java
Index: ResponseSequenceHash.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/queue/ResponseSequenceHash.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ResponseSequenceHash.java 2 Dec 2004 13:18:18 -0000 1.7
+++ ResponseSequenceHash.java 3 Dec 2004 09:03:58 -0000 1.8
@@ -21,10 +21,12 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
+import java.util.Vector;
import org.apache.sandesha.Constants;
import org.apache.sandesha.RMMessageContext;
+
/*
* Created on Aug 4, 2004 at 5:08:29 PM
*/
@@ -53,6 +55,8 @@
private boolean outSeqApproved;
private HashMap hash;
+
+ private Vector markedAsDelete;
private long nextAutoNumber; // key for storing messages.
//--> USING AUTONUMBER FOR MESSAGENUMBERS
@@ -63,6 +67,7 @@
//hasMessagesToSend = false;
this.sequenceId = sequenceId;
hash = new HashMap();
+ markedAsDelete = new Vector();
nextAutoNumber = 1; //This is the key for storing messages.
outSeqApproved = false;
}
@@ -154,6 +159,17 @@
whileLoop: while (keys.hasNext()) {
RMMessageContext tempMsg;
tempMsg = (RMMessageContext) hash.get(keys.next());
+
+ //EDITED FOR MARKASDELETE
+ Long msgNo = new Long(tempMsg.getMsgNumber());
+ if(markedAsDelete.contains(msgNo)){
+ System.out.println("mark as delete contains "+msgNo);
+ continue;
+ }
+ //System.out.println("mark as delete does not contains "+msgNo);
+
+ //END - EDITED FOR MARKASDELETE
+
long lastSentTime = tempMsg.getLastSentTime();
//System.out.println("last sent time: "+lastSentTime);
Date d = new Date();
@@ -249,6 +265,18 @@
hash.remove(msgId);
return msg;
}
+
+ public boolean markMessageDeleted(Long messageNo){
+ System.out.println("********* MARKING AS DELETE");
+ if(hash.containsKey(messageNo)){
+ markedAsDelete.add(messageNo);
+ String msgId = ((RMMessageContext) hash.get(messageNo)).getMessageID();
+ System.out.println("INFO: Marking outgoing message deleted : msgId "
+ + msgId);
+ return true;
+ }
+ return false;
+ }
public long nextMessageNumber(){
return nextAutoNumber;
@@ -266,9 +294,11 @@
Iterator it = hash.keySet().iterator();
while(it.hasNext()){
- RMMessageContext msg = (RMMessageContext) it.next();
+
+ RMMessageContext msg = (RMMessageContext)hash.get(it.next());
if(msg.getMessageID().equals(msgId))
- return true;
+ return true;
+
}
return false;
}