Lucene.Net.QueryParser.Classic.QueryParserBase refactor: de-nested the Operator 
[Flags] enum from QueryParserBase to make the usage syntax shorter


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/3b5b9cc7
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/3b5b9cc7
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/3b5b9cc7

Branch: refs/heads/api-work
Commit: 3b5b9cc79f1851915fd7d636baefeaac29c33a00
Parents: 8e6439d
Author: Shad Storhaug <[email protected]>
Authored: Mon Mar 6 10:43:17 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Mon Mar 6 18:08:07 2017 +0700

----------------------------------------------------------------------
 .../Classic/QueryParserBase.cs                  | 31 ++++++++++----------
 .../Classic/TestMultiFieldQueryParser.cs        |  2 +-
 .../Classic/TestQueryParser.cs                  | 16 +++++-----
 3 files changed, 25 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3b5b9cc7/src/Lucene.Net.QueryParser/Classic/QueryParserBase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Classic/QueryParserBase.cs 
b/src/Lucene.Net.QueryParser/Classic/QueryParserBase.cs
index 0779bf6..712dcf2 100644
--- a/src/Lucene.Net.QueryParser/Classic/QueryParserBase.cs
+++ b/src/Lucene.Net.QueryParser/Classic/QueryParserBase.cs
@@ -31,6 +31,19 @@ namespace Lucene.Net.QueryParsers.Classic
      * limitations under the License.
      */
 
+    // LUCENENET specific: In Java, this was part of the QueryParser class,
+    // but it has been de-nested to make usage syntax shorter.
+
+    /// <summary>
+    /// The default operator for parsing queries. 
+    /// Use <see cref="QueryParserBase.DefaultOperator"/> to change it.
+    /// </summary>
+    public enum Operator
+    {
+        OR,
+        AND
+    }
+
     /// <summary>
     /// This class is overridden by <see cref="QueryParser"/>.
     /// </summary>
@@ -54,11 +67,11 @@ namespace Lucene.Net.QueryParsers.Classic
         // the nested class:
         
         /// <summary>
-        /// Alternative form of <see cref="QueryParserBase.Operator.AND"/> 
+        /// Alternative form of <see cref="Operator.AND"/> 
         /// </summary>
         public const Operator AND_OPERATOR = Operator.AND;
         /// <summary>
-        /// Alternative form of <see cref="QueryParserBase.Operator.OR"/> 
+        /// Alternative form of <see cref="Operator.OR"/> 
         /// </summary>
         public const Operator OR_OPERATOR = Operator.OR;
 
@@ -68,19 +81,7 @@ namespace Lucene.Net.QueryParsers.Classic
         //Operator operator_Renamed = OR_OPERATOR;
 
 
-        // Note: In Java, this was part of the QueryParser class. 
-        // However, in .NET we need to put it here for the constants
-        // defined above.
-
-        /// <summary>
-        /// The default operator for parsing queries. 
-        /// Use <see cref="QueryParserBase.DefaultOperator"/> to change it.
-        /// </summary>
-        public enum Operator
-        {
-            OR,
-            AND
-        }
+        
 
         //bool lowercaseExpandedTerms = true;
         //MultiTermQuery.RewriteMethod multiTermRewriteMethod = 
MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3b5b9cc7/src/Lucene.Net.Tests.QueryParser/Classic/TestMultiFieldQueryParser.cs
----------------------------------------------------------------------
diff --git 
a/src/Lucene.Net.Tests.QueryParser/Classic/TestMultiFieldQueryParser.cs 
b/src/Lucene.Net.Tests.QueryParser/Classic/TestMultiFieldQueryParser.cs
index 437841d..8d66f19 100644
--- a/src/Lucene.Net.Tests.QueryParser/Classic/TestMultiFieldQueryParser.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Classic/TestMultiFieldQueryParser.cs
@@ -321,7 +321,7 @@ namespace Lucene.Net.QueryParsers.Classic
 
                 MultiFieldQueryParser mfqp =
                   new MultiFieldQueryParser(TEST_VERSION_CURRENT, new string[] 
{ "body" }, analyzer);
-                mfqp.DefaultOperator = QueryParser.Operator.AND;
+                mfqp.DefaultOperator = Operator.AND;
                 Query q = mfqp.Parse("the footest");
                 using (IndexReader ir = DirectoryReader.Open(ramDir))
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3b5b9cc7/src/Lucene.Net.Tests.QueryParser/Classic/TestQueryParser.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.QueryParser/Classic/TestQueryParser.cs 
b/src/Lucene.Net.Tests.QueryParser/Classic/TestQueryParser.cs
index ab63341..4f4924d 100644
--- a/src/Lucene.Net.Tests.QueryParser/Classic/TestQueryParser.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Classic/TestQueryParser.cs
@@ -86,14 +86,14 @@ namespace Lucene.Net.QueryParsers.Classic
         {
             Debug.Assert(cqpC is QueryParser);
             QueryParser qp = (QueryParser)cqpC;
-            qp.DefaultOperator = QueryParserBase.Operator.OR;
+            qp.DefaultOperator = Operator.OR;
         }
 
         public override void 
SetDefaultOperatorAND(ICommonQueryParserConfiguration cqpC)
         {
             Debug.Assert(cqpC is QueryParser);
             QueryParser qp = (QueryParser)cqpC;
-            qp.DefaultOperator = QueryParserBase.Operator.AND;
+            qp.DefaultOperator = Operator.AND;
         }
 
         public override void 
SetAnalyzeRangeTerms(ICommonQueryParserConfiguration cqpC, bool value)
@@ -363,7 +363,7 @@ namespace Lucene.Net.QueryParsers.Classic
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockSynonymAnalyzer());
             assertEquals(expected, qp.Parse("dogs"));
             assertEquals(expected, qp.Parse("\"dogs\""));
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("dogs"));
             assertEquals(expected, qp.Parse("\"dogs\""));
             expected.Boost = (2.0f);
@@ -382,7 +382,7 @@ namespace Lucene.Net.QueryParsers.Classic
             expected.Add(new Index.Term[] { new Index.Term("field", "dogs"), 
new Index.Term("field", "dog") });
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockSynonymAnalyzer());
             assertEquals(expected, qp.Parse("\"old dogs\""));
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("\"old dogs\""));
             expected.Boost = (2.0f);
             assertEquals(expected, qp.Parse("\"old dogs\"^2"));
@@ -449,7 +449,7 @@ namespace Lucene.Net.QueryParsers.Classic
             expected.Add(new TermQuery(new Index.Term("field", "國")), 
Occur.SHOULD);
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockCJKSynonymAnalyzer());
             assertEquals(expected, qp.Parse("国"));
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("国"));
             expected.Boost = (2.0f);
             assertEquals(expected, qp.Parse("国^2"));
@@ -508,7 +508,7 @@ namespace Lucene.Net.QueryParsers.Classic
             inner.Add(new TermQuery(new Index.Term("field", "國")), 
Occur.SHOULD);
             expected.Add(inner, Occur.MUST);
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockCJKSynonymAnalyzer());
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("中国"));
             expected.Boost = (2.0f);
             assertEquals(expected, qp.Parse("中国^2"));
@@ -531,7 +531,7 @@ namespace Lucene.Net.QueryParsers.Classic
             inner2.Add(new TermQuery(new Index.Term("field", "國")), 
Occur.SHOULD);
             expected.Add(inner2, Occur.MUST);
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockCJKSynonymAnalyzer());
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("中国国"));
             expected.Boost = (2.0f);
             assertEquals(expected, qp.Parse("中国国^2"));
@@ -544,7 +544,7 @@ namespace Lucene.Net.QueryParsers.Classic
             expected.Add(new Index.Term("field", "中"));
             expected.Add(new Index.Term[] { new Index.Term("field", "国"), 
new Index.Term("field", "國") });
             QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "field", 
new MockCJKSynonymAnalyzer());
-            qp.DefaultOperator = (QueryParserBase.Operator.AND);
+            qp.DefaultOperator = (Operator.AND);
             assertEquals(expected, qp.Parse("\"中国\""));
             expected.Boost = (2.0f);
             assertEquals(expected, qp.Parse("\"中国\"^2"));

Reply via email to