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 2013/03/02 00:17:37 UTC
svn commit: r1451765 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/search/QueryParsing.java
core/src/test/org/apache/solr/search/QueryParsingTest.java
Author: hossman
Date: Fri Mar 1 23:17:37 2013
New Revision: 1451765
URL: http://svn.apache.org/r1451765
Log:
SOLR-4458: Sort directions (asc, desc) are now case insensitive
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.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=1451765&r1=1451764&r2=1451765&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Mar 1 23:17:37 2013
@@ -250,6 +250,9 @@ Other Changes
* SOLR-4511: Add new test for 'repeater' replication node. (Mark Miller)
+* SOLR-4458: Sort directions (asc, desc) are now case insensitive
+ (Shawn Heisey via hossman)
+
================== 4.1.0 ==================
Versions of Major Components
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java?rev=1451765&r1=1451764&r2=1451765&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QueryParsing.java Fri Mar 1 23:17:37 2013
@@ -46,6 +46,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
/**
@@ -788,7 +789,7 @@ public class QueryParsing {
}
/**
- * Sort direction or null if current position does not inidcate a
+ * Sort direction or null if current position does not indicate a
* sort direction. (True is desc, False is asc).
* Position is advanced to after the comma (or end) when result is non null
*/
@@ -799,9 +800,10 @@ public class QueryParsing {
Boolean top = null;
if (null != order) {
- if ("desc".equals(order) || "top".equals(order)) {
+ final String orderLowerCase = order.toLowerCase(Locale.ROOT);
+ if ("desc".equals(orderLowerCase) || "top".equals(orderLowerCase)) {
top = true;
- } else if ("asc".equals(order) || "bottom".equals(order)) {
+ } else if ("asc".equals(orderLowerCase) || "bottom".equals(orderLowerCase)) {
top = false;
}
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=1451765&r1=1451764&r2=1451765&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 Fri Mar 1 23:17:37 2013
@@ -79,17 +79,18 @@ public class QueryParsingTest extends So
sort = QueryParsing.parseSort("score desc", req);
assertNull("sort", sort);//only 1 thing in the list, no Sort specified
- sort = QueryParsing.parseSort("score asc", req);
+ // SOLR-4458 - using different case variations of asc and desc
+ sort = QueryParsing.parseSort("score aSc", req);
SortField[] flds = sort.getSort();
assertEquals(flds[0].getType(), SortField.Type.SCORE);
assertTrue(flds[0].getReverse());
- sort = QueryParsing.parseSort("weight desc", req);
+ sort = QueryParsing.parseSort("weight dEsC", req);
flds = sort.getSort();
assertEquals(flds[0].getType(), SortField.Type.FLOAT);
assertEquals(flds[0].getField(), "weight");
assertEquals(flds[0].getReverse(), true);
- sort = QueryParsing.parseSort("weight desc,bday asc", req);
+ sort = QueryParsing.parseSort("weight desc,bday ASC", req);
flds = sort.getSort();
assertEquals(flds[0].getType(), SortField.Type.FLOAT);
assertEquals(flds[0].getField(), "weight");
@@ -116,7 +117,7 @@ public class QueryParsingTest extends So
assertEquals(flds[1].getReverse(), false);
//test weird spacing
- sort = QueryParsing.parseSort("weight desc, bday asc", req);
+ sort = QueryParsing.parseSort("weight DESC, bday asc", req);
flds = sort.getSort();
assertEquals(flds[0].getType(), SortField.Type.FLOAT);
assertEquals(flds[0].getField(), "weight");