[2/2] qpid-broker-j git commit: QPID-8104: [Broker-J] [Query] Generalise the implementation so that aliases may appear within expressions within the order-by clause

2018-02-26 Thread orudyy
QPID-8104: [Broker-J] [Query] Generalise the implementation so that aliases may 
appear within expressions within the order-by clause

(cherry picked from commit 38819bcac6dc5481357d2c05aaf281e7c83532fe)


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/7c69d170
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/7c69d170
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/7c69d170

Branch: refs/heads/7.0.x
Commit: 7c69d1704b26064da9831a1c076fa0d3d43e6db8
Parents: 40f1b09
Author: Keith Wall 
Authored: Fri Feb 23 09:21:04 2018 +
Committer: Alex Rudyy 
Committed: Mon Feb 26 16:28:13 2018 +

--
 .../qpid/server/filter/OrderByExpression.java   | 10 --
 .../servlet/query/ConfiguredObjectQuery.java| 33 +---
 .../query/ConfiguredObjectQueryTest.java| 18 +++
 3 files changed, 39 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7c69d170/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
--
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
 
b/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
index 20120dc..87d45d1 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
@@ -58,14 +58,4 @@ public class OrderByExpression implements Expression
 {
 return 
((Number)((ConstantExpression)_expression).getValue()).intValue();
 }
-
-public boolean isNamed()
-{
-return (_expression instanceof NamedExpression);
-}
-
-public String getName()
-{
-return ((NamedExpression) _expression).getName();
-}
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7c69d170/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
--
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
index 1b22da0..f06051d 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
@@ -266,9 +266,8 @@ public final class ConfiguredObjectQuery
 private final List _orderByExpressions;
 
 public OrderByComparator(final List 
orderByExpressions,
- final HeadersAndValueExpressions 
headersAndValue)
+ final List valueExpressions)
 {
-final List valueExpressions = 
headersAndValue.getValueExpressions();
 _orderByExpressions = new ArrayList<>(orderByExpressions);
 for (ListIterator iterator = 
_orderByExpressions.listIterator(); iterator.hasNext(); )
 {
@@ -287,12 +286,6 @@ public final class ConfiguredObjectQuery
 iterator.set(orderByExpression);
 }
 }
-else if (orderByExpression.isNamed() && 
headersAndValue.hasHeader(orderByExpression.getName()))
-{
-Expression expression = 
headersAndValue.getValueExpressionForHeader(orderByExpression.getName());
-orderByExpression = new OrderByExpression(expression, 
orderByExpression.getOrder());
-iterator.set(orderByExpression);
-}
 }
 }
 
@@ -343,19 +336,35 @@ public final class ConfiguredObjectQuery
final String orderByClause,
final 
HeadersAndValueExpressions headersAndValue)
 {
-List orderByExpressions = 
parseOrderByClause(orderByClause);
+List orderByExpressions = 
parseOrderByClause(orderByClause, headersAndValue);
 List orderedObjects = new 
ArrayList<>(unorderedResults.size());
 orderedObjects.addAll(unorderedResults);
-Comparator comparator = new 
OrderByComparator(orderByExpressions, headersAndValue);
+Comparator comparator = new 
OrderByComparator(orderByExpressions, headersAndValue.getValueExpressions());
 Collections.sort(orderedObjects, 

qpid-broker-j git commit: QPID-8104: [Broker-J] [Query] Generalise the implementation so that aliases may appear within expressions within the order-by clause

2018-02-23 Thread kwall
Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 9704e609d -> 38819bcac


QPID-8104: [Broker-J] [Query] Generalise the implementation so that aliases may 
appear within expressions within the order-by clause


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/38819bca
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/38819bca
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/38819bca

Branch: refs/heads/master
Commit: 38819bcac6dc5481357d2c05aaf281e7c83532fe
Parents: 9704e60
Author: Keith Wall 
Authored: Fri Feb 23 09:21:04 2018 +
Committer: Keith Wall 
Committed: Fri Feb 23 09:23:12 2018 +

--
 .../qpid/server/filter/OrderByExpression.java   | 10 --
 .../servlet/query/ConfiguredObjectQuery.java| 33 +---
 .../query/ConfiguredObjectQueryTest.java| 18 +++
 3 files changed, 39 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/38819bca/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
--
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
 
b/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
index 20120dc..87d45d1 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/filter/OrderByExpression.java
@@ -58,14 +58,4 @@ public class OrderByExpression implements Expression
 {
 return 
((Number)((ConstantExpression)_expression).getValue()).intValue();
 }
-
-public boolean isNamed()
-{
-return (_expression instanceof NamedExpression);
-}
-
-public String getName()
-{
-return ((NamedExpression) _expression).getName();
-}
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/38819bca/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
--
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
index 1b22da0..f06051d 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
@@ -266,9 +266,8 @@ public final class ConfiguredObjectQuery
 private final List _orderByExpressions;
 
 public OrderByComparator(final List 
orderByExpressions,
- final HeadersAndValueExpressions 
headersAndValue)
+ final List valueExpressions)
 {
-final List valueExpressions = 
headersAndValue.getValueExpressions();
 _orderByExpressions = new ArrayList<>(orderByExpressions);
 for (ListIterator iterator = 
_orderByExpressions.listIterator(); iterator.hasNext(); )
 {
@@ -287,12 +286,6 @@ public final class ConfiguredObjectQuery
 iterator.set(orderByExpression);
 }
 }
-else if (orderByExpression.isNamed() && 
headersAndValue.hasHeader(orderByExpression.getName()))
-{
-Expression expression = 
headersAndValue.getValueExpressionForHeader(orderByExpression.getName());
-orderByExpression = new OrderByExpression(expression, 
orderByExpression.getOrder());
-iterator.set(orderByExpression);
-}
 }
 }
 
@@ -343,19 +336,35 @@ public final class ConfiguredObjectQuery
final String orderByClause,
final 
HeadersAndValueExpressions headersAndValue)
 {
-List orderByExpressions = 
parseOrderByClause(orderByClause);
+List orderByExpressions = 
parseOrderByClause(orderByClause, headersAndValue);
 List orderedObjects = new 
ArrayList<>(unorderedResults.size());
 orderedObjects.addAll(unorderedResults);
-Comparator comparator = new 
OrderByComparator(orderByExpressions, headersAndValue);
+Comparator comparator = new 
OrderByComparator(orderByExpressions, headersAndValue.getValueExpressions());