diff --git a/CHANGES.txt b/CHANGES.txt
index 07ed0dd9aef..bf3d350bdb0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -18,6 +18,10 @@ API Changes
attribute interface and no cast needed anymore. (Uwe Schindler,
Michael Busch, Robert Muir, Adriano Crestani)
+* LUCENE-1857: Convert NumericRangeQuery API to Generics. NumericRangeQuery
+ and NumericRangeFilter now have Integer, Long, Float, Double as type param.
+ (Uwe Schindler)
+
Bug fixes
New features
diff --git a/src/java/org/apache/lucene/analysis/NumericTokenStream.java b/src/java/org/apache/lucene/analysis/NumericTokenStream.java
index 4fb15a95e95..abb8b1151aa 100644
--- a/src/java/org/apache/lucene/analysis/NumericTokenStream.java
+++ b/src/java/org/apache/lucene/analysis/NumericTokenStream.java
@@ -195,14 +195,14 @@ public final class NumericTokenStream extends TokenStream {
return this;
}
- // @Override
+ @Override
public void reset() {
if (valSize == 0)
throw new IllegalStateException("call set???Value() before usage");
shift = 0;
}
- // @Override
+ @Override
public boolean incrementToken() {
if (valSize == 0)
throw new IllegalStateException("call set???Value() before usage");
@@ -233,7 +233,7 @@ public final class NumericTokenStream extends TokenStream {
return true;
}
- // @Override
+ @Override
public String toString() {
final StringBuffer sb = new StringBuffer("(numeric,valSize=").append(valSize);
sb.append(",precisionStep=").append(precisionStep).append(')');
diff --git a/src/java/org/apache/lucene/document/NumericField.java b/src/java/org/apache/lucene/document/NumericField.java
index 56eadd79226..abfad527bfb 100644
--- a/src/java/org/apache/lucene/document/NumericField.java
+++ b/src/java/org/apache/lucene/document/NumericField.java
@@ -212,6 +212,7 @@ public final class NumericField extends AbstractField {
}
/** Returns always null
for numeric fields */
+ @Override
public byte[] getBinaryValue(byte[] result){
return null;
}
@@ -251,7 +252,7 @@ public final class NumericField extends AbstractField {
*/
public NumericField setIntValue(final int value) {
tokenStream.setIntValue(value);
- fieldsData = new Integer(value);
+ fieldsData = Integer.valueOf(value);
return this;
}
@@ -263,7 +264,7 @@ public final class NumericField extends AbstractField {
*/
public NumericField setDoubleValue(final double value) {
tokenStream.setDoubleValue(value);
- fieldsData = new Double(value);
+ fieldsData = Double.valueOf(value);
return this;
}
@@ -275,7 +276,7 @@ public final class NumericField extends AbstractField {
*/
public NumericField setFloatValue(final float value) {
tokenStream.setFloatValue(value);
- fieldsData = new Float(value);
+ fieldsData = Float.valueOf(value);
return this;
}
diff --git a/src/java/org/apache/lucene/search/MultiTermQuery.java b/src/java/org/apache/lucene/search/MultiTermQuery.java
index b8f93d8e725..2a284ceaf68 100644
--- a/src/java/org/apache/lucene/search/MultiTermQuery.java
+++ b/src/java/org/apache/lucene/search/MultiTermQuery.java
@@ -264,11 +264,13 @@ public abstract class MultiTermQuery extends Query {
}
}
+ @Override
public int hashCode() {
final int prime = 1279;
return (int) (prime * termCountCutoff + Double.doubleToLongBits(docCountPercent));
}
+ @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
@@ -303,10 +305,12 @@ public abstract class MultiTermQuery extends Query {
* instance; you'll need to create a private instance
* instead. */
public final static RewriteMethod CONSTANT_SCORE_AUTO_REWRITE_DEFAULT = new ConstantScoreAutoRewrite() {
+ @Override
public void setTermCountCutoff(int count) {
throw new UnsupportedOperationException("Please create a private instance");
}
+ @Override
public void setDocCountPercent(double percent) {
throw new UnsupportedOperationException("Please create a private instance");
}
@@ -387,6 +391,7 @@ public abstract class MultiTermQuery extends Query {
* Implemented for back compat in case MultiTermQuery
* subclasses do no implement.
*/
+ @Override
public String toString(String field) {
StringBuffer buffer = new StringBuffer();
if (term != null) {
@@ -417,7 +422,7 @@ public abstract class MultiTermQuery extends Query {
rewriteMethod = method;
}
- //@Override
+ @Override
public int hashCode() {
final int prime = 31;
int result = 1;
@@ -427,7 +432,7 @@ public abstract class MultiTermQuery extends Query {
return result;
}
- //@Override
+ @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
diff --git a/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java b/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
index b3a974bcf4a..68360c35fbf 100644
--- a/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
+++ b/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
@@ -51,13 +51,13 @@ public class MultiTermQueryWrapperFilter extends Filter {
this.query = query;
}
- //@Override
+ @Override
public String toString() {
// query.toString should be ok for the filter, too, if the query boost is 1.0f
return query.toString();
}
- //@Override
+ @Override
public final boolean equals(final Object o) {
if (o==this) return true;
if (o==null) return false;
@@ -67,7 +67,7 @@ public class MultiTermQueryWrapperFilter extends Filter {
return false;
}
- //@Override
+ @Override
public final int hashCode() {
return query.hashCode();
}
@@ -135,7 +135,7 @@ public class MultiTermQueryWrapperFilter extends Filter {
* not.
* @deprecated Use {@link #getDocIdSet(IndexReader)} instead.
*/
- //@Override
+ @Override
public BitSet bits(IndexReader reader) throws IOException {
final TermEnum enumerator = query.getEnum(reader);
try {
@@ -155,7 +155,7 @@ public class MultiTermQueryWrapperFilter extends Filter {
* Returns a DocIdSet with documents that should be
* permitted in search results.
*/
- //@Override
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final TermEnum enumerator = query.getEnum(reader);
try {
diff --git a/src/java/org/apache/lucene/search/NumericRangeFilter.java b/src/java/org/apache/lucene/search/NumericRangeFilter.java
index 55f2a24bab1..025c3418b32 100644
--- a/src/java/org/apache/lucene/search/NumericRangeFilter.java
+++ b/src/java/org/apache/lucene/search/NumericRangeFilter.java
@@ -31,9 +31,7 @@ import org.apache.lucene.util.NumericUtils; // for javadocs
* factory methods, eg:
*
*
- * Filter f = NumericRangeFilter.newFloatRange("weight",
- * new Float(0.3f), new Float(0.10f),
- * true, true);
+ * Filter f = NumericRangeFilter.newFloatRange("weight", 0.3f, 0.10f, true, true);
*
*
* accepts all documents whose float valued "weight" field
@@ -47,9 +45,9 @@ import org.apache.lucene.util.NumericUtils; // for javadocs
*
* @since 2.9
**/
-public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
+public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
- private NumericRangeFilter(final NumericRangeQuery query) {
+ private NumericRangeFilter(final NumericRangeQuery query) {
super(query);
}
@@ -60,10 +58,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newLongRange(final String field, final int precisionStep,
+ public static NumericRangeFilter newLongRange(final String field, final int precisionStep,
Long min, Long max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newLongRange(field, precisionStep, min, max, minInclusive, maxInclusive)
);
}
@@ -75,10 +73,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newLongRange(final String field,
+ public static NumericRangeFilter newLongRange(final String field,
Long min, Long max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newLongRange(field, min, max, minInclusive, maxInclusive)
);
}
@@ -90,10 +88,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newIntRange(final String field, final int precisionStep,
+ public static NumericRangeFilter newIntRange(final String field, final int precisionStep,
Integer min, Integer max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newIntRange(field, precisionStep, min, max, minInclusive, maxInclusive)
);
}
@@ -105,10 +103,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newIntRange(final String field,
+ public static NumericRangeFilter newIntRange(final String field,
Integer min, Integer max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newIntRange(field, min, max, minInclusive, maxInclusive)
);
}
@@ -120,10 +118,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newDoubleRange(final String field, final int precisionStep,
+ public static NumericRangeFilter newDoubleRange(final String field, final int precisionStep,
Double min, Double max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newDoubleRange(field, precisionStep, min, max, minInclusive, maxInclusive)
);
}
@@ -135,10 +133,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newDoubleRange(final String field,
+ public static NumericRangeFilter newDoubleRange(final String field,
Double min, Double max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newDoubleRange(field, min, max, minInclusive, maxInclusive)
);
}
@@ -150,10 +148,10 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newFloatRange(final String field, final int precisionStep,
+ public static NumericRangeFilter newFloatRange(final String field, final int precisionStep,
Float min, Float max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newFloatRange(field, precisionStep, min, max, minInclusive, maxInclusive)
);
}
@@ -165,27 +163,32 @@ public final class NumericRangeFilter extends MultiTermQueryWrapperFilter {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeFilter newFloatRange(final String field,
+ public static NumericRangeFilter newFloatRange(final String field,
Float min, Float max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeFilter(
+ return new NumericRangeFilter(
NumericRangeQuery.newFloatRange(field, min, max, minInclusive, maxInclusive)
);
}
/** Returns the field name for this filter */
- public String getField() { return ((NumericRangeQuery)query).getField(); }
+ @SuppressWarnings("unchecked")
+ public String getField() { return ((NumericRangeQuery)query).getField(); }
/** Returns true
if the lower endpoint is inclusive */
- public boolean includesMin() { return ((NumericRangeQuery)query).includesMin(); }
+ @SuppressWarnings("unchecked")
+ public boolean includesMin() { return ((NumericRangeQuery)query).includesMin(); }
/** Returns true
if the upper endpoint is inclusive */
- public boolean includesMax() { return ((NumericRangeQuery)query).includesMax(); }
+ @SuppressWarnings("unchecked")
+ public boolean includesMax() { return ((NumericRangeQuery)query).includesMax(); }
/** Returns the lower value of this range filter */
- public Number getMin() { return ((NumericRangeQuery)query).getMin(); }
+ @SuppressWarnings("unchecked")
+ public T getMin() { return ((NumericRangeQuery)query).getMin(); }
/** Returns the upper value of this range filter */
- public Number getMax() { return ((NumericRangeQuery)query).getMax(); }
+ @SuppressWarnings("unchecked")
+ public T getMax() { return ((NumericRangeQuery)query).getMax(); }
}
diff --git a/src/java/org/apache/lucene/search/NumericRangeQuery.java b/src/java/org/apache/lucene/search/NumericRangeQuery.java
index 0e405e4498f..48d67badda3 100644
--- a/src/java/org/apache/lucene/search/NumericRangeQuery.java
+++ b/src/java/org/apache/lucene/search/NumericRangeQuery.java
@@ -41,9 +41,7 @@ import org.apache.lucene.index.Term;
* factory methods, eg:
*
*
- * Query q = NumericRangeQuery.newFloatRange("weight",
- * new Float(0.3f), new Float(0.10f),
- * true, true);
+ * Query q = NumericRangeQuery.newFloatRange("weight", 0.3f, 0.10f, true, true);
*
*
* matches all documents whose float valued "weight" field
@@ -154,10 +152,10 @@ import org.apache.lucene.index.Term;
*
* @since 2.9
**/
-public final class NumericRangeQuery extends MultiTermQuery {
+public final class NumericRangeQuery extends MultiTermQuery {
private NumericRangeQuery(final String field, final int precisionStep, final int valSize,
- Number min, Number max, final boolean minInclusive, final boolean maxInclusive
+ T min, T max, final boolean minInclusive, final boolean maxInclusive
) {
assert (valSize == 32 || valSize == 64);
if (precisionStep < 1)
@@ -200,10 +198,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newLongRange(final String field, final int precisionStep,
+ public static NumericRangeQuery newLongRange(final String field, final int precisionStep,
Long min, Long max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, precisionStep, 64, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, precisionStep, 64, min, max, minInclusive, maxInclusive);
}
/**
@@ -213,10 +211,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newLongRange(final String field,
+ public static NumericRangeQuery newLongRange(final String field,
Long min, Long max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 64, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 64, min, max, minInclusive, maxInclusive);
}
/**
@@ -226,10 +224,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newIntRange(final String field, final int precisionStep,
+ public static NumericRangeQuery newIntRange(final String field, final int precisionStep,
Integer min, Integer max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, precisionStep, 32, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, precisionStep, 32, min, max, minInclusive, maxInclusive);
}
/**
@@ -239,10 +237,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newIntRange(final String field,
+ public static NumericRangeQuery newIntRange(final String field,
Integer min, Integer max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 32, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 32, min, max, minInclusive, maxInclusive);
}
/**
@@ -252,10 +250,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newDoubleRange(final String field, final int precisionStep,
+ public static NumericRangeQuery newDoubleRange(final String field, final int precisionStep,
Double min, Double max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, precisionStep, 64, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, precisionStep, 64, min, max, minInclusive, maxInclusive);
}
/**
@@ -265,10 +263,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newDoubleRange(final String field,
+ public static NumericRangeQuery newDoubleRange(final String field,
Double min, Double max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 64, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 64, min, max, minInclusive, maxInclusive);
}
/**
@@ -278,10 +276,10 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newFloatRange(final String field, final int precisionStep,
+ public static NumericRangeQuery newFloatRange(final String field, final int precisionStep,
Float min, Float max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, precisionStep, 32, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, precisionStep, 32, min, max, minInclusive, maxInclusive);
}
/**
@@ -291,13 +289,13 @@ public final class NumericRangeQuery extends MultiTermQuery {
* by setting the min or max value to null
. By setting inclusive to false, it will
* match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
*/
- public static NumericRangeQuery newFloatRange(final String field,
+ public static NumericRangeQuery newFloatRange(final String field,
Float min, Float max, final boolean minInclusive, final boolean maxInclusive
) {
- return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 32, min, max, minInclusive, maxInclusive);
+ return new NumericRangeQuery(field, NumericUtils.PRECISION_STEP_DEFAULT, 32, min, max, minInclusive, maxInclusive);
}
- //@Override
+ @Override
protected FilteredTermEnum getEnum(final IndexReader reader) throws IOException {
return new NumericRangeTermEnum(reader);
}
@@ -312,12 +310,12 @@ public final class NumericRangeQuery extends MultiTermQuery {
public boolean includesMax() { return maxInclusive; }
/** Returns the lower value of this range query */
- public Number getMin() { return min; }
+ public T getMin() { return min; }
/** Returns the upper value of this range query */
- public Number getMax() { return max; }
+ public T getMax() { return max; }
- //@Override
+ @Override
public String toString(final String field) {
final StringBuffer sb = new StringBuffer();
if (!this.field.equals(field)) sb.append(this.field).append(':');
@@ -330,7 +328,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
.toString();
}
- //@Override
+ @Override
public final boolean equals(final Object o) {
if (o==this) return true;
if (!super.equals(o))
@@ -349,7 +347,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
return false;
}
- //@Override
+ @Override
public final int hashCode() {
int hash = super.hashCode();
hash += field.hashCode()^0x4565fd66 + precisionStep^0x64365465;
@@ -363,7 +361,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
// members (package private, to be also fast accessible by NumericRangeTermEnum)
final String field;
final int precisionStep, valSize;
- final Number min, max;
+ final T min, max;
final boolean minInclusive,maxInclusive;
/**
@@ -379,7 +377,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
private final class NumericRangeTermEnum extends FilteredTermEnum {
private final IndexReader reader;
- private final LinkedList/**/ rangeBounds = new LinkedList/**/();
+ private final LinkedList rangeBounds = new LinkedList();
private String currentUpperBound = null;
NumericRangeTermEnum(final IndexReader reader) throws IOException {
@@ -412,7 +410,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
}
NumericUtils.splitLongRange(new NumericUtils.LongRangeBuilder() {
- //@Override
+ @Override
public final void addRange(String minPrefixCoded, String maxPrefixCoded) {
rangeBounds.add(minPrefixCoded);
rangeBounds.add(maxPrefixCoded);
@@ -447,7 +445,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
}
NumericUtils.splitIntRange(new NumericUtils.IntRangeBuilder() {
- //@Override
+ @Override
public final void addRange(String minPrefixCoded, String maxPrefixCoded) {
rangeBounds.add(minPrefixCoded);
rangeBounds.add(maxPrefixCoded);
@@ -465,13 +463,13 @@ public final class NumericRangeQuery extends MultiTermQuery {
next();
}
- //@Override
+ @Override
public float difference() {
return 1.0f;
}
/** this is a dummy, it is not used by this class. */
- //@Override
+ @Override
protected boolean endEnum() {
assert false; // should never be called
return (currentTerm != null);
@@ -484,13 +482,13 @@ public final class NumericRangeQuery extends MultiTermQuery {
* of false
ends iterating the current enum
* and forwards to the next sub-range.
*/
- //@Override
+ @Override
protected boolean termCompare(Term term) {
return (term.field() == field && term.text().compareTo(currentUpperBound) <= 0);
}
/** Increments the enumeration to the next element. True if one exists. */
- //@Override
+ @Override
public boolean next() throws IOException {
// if a current term exists, the actual enum is initialized:
// try change to next term, if no such term exists, fall-through
@@ -510,8 +508,8 @@ public final class NumericRangeQuery extends MultiTermQuery {
actualEnum.close();
actualEnum = null;
}
- final String lowerBound = (String)rangeBounds.removeFirst();
- this.currentUpperBound = (String)rangeBounds.removeFirst();
+ final String lowerBound = rangeBounds.removeFirst();
+ this.currentUpperBound = rangeBounds.removeFirst();
// this call recursively uses next(), if no valid term in
// next enum found.
// if this behavior is changed/modified in the superclass,
@@ -521,7 +519,7 @@ public final class NumericRangeQuery extends MultiTermQuery {
}
/** Closes the enumeration to further activity, freeing resources. */
- //@Override
+ @Override
public void close() throws IOException {
rangeBounds.clear();
currentUpperBound = null;
diff --git a/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java b/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
index 4588f1d33c4..e137298c542 100644
--- a/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
+++ b/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
@@ -66,7 +66,7 @@ public class TestMultiValuedNumericRangeQuery extends LuceneTestCase {
int a=lower; lower=upper; upper=a;
}
TermRangeQuery cq=new TermRangeQuery("asc", format.format(lower), format.format(upper), true, true);
- NumericRangeQuery tq=NumericRangeQuery.newIntRange("trie", new Integer(lower), new Integer(upper), true, true);
+ NumericRangeQuery tq=NumericRangeQuery.newIntRange("trie", lower, upper, true, true);
TopDocs trTopDocs = searcher.search(cq, 1);
TopDocs nrTopDocs = searcher.search(tq, 1);
assertEquals("Returned count for NumericRangeQuery and TermRangeQuery must be equal", trTopDocs.totalHits, nrTopDocs.totalHits );
diff --git a/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java b/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
index 77ad927debd..d93a34e919a 100644
--- a/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
+++ b/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
@@ -91,8 +91,8 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
int lower=(distance*3/2)+startOffset, upper=lower + count*distance + (distance/3);
- NumericRangeQuery q = NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, true);
- NumericRangeFilter f = NumericRangeFilter.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, true);
+ NumericRangeQuery q = NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, true);
+ NumericRangeFilter f = NumericRangeFilter.newIntRange(field, precisionStep, lower, upper, true, true);
int lastTerms = 0;
for (byte i=0; i<3; i++) {
TopDocs topDocs;
@@ -149,12 +149,12 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
}
public void testInverseRange() throws Exception {
- NumericRangeFilter f = NumericRangeFilter.newIntRange("field8", 8, new Integer(1000), new Integer(-1000), true, true);
+ NumericRangeFilter f = NumericRangeFilter.newIntRange("field8", 8, 1000, -1000, true, true);
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
- f = NumericRangeFilter.newIntRange("field8", 8, new Integer(Integer.MAX_VALUE), null, false, false);
+ f = NumericRangeFilter.newIntRange("field8", 8, Integer.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Integer.MAX_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
- f = NumericRangeFilter.newIntRange("field8", 8, null, new Integer(Integer.MIN_VALUE), false, false);
+ f = NumericRangeFilter.newIntRange("field8", 8, null, Integer.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Integer.MIN_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
}
@@ -163,7 +163,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
int upper=(count-1)*distance + (distance/3) + startOffset;
- NumericRangeQuery q=NumericRangeQuery.newIntRange(field, precisionStep, null, new Integer(upper), true, true);
+ NumericRangeQuery q=NumericRangeQuery.newIntRange(field, precisionStep, null, upper, true, true);
TopDocs topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
System.out.println("Found "+q.getTotalNumberOfTerms()+" distinct terms in left open range for field '"+field+"'.");
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -191,7 +191,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
int lower=(count-1)*distance + (distance/3) +startOffset;
- NumericRangeQuery q=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), null, true, true);
+ NumericRangeQuery q=NumericRangeQuery.newIntRange(field, precisionStep, lower, null, true, true);
TopDocs topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
System.out.println("Found "+q.getTotalNumberOfTerms()+" distinct terms in right open range for field '"+field+"'.");
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -226,7 +226,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
int a=lower; lower=upper; upper=a;
}
// test inclusive range
- NumericRangeQuery tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, true);
+ NumericRangeQuery tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, true);
TermRangeQuery cq=new TermRangeQuery(field, NumericUtils.intToPrefixCoded(lower), NumericUtils.intToPrefixCoded(upper), true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
TopDocs cTopDocs = searcher.search(cq, 1);
@@ -234,7 +234,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), false, false);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, false, false);
cq=new TermRangeQuery(field, NumericUtils.intToPrefixCoded(lower), NumericUtils.intToPrefixCoded(upper), false, false);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -242,7 +242,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test left exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), false, true);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, false, true);
cq=new TermRangeQuery(field, NumericUtils.intToPrefixCoded(lower), NumericUtils.intToPrefixCoded(upper), false, true);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -250,7 +250,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test right exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, false);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, false);
cq=new TermRangeQuery(field, NumericUtils.intToPrefixCoded(lower), NumericUtils.intToPrefixCoded(upper), true, false);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -294,19 +294,19 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
int a=lower; lower=upper; upper=a;
}
// test inclusive range
- Query tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, true);
+ Query tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
// test exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), false, false);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, false, false);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to exclusive range length", Math.max(upper-lower-1, 0), tTopDocs.totalHits );
// test left exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), false, true);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, false, true);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to half exclusive range length", upper-lower, tTopDocs.totalHits );
// test right exclusive range
- tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, false);
+ tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, false);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to half exclusive range length", upper-lower, tTopDocs.totalHits );
}
@@ -330,12 +330,12 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
final int lower=-1000, upper=+2000;
Query tq=NumericRangeQuery.newFloatRange(field, precisionStep,
- new Float(NumericUtils.sortableIntToFloat(lower)), new Float(NumericUtils.sortableIntToFloat(upper)), true, true);
+ NumericUtils.sortableIntToFloat(lower), NumericUtils.sortableIntToFloat(upper), true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
Filter tf=NumericRangeFilter.newFloatRange(field, precisionStep,
- new Float(NumericUtils.sortableIntToFloat(lower)), new Float(NumericUtils.sortableIntToFloat(upper)), true, true);
+ NumericUtils.sortableIntToFloat(lower), NumericUtils.sortableIntToFloat(upper), true, true);
tTopDocs = searcher.search(new MatchAllDocsQuery(), tf, 1);
assertEquals("Returned count of range filter must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
}
@@ -363,7 +363,7 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
if (lower>upper) {
int a=lower; lower=upper; upper=a;
}
- Query tq=NumericRangeQuery.newIntRange(field, precisionStep, new Integer(lower), new Integer(upper), true, true);
+ Query tq=NumericRangeQuery.newIntRange(field, precisionStep, lower, upper, true, true);
TopDocs topDocs = searcher.search(tq, null, noDocs, new Sort(new SortField(field, SortField.INT, true)));
if (topDocs.totalHits==0) continue;
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -390,40 +390,40 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
}
public void testEqualsAndHash() throws Exception {
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test1", 4, new Integer(10), new Integer(20), true, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test2", 4, new Integer(10), new Integer(20), false, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test3", 4, new Integer(10), new Integer(20), true, false));
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test4", 4, new Integer(10), new Integer(20), false, false));
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test5", 4, new Integer(10), null, true, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test6", 4, null, new Integer(20), true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test1", 4, 10, 20, true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test5", 4, 10, null, true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test6", 4, null, 20, true, true));
QueryUtils.checkHashEquals(NumericRangeQuery.newIntRange("test7", 4, null, null, true, true));
QueryUtils.checkEqual(
- NumericRangeQuery.newIntRange("test8", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newIntRange("test8", 4, new Integer(10), new Integer(20), true, true)
+ NumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true),
+ NumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newIntRange("test9", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newIntRange("test9", 8, new Integer(10), new Integer(20), true, true)
+ NumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true),
+ NumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newIntRange("test10a", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newIntRange("test10b", 4, new Integer(10), new Integer(20), true, true)
+ NumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true),
+ NumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newIntRange("test11", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newIntRange("test11", 4, new Integer(20), new Integer(10), true, true)
+ NumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true),
+ NumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newIntRange("test12", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newIntRange("test12", 4, new Integer(10), new Integer(20), false, true)
+ NumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true),
+ NumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newIntRange("test13", 4, new Integer(10), new Integer(20), true, true),
- NumericRangeQuery.newFloatRange("test13", 4, new Float(10f), new Float(20f), true, true)
+ NumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true),
+ NumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)
);
// the following produces a hash collision, because Long and Integer have the same hashcode, so only test equality:
- Query q1 = NumericRangeQuery.newIntRange("test14", 4, new Integer(10), new Integer(20), true, true);
- Query q2 = NumericRangeQuery.newLongRange("test14", 4, new Long(10L), new Long(20L), true, true);
+ Query q1 = NumericRangeQuery.newIntRange("test14", 4, 10, 20, true, true);
+ Query q2 = NumericRangeQuery.newLongRange("test14", 4, 10L, 20L, true, true);
assertFalse(q1.equals(q2));
assertFalse(q2.equals(q1));
}
diff --git a/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java b/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
index 67f0d6588b6..4f42aa0052a 100644
--- a/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
+++ b/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
@@ -95,8 +95,8 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
long lower=(distance*3/2)+startOffset, upper=lower + count*distance + (distance/3);
- NumericRangeQuery q = NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, true);
- NumericRangeFilter f = NumericRangeFilter.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, true);
+ NumericRangeQuery q = NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, true);
+ NumericRangeFilter f = NumericRangeFilter.newLongRange(field, precisionStep, lower, upper, true, true);
int lastTerms = 0;
for (byte i=0; i<3; i++) {
TopDocs topDocs;
@@ -157,12 +157,12 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
}
public void testInverseRange() throws Exception {
- NumericRangeFilter f = NumericRangeFilter.newLongRange("field8", 8, new Long(1000L), new Long(-1000L), true, true);
+ NumericRangeFilter f = NumericRangeFilter.newLongRange("field8", 8, 1000L, -1000L, true, true);
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
- f = NumericRangeFilter.newLongRange("field8", 8, new Long(Long.MAX_VALUE), null, false, false);
+ f = NumericRangeFilter.newLongRange("field8", 8, Long.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Long.MAX_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
- f = NumericRangeFilter.newLongRange("field8", 8, null, new Long(Long.MIN_VALUE), false, false);
+ f = NumericRangeFilter.newLongRange("field8", 8, null, Long.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Long.MIN_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
}
@@ -171,7 +171,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
long upper=(count-1)*distance + (distance/3) + startOffset;
- NumericRangeQuery q=NumericRangeQuery.newLongRange(field, precisionStep, null, new Long(upper), true, true);
+ NumericRangeQuery q=NumericRangeQuery.newLongRange(field, precisionStep, null, upper, true, true);
TopDocs topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
System.out.println("Found "+q.getTotalNumberOfTerms()+" distinct terms in left open range for field '"+field+"'.");
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -203,7 +203,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
String field="field"+precisionStep;
int count=3000;
long lower=(count-1)*distance + (distance/3) +startOffset;
- NumericRangeQuery q=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), null, true, true);
+ NumericRangeQuery q=NumericRangeQuery.newLongRange(field, precisionStep, lower, null, true, true);
TopDocs topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
System.out.println("Found "+q.getTotalNumberOfTerms()+" distinct terms in right open range for field '"+field+"'.");
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -242,7 +242,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
long a=lower; lower=upper; upper=a;
}
// test inclusive range
- NumericRangeQuery tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, true);
+ NumericRangeQuery tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, true);
TermRangeQuery cq=new TermRangeQuery(field, NumericUtils.longToPrefixCoded(lower), NumericUtils.longToPrefixCoded(upper), true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
TopDocs cTopDocs = searcher.search(cq, 1);
@@ -250,7 +250,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), false, false);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, false, false);
cq=new TermRangeQuery(field, NumericUtils.longToPrefixCoded(lower), NumericUtils.longToPrefixCoded(upper), false, false);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -258,7 +258,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test left exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), false, true);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, false, true);
cq=new TermRangeQuery(field, NumericUtils.longToPrefixCoded(lower), NumericUtils.longToPrefixCoded(upper), false, true);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -266,7 +266,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
termCountT += tq.getTotalNumberOfTerms();
termCountC += cq.getTotalNumberOfTerms();
// test right exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, false);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, false);
cq=new TermRangeQuery(field, NumericUtils.longToPrefixCoded(lower), NumericUtils.longToPrefixCoded(upper), true, false);
tTopDocs = searcher.search(tq, 1);
cTopDocs = searcher.search(cq, 1);
@@ -314,19 +314,19 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
long a=lower; lower=upper; upper=a;
}
// test inclusive range
- Query tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, true);
+ Query tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
// test exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), false, false);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, false, false);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to exclusive range length", Math.max(upper-lower-1, 0), tTopDocs.totalHits );
// test left exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), false, true);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, false, true);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to half exclusive range length", upper-lower, tTopDocs.totalHits );
// test right exclusive range
- tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, false);
+ tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, false);
tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to half exclusive range length", upper-lower, tTopDocs.totalHits );
}
@@ -354,12 +354,12 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
final long lower=-1000L, upper=+2000L;
Query tq=NumericRangeQuery.newDoubleRange(field, precisionStep,
- new Double(NumericUtils.sortableLongToDouble(lower)), new Double(NumericUtils.sortableLongToDouble(upper)), true, true);
+ NumericUtils.sortableLongToDouble(lower), NumericUtils.sortableLongToDouble(upper), true, true);
TopDocs tTopDocs = searcher.search(tq, 1);
assertEquals("Returned count of range query must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
Filter tf=NumericRangeFilter.newDoubleRange(field, precisionStep,
- new Double(NumericUtils.sortableLongToDouble(lower)), new Double(NumericUtils.sortableLongToDouble(upper)), true, true);
+ NumericUtils.sortableLongToDouble(lower), NumericUtils.sortableLongToDouble(upper), true, true);
tTopDocs = searcher.search(new MatchAllDocsQuery(), tf, 1);
assertEquals("Returned count of range filter must be equal to inclusive range length", upper-lower+1, tTopDocs.totalHits );
}
@@ -391,7 +391,7 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
if (lower>upper) {
long a=lower; lower=upper; upper=a;
}
- Query tq=NumericRangeQuery.newLongRange(field, precisionStep, new Long(lower), new Long(upper), true, true);
+ Query tq=NumericRangeQuery.newLongRange(field, precisionStep, lower, upper, true, true);
TopDocs topDocs = searcher.search(tq, null, noDocs, new Sort(new SortField(field, SortField.LONG, true)));
if (topDocs.totalHits==0) continue;
ScoreDoc[] sd = topDocs.scoreDocs;
@@ -422,36 +422,36 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
}
public void testEqualsAndHash() throws Exception {
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test1", 4, new Long(10L), new Long(20L), true, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test2", 4, new Long(10L), new Long(20L), false, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test3", 4, new Long(10L), new Long(20L), true, false));
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test4", 4, new Long(10L), new Long(20L), false, false));
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test5", 4, new Long(10L), null, true, true));
- QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test6", 4, null, new Long(20L), true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test1", 4, 10L, 20L, true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test2", 4, 10L, 20L, false, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test3", 4, 10L, 20L, true, false));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test4", 4, 10L, 20L, false, false));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test5", 4, 10L, null, true, true));
+ QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test6", 4, null, 20L, true, true));
QueryUtils.checkHashEquals(NumericRangeQuery.newLongRange("test7", 4, null, null, true, true));
QueryUtils.checkEqual(
- NumericRangeQuery.newLongRange("test8", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newLongRange("test8", 4, new Long(10L), new Long(20L), true, true)
+ NumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newLongRange("test9", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newLongRange("test9", 8, new Long(10L), new Long(20L), true, true)
+ NumericRangeQuery.newLongRange("test9", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newLongRange("test9", 8, 10L, 20L, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newLongRange("test10a", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newLongRange("test10b", 4, new Long(10L), new Long(20L), true, true)
+ NumericRangeQuery.newLongRange("test10a", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newLongRange("test10b", 4, 10L, 20L, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newLongRange("test11", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newLongRange("test11", 4, new Long(20L), new Long(10L), true, true)
+ NumericRangeQuery.newLongRange("test11", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newLongRange("test11", 4, 20L, 10L, true, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newLongRange("test12", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newLongRange("test12", 4, new Long(10L), new Long(20L), false, true)
+ NumericRangeQuery.newLongRange("test12", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newLongRange("test12", 4, 10L, 20L, false, true)
);
QueryUtils.checkUnequal(
- NumericRangeQuery.newLongRange("test13", 4, new Long(10L), new Long(20L), true, true),
- NumericRangeQuery.newFloatRange("test13", 4, new Float(10f), new Float(20f), true, true)
+ NumericRangeQuery.newLongRange("test13", 4, 10L, 20L, true, true),
+ NumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)
);
// difference to int range is tested in TestNumericRangeQuery32
}