You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2016/05/03 11:48:05 UTC

lucene-solr:master: LUCENE-7263: Make queryparser/xml/CoreParser's SpanQueryBuilderFactory accessible to deriving classes. (Daniel Collins via Christine Poerschke)

Repository: lucene-solr
Updated Branches:
  refs/heads/master 21b87bc7c -> 2fe824fd6


LUCENE-7263: Make queryparser/xml/CoreParser's SpanQueryBuilderFactory accessible to deriving classes. (Daniel Collins via Christine Poerschke)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/2fe824fd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2fe824fd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2fe824fd

Branch: refs/heads/master
Commit: 2fe824fd6e91b00461008b9a6d7e136f87ead716
Parents: 21b87bc
Author: Christine Poerschke <cp...@apache.org>
Authored: Tue May 3 10:05:02 2016 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Tue May 3 10:05:02 2016 +0100

----------------------------------------------------------------------
 lucene/CHANGES.txt                              |  3 ++
 .../lucene/queryparser/xml/CoreParser.java      | 31 ++++++++++++--------
 2 files changed, 21 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2fe824fd/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 41daaab..5f50032 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -127,6 +127,9 @@ Other
 * LUCENE-7210: Make TestCore*Parser's analyzer choice override-able
   (Christine Poerschke, Daniel Collins)
 
+* LUCENE-7263: Make queryparser/xml/CoreParser's SpanQueryBuilderFactory
+  accessible to deriving classes. (Daniel Collins via Christine Poerschke)
+
 ======================= Lucene 6.0.0 =======================
 
 System Requirements

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2fe824fd/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
index 0c5cf84..2dd0097 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
@@ -36,6 +36,7 @@ public class CoreParser implements QueryBuilder {
   protected Analyzer analyzer;
   protected QueryParser parser;
   protected QueryBuilderFactory queryFactory;
+  final protected SpanQueryBuilderFactory spanFactory;
 
 
   /**
@@ -62,6 +63,8 @@ public class CoreParser implements QueryBuilder {
     this.parser = parser;
 
     queryFactory = new QueryBuilderFactory();
+    spanFactory = new SpanQueryBuilderFactory();
+
     queryFactory.addBuilder("TermQuery", new TermQueryBuilder());
     queryFactory.addBuilder("TermsQuery", new TermsQueryBuilder(analyzer));
     queryFactory.addBuilder("MatchAllDocsQuery", new MatchAllDocsQueryBuilder());
@@ -77,34 +80,32 @@ public class CoreParser implements QueryBuilder {
     }
     queryFactory.addBuilder("ConstantScoreQuery", new ConstantScoreQueryBuilder(queryFactory));
 
-    SpanQueryBuilderFactory sqof = new SpanQueryBuilderFactory();
-
-    SpanNearBuilder snb = new SpanNearBuilder(sqof);
-    sqof.addBuilder("SpanNear", snb);
+    SpanNearBuilder snb = new SpanNearBuilder(spanFactory);
+    spanFactory.addBuilder("SpanNear", snb);
     queryFactory.addBuilder("SpanNear", snb);
 
     BoostingTermBuilder btb = new BoostingTermBuilder();
-    sqof.addBuilder("BoostingTermQuery", btb);
+    spanFactory.addBuilder("BoostingTermQuery", btb);
     queryFactory.addBuilder("BoostingTermQuery", btb);
 
     SpanTermBuilder snt = new SpanTermBuilder();
-    sqof.addBuilder("SpanTerm", snt);
+    spanFactory.addBuilder("SpanTerm", snt);
     queryFactory.addBuilder("SpanTerm", snt);
 
-    SpanOrBuilder sot = new SpanOrBuilder(sqof);
-    sqof.addBuilder("SpanOr", sot);
+    SpanOrBuilder sot = new SpanOrBuilder(spanFactory);
+    spanFactory.addBuilder("SpanOr", sot);
     queryFactory.addBuilder("SpanOr", sot);
 
     SpanOrTermsBuilder sots = new SpanOrTermsBuilder(analyzer);
-    sqof.addBuilder("SpanOrTerms", sots);
+    spanFactory.addBuilder("SpanOrTerms", sots);
     queryFactory.addBuilder("SpanOrTerms", sots);
 
-    SpanFirstBuilder sft = new SpanFirstBuilder(sqof);
-    sqof.addBuilder("SpanFirst", sft);
+    SpanFirstBuilder sft = new SpanFirstBuilder(spanFactory);
+    spanFactory.addBuilder("SpanFirst", sft);
     queryFactory.addBuilder("SpanFirst", sft);
 
-    SpanNotBuilder snot = new SpanNotBuilder(sqof);
-    sqof.addBuilder("SpanNot", snot);
+    SpanNotBuilder snot = new SpanNotBuilder(spanFactory);
+    spanFactory.addBuilder("SpanNot", snot);
     queryFactory.addBuilder("SpanNot", snot);
   }
 
@@ -116,6 +117,10 @@ public class CoreParser implements QueryBuilder {
     queryFactory.addBuilder(nodeName, builder);
   }
 
+  public void addSpanBuilder(String nodeName, SpanQueryBuilder builder) {
+    spanFactory.addBuilder(nodeName, builder);
+  }
+
   static Document parseXML(InputStream pXmlFile) throws ParserException {
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
     DocumentBuilder db = null;