INT-1021, added check for 0 when checking for superseding messages, added test

This commit is contained in:
Oleg Zhurakousky
2010-03-12 03:43:05 +00:00
parent 2b3bdd9e8c
commit 42a88d4f28
2 changed files with 29 additions and 21 deletions

View File

@@ -18,6 +18,7 @@ import java.util.*;
*
*
* @author Iwein Fuld
* @author Oleg Zhurakousky
*/
public class MessageGroup {
private final CompletionStrategy completionStrategy;
@@ -34,17 +35,19 @@ public class MessageGroup {
this.listeners = Collections.unmodifiableList(Arrays.asList(listeners));
}
public boolean hasNoMessageSuperseding(Message<?> message) {
public boolean hasNoMessageSuperseding(Message<?> message) {
Integer messageSequenceNumber = message.getHeaders().getSequenceNumber();
if (messageSequenceNumber == null) {
return true;
}
for (Message<?> member : messages) {
Integer memberSequenceNumber = member.getHeaders().getSequenceNumber();
if (memberSequenceNumber == messageSequenceNumber) {
return false;
if (messageSequenceNumber > 0){
if (messageSequenceNumber == null) {
return true;
}
}
for (Message<?> member : messages) {
Integer memberSequenceNumber = member.getHeaders().getSequenceNumber();
if (memberSequenceNumber == messageSequenceNumber) {
return false;
}
}
}
return true;
}