From 259925d12fd9a693a8d8314e4060055e7734b1f0 Mon Sep 17 00:00:00 2001 From: Joel Bernstein Date: Wed, 7 Nov 2018 08:58:57 -0500 Subject: [PATCH] SOLR-12795: Require bucketSorts --- .../client/solrj/io/stream/FacetStream.java | 2 +- .../StreamExpressionToExpessionTest.java | 28 ------------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java index 6923a3b2e18..126df81818a 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java @@ -163,7 +163,7 @@ public class FacetStream extends TupleStream implements Expressible { String bucketSortString = null; if(bucketSortExpression == null) { - bucketSortString = "count(*) desc"; + throw new IOException("The bucketSorts parameter is required for the facet function."); } else { bucketSortString = ((StreamExpressionValue)bucketSortExpression.getParameter()).getValue(); } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExpessionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExpessionTest.java index 0b1c764642c..3dd426176b1 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExpessionTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionToExpessionTest.java @@ -312,34 +312,6 @@ public class StreamExpressionToExpessionTest extends LuceneTestCase { assertEquals(stream.getOffset(), 0); } - try (FacetStream stream = new FacetStream(StreamExpressionParser.parse("facet(" - + "collection1, " - + "q=\"*:*\", " - + "buckets=\"a_s\", " - + "bucketSizeLimit=100, " - + "sum(a_i), sum(a_f), " - + "min(a_i), min(a_f), " - + "max(a_i), max(a_f), " - + "avg(a_i), avg(a_f), " - + "count(*)" - + ")"), factory)){ - expressionString = stream.toExpression(factory).toString(); - assertTrue(expressionString.contains("facet(collection1")); - assertTrue(expressionString.contains("q=\"*:*\"")); - assertTrue(expressionString.contains("buckets=a_s")); - assertTrue(expressionString.contains("bucketSorts=\"count(*) desc\"")); - assertTrue(expressionString.contains("bucketSizeLimit=100")); - assertTrue(expressionString.contains("sum(a_i)")); - assertTrue(expressionString.contains("sum(a_f)")); - assertTrue(expressionString.contains("min(a_i)")); - assertTrue(expressionString.contains("min(a_f)")); - assertTrue(expressionString.contains("max(a_i)")); - assertTrue(expressionString.contains("max(a_f)")); - assertTrue(expressionString.contains("avg(a_i,false)")); - assertTrue(expressionString.contains("avg(a_f,false)")); - assertTrue(expressionString.contains("count(*)")); - } - try (FacetStream stream = new FacetStream(StreamExpressionParser.parse("facet(" + "collection1, " + "q=\"*:*\", "