You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2012/06/18 21:03:22 UTC

svn commit: r1351460 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/search/ValueSourceParser.java core/src/test/org/apache/solr/search/QueryParsingTest.java

Author: hossman
Date: Mon Jun 18 19:03:21 2012
New Revision: 1351460

URL: http://svn.apache.org/viewvc?rev=1351460&view=rev
Log:
SOLR-3522: fixed parsing of the 'literal()' function

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1351460&r1=1351459&r2=1351460&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Mon Jun 18 19:03:21 2012
@@ -509,6 +509,8 @@ Bug Fixes
 * SOLR-3541: add missing solrj dependencies to binary packages.
   (Thijs Vonk via siren)
 
+* SOLR-3522: fixed parsing of the 'literal()' function (hossman)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java?rev=1351460&r1=1351459&r2=1351460&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java Mon Jun 18 19:03:21 2012
@@ -104,7 +104,7 @@ public abstract class ValueSourceParser 
     addParser("literal", new ValueSourceParser() {
       @Override
       public ValueSource parse(FunctionQParser fp) throws ParseException {
-        return new LiteralValueSource(fp.getString());
+        return new LiteralValueSource(fp.parseArg());
       }
     });
     addParser("rord", new ValueSourceParser() {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java?rev=1351460&r1=1351459&r2=1351460&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/QueryParsingTest.java Mon Jun 18 19:03:21 2012
@@ -231,4 +231,26 @@ public class QueryParsingTest extends So
     req.close();
   }
 
+  public void testLiteralFunction() throws Exception {
+    
+    final String NAME = FunctionQParserPlugin.NAME;
+
+    SolrQueryRequest req = req("variable", "foobar");
+    
+    assertNotNull(QParser.getParser
+                  ("literal('a value')",
+                   NAME, req).getQuery());
+    assertNotNull(QParser.getParser
+                  ("literal('a value')",
+                   NAME, req).getQuery());
+    assertNotNull(QParser.getParser
+                  ("literal(\"a value\")",
+                   NAME, req).getQuery());
+    assertNotNull(QParser.getParser
+                  ("literal($variable)",
+                   NAME, req).getQuery());
+    assertNotNull(QParser.getParser
+                  ("strdist(\"a value\",literal('a value'),edit)",
+                   NAME, req).getQuery());
+  }
 }