summaryrefslogtreecommitdiff
path: root/java/common/src/main
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-06-16 21:02:45 +0000
committerRafael H. Schloming <rhs@apache.org>2008-06-16 21:02:45 +0000
commitab5ed1383ac95e1d994aaf742a0aeeeade69f0d9 (patch)
tree0456645c88fb77783afebf30ee691c695f5d1098 /java/common/src/main
parent35790b4c769bb7a49dbb89e41adc41e8c4156676 (diff)
downloadqpid-python-ab5ed1383ac95e1d994aaf742a0aeeeade69f0d9.tar.gz
QPID-901: add tests for RangeSet; fixed a bug found by the new tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@668309 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src/main')
-rw-r--r--java/common/src/main/java/org/apache/qpid/util/Serial.java10
-rw-r--r--java/common/src/main/java/org/apache/qpidity/transport/Range.java5
-rw-r--r--java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java33
3 files changed, 27 insertions, 21 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/util/Serial.java b/java/common/src/main/java/org/apache/qpid/util/Serial.java
index cfc97c3d04..44712984c0 100644
--- a/java/common/src/main/java/org/apache/qpid/util/Serial.java
+++ b/java/common/src/main/java/org/apache/qpid/util/Serial.java
@@ -1,5 +1,7 @@
package org.apache.qpid.util;
+import java.util.Comparator;
+
import org.apache.qpid.SerialException;
/**
@@ -10,6 +12,14 @@ import org.apache.qpid.SerialException;
public class Serial
{
+ public static final Comparator<Integer> COMPARATOR = new Comparator<Integer>()
+ {
+ public int compare(Integer s1, Integer s2)
+ {
+ return Serial.compare(s1, s2);
+ }
+ };
+
/**
* Compares two numbers using serial arithmetic.
*
diff --git a/java/common/src/main/java/org/apache/qpidity/transport/Range.java b/java/common/src/main/java/org/apache/qpidity/transport/Range.java
index 780f9e5997..14522cd45f 100644
--- a/java/common/src/main/java/org/apache/qpidity/transport/Range.java
+++ b/java/common/src/main/java/org/apache/qpidity/transport/Range.java
@@ -32,7 +32,7 @@ import static org.apache.qpid.util.Serial.*;
* @author Rafael H. Schloming
*/
-public class Range
+public final class Range
{
private final int lower;
private final int upper;
@@ -71,7 +71,8 @@ public class Range
public boolean touches(Range range)
{
- return (includes(range.upper + 1) || includes(range.lower - 1) ||
+ return (intersects(range) ||
+ includes(range.upper + 1) || includes(range.lower - 1) ||
range.includes(upper + 1) || range.includes(lower - 1));
}
diff --git a/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java b/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java
index 5097c849ee..e05e399262 100644
--- a/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java
+++ b/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java
@@ -20,7 +20,6 @@
*/
package org.apache.qpidity.transport;
-import java.util.Collection;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.LinkedList;
@@ -33,7 +32,7 @@ import static org.apache.qpid.util.Serial.*;
* @author Rafael H. Schloming
*/
-public class RangeSet implements Iterable<Range>
+public final class RangeSet implements Iterable<Range>
{
private LinkedList<Range> ranges = new LinkedList<Range>();
@@ -61,6 +60,19 @@ public class RangeSet implements Iterable<Range>
return false;
}
+ public boolean includes(int n)
+ {
+ for (Range r : this)
+ {
+ if (r.includes(n))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
public void add(Range range)
{
ListIterator<Range> it = ranges.listIterator();
@@ -127,21 +139,4 @@ public class RangeSet implements Iterable<Range>
return str.toString();
}
- public static final void main(String[] args)
- {
- RangeSet ranges = new RangeSet();
- ranges.add(5, 10);
- System.out.println(ranges);
- ranges.add(15, 20);
- System.out.println(ranges);
- ranges.add(23, 25);
- System.out.println(ranges);
- ranges.add(12, 14);
- System.out.println(ranges);
- ranges.add(0, 1);
- System.out.println(ranges);
- ranges.add(3, 11);
- System.out.println(ranges);
- }
-
}