From 93ebd8d5bd129ea4d47d64321b79016fe88fb9e5 Mon Sep 17 00:00:00 2001 From: Robert Muir Date: Fri, 10 Aug 2012 09:51:45 +0000 Subject: [PATCH] clean up BS2's Coordinator, use ctor instead of init, make coordFactors final git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1371630 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/lucene/search/BooleanScorer2.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java index 629118cf3a9..c946a89d5d9 100644 --- a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java +++ b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java @@ -41,16 +41,16 @@ class BooleanScorer2 extends Scorer { private final List prohibitedScorers; private class Coordinator { - float[] coordFactors = null; - int maxCoord = 0; // to be increased for each non prohibited scorer - int nrMatchers; // to be increased by score() of match counting scorers. - - void init(boolean disableCoord) { // use after all scorers have been added. + final float coordFactors[]; + + Coordinator(int maxCoord, boolean disableCoord) { coordFactors = new float[optionalScorers.size() + requiredScorers.size() + 1]; for (int i = 0; i < coordFactors.length; i++) { coordFactors[i] = disableCoord ? 1.0f : ((BooleanWeight)weight).coord(i, maxCoord); } } + + int nrMatchers; // to be increased by score() of match counting scorers. } private final Coordinator coordinator; @@ -92,15 +92,13 @@ class BooleanScorer2 extends Scorer { if (minNrShouldMatch < 0) { throw new IllegalArgumentException("Minimum number of optional scorers should not be negative"); } - coordinator = new Coordinator(); this.minNrShouldMatch = minNrShouldMatch; - coordinator.maxCoord = maxCoord; optionalScorers = optional; requiredScorers = required; prohibitedScorers = prohibited; + coordinator = new Coordinator(maxCoord, disableCoord); - coordinator.init(disableCoord); countingSumScorer = makeCountingSumScorer(disableCoord); }