diff --git a/CHANGES.txt b/CHANGES.txt
index 8a828b4ba27..783e937ab6f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -24,6 +24,12 @@ Changes in backwards compatibility policy
status on the thread is cleared when this exception is thrown.
(Mike McCandless)
+* LUCENE-2052: Some methods in Lucene core were changed to accept
+ Java 5 varargs. This is not a backwards compatibility problem as
+ long as you not try to override such a method. We left common
+ overridden methods unchanged and added varargs to constructors,
+ static, or final methods (MultiSearcher,...). (Uwe Schindler)
+
Changes in runtime behavior
* LUCENE-1677: Remove the system property to set SegmentReader class
diff --git a/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java b/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
index 3c62efdc201..dc0bfa2b0ea 100644
--- a/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
+++ b/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java
@@ -121,7 +121,7 @@ public final class PersianAnalyzer extends Analyzer {
/**
* Builds an analyzer with the given stop words.
*/
- public PersianAnalyzer(Version matchVersion, String[] stopwords) {
+ public PersianAnalyzer(Version matchVersion, String... stopwords) {
stoptable = StopFilter.makeStopSet(stopwords);
this.matchVersion = matchVersion;
}
diff --git a/src/java/org/apache/lucene/search/ConjunctionScorer.java b/src/java/org/apache/lucene/search/ConjunctionScorer.java
index e30e5dcd26f..cabd4fc6de4 100644
--- a/src/java/org/apache/lucene/search/ConjunctionScorer.java
+++ b/src/java/org/apache/lucene/search/ConjunctionScorer.java
@@ -33,7 +33,7 @@ class ConjunctionScorer extends Scorer {
this(similarity, scorers.toArray(new Scorer[scorers.size()]));
}
- public ConjunctionScorer(Similarity similarity, Scorer[] scorers) throws IOException {
+ public ConjunctionScorer(Similarity similarity, Scorer... scorers) throws IOException {
super(similarity);
this.scorers = scorers;
coord = similarity.coord(scorers.length, scorers.length);
diff --git a/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java b/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java
index cfd6e402dd4..07e578eacb1 100644
--- a/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java
+++ b/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java
@@ -97,7 +97,7 @@ public class FieldCacheTermsFilter extends Filter {
private String field;
private String[] terms;
- public FieldCacheTermsFilter(String field, String[] terms) {
+ public FieldCacheTermsFilter(String field, String... terms) {
this.field = field;
this.terms = terms;
}
diff --git a/src/java/org/apache/lucene/search/Query.java b/src/java/org/apache/lucene/search/Query.java
index a33fa0cb141..cff67dbf5af 100644
--- a/src/java/org/apache/lucene/search/Query.java
+++ b/src/java/org/apache/lucene/search/Query.java
@@ -178,7 +178,7 @@ public abstract class Query implements java.io.Serializable, Cloneable {
*
*
A utility for use by {@link #combine(Query[])} implementations.
*/
- public static Query mergeBooleanQueries(BooleanQuery[] queries) {
+ public static Query mergeBooleanQueries(BooleanQuery... queries) {
HashSet allClauses = new HashSet();
for (BooleanQuery booleanQuery : queries) {
for (BooleanClause clause : booleanQuery) {
diff --git a/src/java/org/apache/lucene/search/function/CustomScoreQuery.java b/src/java/org/apache/lucene/search/function/CustomScoreQuery.java
index 87e230458c4..460bf9f91b1 100755
--- a/src/java/org/apache/lucene/search/function/CustomScoreQuery.java
+++ b/src/java/org/apache/lucene/search/function/CustomScoreQuery.java
@@ -82,7 +82,7 @@ public class CustomScoreQuery extends Query {
* {@link org.apache.lucene.search.function.FieldScoreQuery FieldScoreQueries}.
* This parameter is optional - it can be null or even an empty array.
*/
- public CustomScoreQuery(Query subQuery, ValueSourceQuery valSrcQueries[]) {
+ public CustomScoreQuery(Query subQuery, ValueSourceQuery... valSrcQueries) {
super();
this.subQuery = subQuery;
this.valSrcQueries = valSrcQueries!=null?
diff --git a/src/java/org/apache/lucene/search/spans/SpanOrQuery.java b/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
index baf12333b8b..2951dd1f736 100644
--- a/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
+++ b/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
@@ -37,7 +37,7 @@ public class SpanOrQuery extends SpanQuery implements Cloneable {
private String field;
/** Construct a SpanOrQuery merging the provided clauses. */
- public SpanOrQuery(SpanQuery[] clauses) {
+ public SpanOrQuery(SpanQuery... clauses) {
// copy clauses array into an ArrayList
this.clauses = new ArrayList(clauses.length);
diff --git a/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java b/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java
index b2ac7be3745..be802a4c753 100644
--- a/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java
+++ b/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java
@@ -78,10 +78,10 @@ public final class FieldCacheSanityChecker {
/**
* Quick and dirty convenience method that instantiates an instance with
- * "good defaults" and uses it to test the CacheEntry[]
+ * "good defaults" and uses it to test the CacheEntrys
* @see #check
*/
- public static Insanity[] checkSanity(CacheEntry[] cacheEntries) {
+ public static Insanity[] checkSanity(CacheEntry... cacheEntries) {
FieldCacheSanityChecker sanityChecker = new FieldCacheSanityChecker();
// doesn't check for interned
sanityChecker.setRamUsageEstimator(new RamUsageEstimator(false));
@@ -96,7 +96,7 @@ public final class FieldCacheSanityChecker {
* (:TODO: is this a bad idea? are we masking a real problem?)
*
*/
- public Insanity[] check(CacheEntry[] cacheEntries) {
+ public Insanity[] check(CacheEntry... cacheEntries) {
if (null == cacheEntries || 0 == cacheEntries.length)
return new Insanity[0];
@@ -324,7 +324,7 @@ public final class FieldCacheSanityChecker {
private final InsanityType type;
private final String msg;
private final CacheEntry[] entries;
- public Insanity(InsanityType type, String msg, CacheEntry[] entries) {
+ public Insanity(InsanityType type, String msg, CacheEntry... entries) {
if (null == type) {
throw new IllegalArgumentException
("Insanity requires non-null InsanityType");
diff --git a/src/java/org/apache/lucene/util/SortedVIntList.java b/src/java/org/apache/lucene/util/SortedVIntList.java
index ec587d74189..de85c0dd2ea 100644
--- a/src/java/org/apache/lucene/util/SortedVIntList.java
+++ b/src/java/org/apache/lucene/util/SortedVIntList.java
@@ -50,7 +50,7 @@ public class SortedVIntList extends DocIdSet {
*
* @param sortedInts A sorted array of non negative integers.
*/
- public SortedVIntList(int[] sortedInts) {
+ public SortedVIntList(int... sortedInts) {
this(sortedInts, sortedInts.length);
}