You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/04/28 18:22:57 UTC
svn commit: r1741469 [1/3] - in /qpid/java/trunk:
bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/
broker-plugins/management-http/src/main/grammar/
broker-plugins/management-http/src/main/java/org/apache/qpid/server/...
Author: orudyy
Date: Thu Apr 28 16:22:56 2016
New Revision: 1741469
URL: http://svn.apache.org/viewvc?rev=1741469&view=rev
Log:
QPID-7165: [Java Broker] Allow query results to be sorted and paginated
Added:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryStore.js
qpid/java/trunk/common/src/main/java/org/apache/qpid/filter/OrderByExpression.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/QueryRestTest.java
Modified:
qpid/java/trunk/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
qpid/java/trunk/broker-plugins/management-http/src/main/grammar/ConfiguredObjectFilterParser.jj
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParser.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserConstants.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserTokenManager.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/EvaluationException.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/DropDownSelect.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/query/QueryBuilder.html
qpid/java/trunk/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQueryTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BindingRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java
Modified: qpid/java/trunk/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java (original)
+++ qpid/java/trunk/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java Thu Apr 28 16:22:56 2016
@@ -36,7 +36,8 @@ import com.sleepycat.je.EnvironmentConfi
import com.sleepycat.je.rep.NoConsistencyRequiredPolicy;
import com.sleepycat.je.rep.ReplicatedEnvironment;
import com.sleepycat.je.rep.ReplicationConfig;
-import org.apache.qpid.server.management.plugin.servlet.rest.RestServlet;
+
+import org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet;
import org.apache.qpid.server.model.RemoteReplicationNode;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
@@ -256,7 +257,7 @@ public class BDBHAVirtualHostNodeRestTes
// try to add not permitted node
Map<String, Object> nodeData = createNodeAttributeMap(NODE2, intruderPort, _node1HaPort);
- getRestTestHelper().submitRequest(_baseNodeRestUrl + NODE2, "PUT", nodeData, RestServlet.SC_UNPROCESSABLE_ENTITY);
+ getRestTestHelper().submitRequest(_baseNodeRestUrl + NODE2, "PUT", nodeData, AbstractServlet.SC_UNPROCESSABLE_ENTITY);
assertRemoteNodes(NODE1, NODE3);
}
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/grammar/ConfiguredObjectFilterParser.jj
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/grammar/ConfiguredObjectFilterParser.jj?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/grammar/ConfiguredObjectFilterParser.jj (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/grammar/ConfiguredObjectFilterParser.jj Thu Apr 28 16:22:56 2016
@@ -13,6 +13,7 @@
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
@@ -73,6 +74,7 @@ import org.apache.qpid.filter.BooleanExp
import org.apache.qpid.filter.ComparisonExpression;
import org.apache.qpid.filter.ConstantExpression;
import org.apache.qpid.filter.Expression;
+import org.apache.qpid.filter.OrderByExpression;
import org.apache.qpid.filter.LogicExpression;
import org.apache.qpid.filter.UnaryExpression;
@@ -114,6 +116,13 @@ public class ConfiguredObjectFilterParse
}
+ public List<OrderByExpression> parseOrderBy(String sql) throws ParseException
+ {
+ this.ReInit(new StringReader(sql));
+
+ return orderByClause();
+ }
+
private BooleanExpression<ConfiguredObject<?>> asBooleanExpression(Expression<ConfiguredObject<?>> value) throws ParseException
{
if (value instanceof BooleanExpression)
@@ -168,6 +177,8 @@ TOKEN [IGNORE_CASE] :
| < FALSE : "FALSE" >
| < NULL : "NULL" >
| < AS : "AS">
+ | < ASC : "ASC">
+ | < DESC : "DESC">
}
@@ -714,3 +725,30 @@ Map<String, Expression> selectClauseElem
}
)
}
+
+List<OrderByExpression> orderByClause() :
+{
+ List<OrderByExpression> returnVal = new ArrayList<OrderByExpression>();
+ OrderByExpression element;
+}
+{
+ ( element = orderByClauseElement() { returnVal.add( element ); }
+ ) ( "," element = orderByClauseElement() { returnVal.add( element ); } )*
+ {
+ return returnVal;
+ }
+}
+
+OrderByExpression orderByClauseElement() :
+{
+ Expression expr;
+ OrderByExpression orderByExpr;
+ OrderByExpression.Order order = OrderByExpression.Order.ASC;
+}
+{
+ ( expr = primaryExpr() ( <ASC> | <DESC> { order = OrderByExpression.Order.DESC; } )?
+ {
+ return new OrderByExpression(expr, order);
+ }
+ )
+}
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParser.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParser.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParser.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParser.java Thu Apr 28 16:22:56 2016
@@ -33,6 +33,7 @@ import org.apache.qpid.filter.BooleanExp
import org.apache.qpid.filter.ComparisonExpression;
import org.apache.qpid.filter.ConstantExpression;
import org.apache.qpid.filter.Expression;
+import org.apache.qpid.filter.OrderByExpression;
import org.apache.qpid.filter.LogicExpression;
import org.apache.qpid.filter.UnaryExpression;
@@ -73,6 +74,13 @@ public class ConfiguredObjectFilterParse
}
+ public List<OrderByExpression> parseOrderBy(String sql) throws ParseException
+ {
+ this.ReInit(new StringReader(sql));
+
+ return orderByClause();
+ }
+
private BooleanExpression<ConfiguredObject<?>> asBooleanExpression(Expression<ConfiguredObject<?>> value) throws ParseException
{
if (value instanceof BooleanExpression)
@@ -146,21 +154,21 @@ public class ConfiguredObjectFilterParse
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IS:
- case 29:
- case 30:
+ case 31:
+ case 32:
;
break;
default:
break label_3;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 29:
- jj_consume_token(29);
+ case 31:
+ jj_consume_token(31);
right = comparisonExpression();
left = ComparisonExpression.createEqual(left, right);
break;
- case 30:
- jj_consume_token(30);
+ case 32:
+ jj_consume_token(32);
right = comparisonExpression();
left = ComparisonExpression.createNotEqual(left, right);
break;
@@ -204,33 +212,33 @@ public class ConfiguredObjectFilterParse
case BETWEEN:
case LIKE:
case IN:
- case 31:
- case 32:
case 33:
case 34:
+ case 35:
+ case 36:
;
break;
default:
break label_4;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 31:
- jj_consume_token(31);
+ case 33:
+ jj_consume_token(33);
right = addExpression();
left = ComparisonExpression.createGreaterThan(left, right);
break;
- case 32:
- jj_consume_token(32);
+ case 34:
+ jj_consume_token(34);
right = addExpression();
left = ComparisonExpression.createGreaterThanEqual(left, right);
break;
- case 33:
- jj_consume_token(33);
+ case 35:
+ jj_consume_token(35);
right = addExpression();
left = ComparisonExpression.createLessThan(left, right);
break;
- case 34:
- jj_consume_token(34);
+ case 36:
+ jj_consume_token(36);
right = addExpression();
left = ComparisonExpression.createLessThanEqual(left, right);
break;
@@ -284,48 +292,48 @@ public class ConfiguredObjectFilterParse
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IN:
jj_consume_token(IN);
- jj_consume_token(35);
+ jj_consume_token(37);
right = primaryExpr();
list = new ArrayList();
list.add( right );
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 36:
+ case 38:
;
break;
default:
break label_5;
}
- jj_consume_token(36);
+ jj_consume_token(38);
right = primaryExpr();
list.add( right );
}
- jj_consume_token(37);
+ jj_consume_token(39);
left = ComparisonExpression.createInFilter(left, list, true );
break;
default:
if (jj_2_4(2)) {
jj_consume_token(NOT);
jj_consume_token(IN);
- jj_consume_token(35);
+ jj_consume_token(37);
right = primaryExpr();
list = new ArrayList();
list.add( right );
label_6:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 36:
+ case 38:
;
break;
default:
break label_6;
}
- jj_consume_token(36);
+ jj_consume_token(38);
right = primaryExpr();
list.add( right );
}
- jj_consume_token(37);
+ jj_consume_token(39);
left = ComparisonExpression.createNotInFilter(left, list, true);
} else {
jj_consume_token(-1);
@@ -353,13 +361,13 @@ public class ConfiguredObjectFilterParse
break label_7;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 38:
- jj_consume_token(38);
+ case 40:
+ jj_consume_token(40);
right = multExpr();
left = ArithmeticExpression.createPlus(left, right);
break;
- case 39:
- jj_consume_token(39);
+ case 41:
+ jj_consume_token(41);
right = multExpr();
left = ArithmeticExpression.createMinus(left, right);
break;
@@ -379,27 +387,27 @@ public class ConfiguredObjectFilterParse
label_8:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 40:
- case 41:
case 42:
+ case 43:
+ case 44:
;
break;
default:
break label_8;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 40:
- jj_consume_token(40);
+ case 42:
+ jj_consume_token(42);
right = unaryExpr();
left = ArithmeticExpression.createMultiply(left, right);
break;
- case 41:
- jj_consume_token(41);
+ case 43:
+ jj_consume_token(43);
right = unaryExpr();
left = ArithmeticExpression.createDivide(left, right);
break;
- case 42:
- jj_consume_token(42);
+ case 44:
+ jj_consume_token(44);
right = unaryExpr();
left = ArithmeticExpression.createMod(left, right);
break;
@@ -416,12 +424,12 @@ public class ConfiguredObjectFilterParse
String s=null;
Expression left=null;
if (jj_2_6(2147483647)) {
- jj_consume_token(38);
+ jj_consume_token(40);
left = unaryExpr();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 39:
- jj_consume_token(39);
+ case 41:
+ jj_consume_token(41);
left = unaryExpr();
left = UnaryExpression.createNegate(left);
break;
@@ -441,7 +449,7 @@ public class ConfiguredObjectFilterParse
case FUNCTIONNAME:
case ID:
case QUOTED_ID:
- case 35:
+ case 37:
left = primaryExpr();
break;
default:
@@ -473,10 +481,10 @@ public class ConfiguredObjectFilterParse
case QUOTED_ID:
left = variable();
break;
- case 35:
- jj_consume_token(35);
- left = orExpression();
+ case 37:
jj_consume_token(37);
+ left = orExpression();
+ jj_consume_token(39);
break;
default:
jj_consume_token(-1);
@@ -556,14 +564,14 @@ public class ConfiguredObjectFilterParse
ConfiguredObjectExpression right;
if (jj_2_7(2)) {
s = identifier();
- jj_consume_token(43);
+ jj_consume_token(45);
right = variable();
{if (true) return _factory.createConfiguredObjectExpression( s, right );}
} else if (jj_2_8(2)) {
s = identifier();
- jj_consume_token(44);
+ jj_consume_token(46);
t = jj_consume_token(DECIMAL_LITERAL);
- jj_consume_token(45);
+ jj_consume_token(47);
{if (true) return _factory.createConfiguredObjectExpression( s, Integer.valueOf( t.image ) );}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -598,19 +606,19 @@ public class ConfiguredObjectFilterParse
case FUNCTIONNAME:
case ID:
case QUOTED_ID:
- case 35:
+ case 37:
expr = primaryExpr();
args.add(expr);
label_9:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 36:
+ case 38:
;
break;
default:
break label_9;
}
- jj_consume_token(36);
+ jj_consume_token(38);
expr = primaryExpr();
args.add(expr);
}
@@ -618,7 +626,7 @@ public class ConfiguredObjectFilterParse
default:
;
}
- jj_consume_token(37);
+ jj_consume_token(39);
{if (true) return _factory.createFunctionExpression( t.image.substring(0, t.image.length() - 1), args );}
throw new Error("Missing return statement in function");
}
@@ -662,13 +670,13 @@ public class ConfiguredObjectFilterParse
label_10:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 36:
+ case 38:
;
break;
default:
break label_10;
}
- jj_consume_token(36);
+ jj_consume_token(38);
element = selectClauseElement();
returnVal.add( element );
}
@@ -696,6 +704,56 @@ public class ConfiguredObjectFilterParse
throw new Error("Missing return statement in function");
}
+ final public List<OrderByExpression> orderByClause() throws ParseException {
+ List<OrderByExpression> returnVal = new ArrayList<OrderByExpression>();
+ OrderByExpression element;
+ element = orderByClauseElement();
+ returnVal.add( element );
+ label_11:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case 38:
+ ;
+ break;
+ default:
+ break label_11;
+ }
+ jj_consume_token(38);
+ element = orderByClauseElement();
+ returnVal.add( element );
+ }
+ {if (true) return returnVal;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public OrderByExpression orderByClauseElement() throws ParseException {
+ Expression expr;
+ OrderByExpression orderByExpr;
+ OrderByExpression.Order order = OrderByExpression.Order.ASC;
+ expr = primaryExpr();
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case ASC:
+ case DESC:
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case ASC:
+ jj_consume_token(ASC);
+ break;
+ case DESC:
+ jj_consume_token(DESC);
+ order = OrderByExpression.Order.DESC;
+ break;
+ default:
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ default:
+ ;
+ }
+ {if (true) return new OrderByExpression(expr, order);}
+ throw new Error("Missing return statement in function");
+ }
+
private boolean jj_2_1(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_1(); }
@@ -744,98 +802,38 @@ public class ConfiguredObjectFilterParse
catch(LookaheadSuccess ls) { return true; }
}
- private boolean jj_3R_54() {
- if (jj_scan_token(30)) return true;
- if (jj_3R_49()) return true;
- return false;
- }
-
- private boolean jj_3R_13() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_19()) {
- jj_scanpos = xsp;
- if (jj_3R_20()) return true;
- }
- return false;
- }
-
- private boolean jj_3_3() {
- if (jj_scan_token(NOT)) return true;
- if (jj_scan_token(BETWEEN)) return true;
- if (jj_3R_51()) return true;
- if (jj_scan_token(AND)) return true;
- if (jj_3R_51()) return true;
- return false;
- }
-
- private boolean jj_3R_53() {
- if (jj_scan_token(29)) return true;
- if (jj_3R_49()) return true;
- return false;
- }
-
- private boolean jj_3R_50() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_53()) {
- jj_scanpos = xsp;
- if (jj_3R_54()) {
- jj_scanpos = xsp;
- if (jj_3_1()) {
- jj_scanpos = xsp;
- if (jj_3R_55()) return true;
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_39() {
- if (jj_scan_token(TRUE)) return true;
- return false;
- }
-
- private boolean jj_3R_62() {
- if (jj_scan_token(BETWEEN)) return true;
- if (jj_3R_51()) return true;
- if (jj_scan_token(AND)) return true;
- if (jj_3R_51()) return true;
- return false;
- }
-
- private boolean jj_3R_66() {
+ private boolean jj_3R_67() {
if (jj_scan_token(ESCAPE)) return true;
- if (jj_3R_46()) return true;
+ if (jj_3R_47()) return true;
return false;
}
- private boolean jj_3R_38() {
+ private boolean jj_3R_39() {
if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
return false;
}
- private boolean jj_3R_23() {
- if (jj_scan_token(42)) return true;
- if (jj_3R_12()) return true;
+ private boolean jj_3R_24() {
+ if (jj_scan_token(44)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_29() {
+ private boolean jj_3R_30() {
if (jj_scan_token(FUNCTIONNAME)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_33()) jj_scanpos = xsp;
- if (jj_scan_token(37)) return true;
+ if (jj_3R_34()) jj_scanpos = xsp;
+ if (jj_scan_token(39)) return true;
return false;
}
- private boolean jj_3R_47() {
- if (jj_3R_49()) return true;
+ private boolean jj_3R_48() {
+ if (jj_3R_50()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_50()) { jj_scanpos = xsp; break; }
+ if (jj_3R_51()) { jj_scanpos = xsp; break; }
}
return false;
}
@@ -843,95 +841,95 @@ public class ConfiguredObjectFilterParse
private boolean jj_3_2() {
if (jj_scan_token(NOT)) return true;
if (jj_scan_token(LIKE)) return true;
- if (jj_3R_46()) return true;
+ if (jj_3R_47()) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_67()) jj_scanpos = xsp;
+ if (jj_3R_68()) jj_scanpos = xsp;
return false;
}
- private boolean jj_3R_61() {
+ private boolean jj_3R_62() {
if (jj_scan_token(LIKE)) return true;
- if (jj_3R_46()) return true;
+ if (jj_3R_47()) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_66()) jj_scanpos = xsp;
+ if (jj_3R_67()) jj_scanpos = xsp;
return false;
}
- private boolean jj_3R_37() {
+ private boolean jj_3R_38() {
if (jj_scan_token(OCTAL_LITERAL)) return true;
return false;
}
- private boolean jj_3R_22() {
- if (jj_scan_token(41)) return true;
- if (jj_3R_12()) return true;
+ private boolean jj_3R_23() {
+ if (jj_scan_token(43)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_14() {
+ private boolean jj_3R_15() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_21()) {
- jj_scanpos = xsp;
if (jj_3R_22()) {
jj_scanpos = xsp;
- if (jj_3R_23()) return true;
+ if (jj_3R_23()) {
+ jj_scanpos = xsp;
+ if (jj_3R_24()) return true;
}
}
return false;
}
- private boolean jj_3R_21() {
- if (jj_scan_token(40)) return true;
- if (jj_3R_12()) return true;
+ private boolean jj_3R_22() {
+ if (jj_scan_token(42)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_48() {
+ private boolean jj_3R_49() {
if (jj_scan_token(AND)) return true;
- if (jj_3R_47()) return true;
+ if (jj_3R_48()) return true;
return false;
}
- private boolean jj_3R_36() {
+ private boolean jj_3R_37() {
if (jj_scan_token(HEX_LITERAL)) return true;
return false;
}
- private boolean jj_3R_11() {
- if (jj_3R_12()) return true;
+ private boolean jj_3R_12() {
+ if (jj_3R_13()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_14()) { jj_scanpos = xsp; break; }
+ if (jj_3R_15()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_42() {
- if (jj_3R_13()) return true;
+ private boolean jj_3R_43() {
+ if (jj_3R_14()) return true;
return false;
}
- private boolean jj_3R_35() {
+ private boolean jj_3R_36() {
if (jj_scan_token(DECIMAL_LITERAL)) return true;
return false;
}
- private boolean jj_3R_65() {
- if (jj_scan_token(39)) return true;
- if (jj_3R_11()) return true;
+ private boolean jj_3R_66() {
+ if (jj_scan_token(41)) return true;
+ if (jj_3R_12()) return true;
return false;
}
- private boolean jj_3R_43() {
- if (jj_3R_47()) return true;
+ private boolean jj_3R_44() {
+ if (jj_3R_48()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_48()) { jj_scanpos = xsp; break; }
+ if (jj_3R_49()) { jj_scanpos = xsp; break; }
}
return false;
}
@@ -939,56 +937,54 @@ public class ConfiguredObjectFilterParse
private boolean jj_3_5() {
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(38)) {
+ if (jj_scan_token(40)) {
jj_scanpos = xsp;
- if (jj_scan_token(39)) return true;
+ if (jj_scan_token(41)) return true;
}
- if (jj_3R_11()) return true;
+ if (jj_3R_12()) return true;
return false;
}
- private boolean jj_3R_60() {
- if (jj_scan_token(34)) return true;
- if (jj_3R_51()) return true;
+ private boolean jj_3R_61() {
+ if (jj_scan_token(36)) return true;
+ if (jj_3R_52()) return true;
return false;
}
- private boolean jj_3R_34() {
- if (jj_3R_46()) return true;
+ private boolean jj_3R_35() {
+ if (jj_3R_47()) return true;
return false;
}
private boolean jj_3_8() {
- if (jj_3R_13()) return true;
- if (jj_scan_token(44)) return true;
+ if (jj_3R_14()) return true;
+ if (jj_scan_token(46)) return true;
if (jj_scan_token(DECIMAL_LITERAL)) return true;
- if (jj_scan_token(45)) return true;
+ if (jj_scan_token(47)) return true;
return false;
}
- private boolean jj_3R_45() {
- if (jj_scan_token(36)) return true;
- if (jj_3R_24()) return true;
+ private boolean jj_3R_46() {
+ if (jj_scan_token(38)) return true;
+ if (jj_3R_25()) return true;
return false;
}
- private boolean jj_3R_64() {
- if (jj_scan_token(38)) return true;
- if (jj_3R_11()) return true;
+ private boolean jj_3R_65() {
+ if (jj_scan_token(40)) return true;
+ if (jj_3R_12()) return true;
return false;
}
- private boolean jj_3R_59() {
- if (jj_scan_token(33)) return true;
- if (jj_3R_51()) return true;
+ private boolean jj_3R_60() {
+ if (jj_scan_token(35)) return true;
+ if (jj_3R_52()) return true;
return false;
}
- private boolean jj_3R_30() {
+ private boolean jj_3R_31() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_34()) {
- jj_scanpos = xsp;
if (jj_3R_35()) {
jj_scanpos = xsp;
if (jj_3R_36()) {
@@ -1001,7 +997,9 @@ public class ConfiguredObjectFilterParse
jj_scanpos = xsp;
if (jj_3R_40()) {
jj_scanpos = xsp;
- if (jj_3R_41()) return true;
+ if (jj_3R_41()) {
+ jj_scanpos = xsp;
+ if (jj_3R_42()) return true;
}
}
}
@@ -1012,65 +1010,63 @@ public class ConfiguredObjectFilterParse
return false;
}
- private boolean jj_3R_69() {
- if (jj_scan_token(36)) return true;
- if (jj_3R_24()) return true;
+ private boolean jj_3R_70() {
+ if (jj_scan_token(38)) return true;
+ if (jj_3R_25()) return true;
return false;
}
- private boolean jj_3R_56() {
+ private boolean jj_3R_57() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_64()) {
+ if (jj_3R_65()) {
jj_scanpos = xsp;
- if (jj_3R_65()) return true;
+ if (jj_3R_66()) return true;
}
return false;
}
- private boolean jj_3R_44() {
+ private boolean jj_3R_45() {
if (jj_scan_token(OR)) return true;
- if (jj_3R_43()) return true;
+ if (jj_3R_44()) return true;
return false;
}
private boolean jj_3_7() {
- if (jj_3R_13()) return true;
- if (jj_scan_token(43)) return true;
- if (jj_3R_31()) return true;
+ if (jj_3R_14()) return true;
+ if (jj_scan_token(45)) return true;
+ if (jj_3R_32()) return true;
return false;
}
- private boolean jj_3R_31() {
+ private boolean jj_3R_32() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_7()) {
jj_scanpos = xsp;
if (jj_3_8()) {
jj_scanpos = xsp;
- if (jj_3R_42()) return true;
+ if (jj_3R_43()) return true;
}
}
return false;
}
- private boolean jj_3R_58() {
- if (jj_scan_token(32)) return true;
- if (jj_3R_51()) return true;
+ private boolean jj_3R_59() {
+ if (jj_scan_token(34)) return true;
+ if (jj_3R_52()) return true;
return false;
}
- private boolean jj_3R_57() {
- if (jj_scan_token(31)) return true;
- if (jj_3R_51()) return true;
+ private boolean jj_3R_58() {
+ if (jj_scan_token(33)) return true;
+ if (jj_3R_52()) return true;
return false;
}
- private boolean jj_3R_52() {
+ private boolean jj_3R_53() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_57()) {
- jj_scanpos = xsp;
if (jj_3R_58()) {
jj_scanpos = xsp;
if (jj_3R_59()) {
@@ -1079,13 +1075,15 @@ public class ConfiguredObjectFilterParse
jj_scanpos = xsp;
if (jj_3R_61()) {
jj_scanpos = xsp;
+ if (jj_3R_62()) {
+ jj_scanpos = xsp;
if (jj_3_2()) {
jj_scanpos = xsp;
- if (jj_3R_62()) {
+ if (jj_3R_63()) {
jj_scanpos = xsp;
if (jj_3_3()) {
jj_scanpos = xsp;
- if (jj_3R_63()) {
+ if (jj_3R_64()) {
jj_scanpos = xsp;
if (jj_3_4()) return true;
}
@@ -1100,33 +1098,38 @@ public class ConfiguredObjectFilterParse
return false;
}
- private boolean jj_3R_51() {
- if (jj_3R_11()) return true;
+ private boolean jj_3R_52() {
+ if (jj_3R_12()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_56()) { jj_scanpos = xsp; break; }
+ if (jj_3R_57()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_28() {
- if (jj_scan_token(35)) return true;
- if (jj_3R_32()) return true;
+ private boolean jj_3R_29() {
if (jj_scan_token(37)) return true;
+ if (jj_3R_33()) return true;
+ if (jj_scan_token(39)) return true;
return false;
}
- private boolean jj_3R_32() {
- if (jj_3R_43()) return true;
+ private boolean jj_3R_33() {
+ if (jj_3R_44()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_44()) { jj_scanpos = xsp; break; }
+ if (jj_3R_45()) { jj_scanpos = xsp; break; }
}
return false;
}
+ private boolean jj_3R_28() {
+ if (jj_3R_32()) return true;
+ return false;
+ }
+
private boolean jj_3R_27() {
if (jj_3R_31()) return true;
return false;
@@ -1137,44 +1140,39 @@ public class ConfiguredObjectFilterParse
return false;
}
- private boolean jj_3R_25() {
- if (jj_3R_29()) return true;
- return false;
- }
-
- private boolean jj_3R_68() {
- if (jj_scan_token(36)) return true;
- if (jj_3R_24()) return true;
+ private boolean jj_3R_69() {
+ if (jj_scan_token(38)) return true;
+ if (jj_3R_25()) return true;
return false;
}
- private boolean jj_3R_24() {
+ private boolean jj_3R_25() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_25()) {
- jj_scanpos = xsp;
if (jj_3R_26()) {
jj_scanpos = xsp;
if (jj_3R_27()) {
jj_scanpos = xsp;
- if (jj_3R_28()) return true;
+ if (jj_3R_28()) {
+ jj_scanpos = xsp;
+ if (jj_3R_29()) return true;
}
}
}
return false;
}
- private boolean jj_3R_49() {
- if (jj_3R_51()) return true;
+ private boolean jj_3R_50() {
+ if (jj_3R_52()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_52()) { jj_scanpos = xsp; break; }
+ if (jj_3R_53()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_46() {
+ private boolean jj_3R_47() {
if (jj_scan_token(STRING_LITERAL)) return true;
return false;
}
@@ -1182,88 +1180,88 @@ public class ConfiguredObjectFilterParse
private boolean jj_3_4() {
if (jj_scan_token(NOT)) return true;
if (jj_scan_token(IN)) return true;
- if (jj_scan_token(35)) return true;
- if (jj_3R_24()) return true;
+ if (jj_scan_token(37)) return true;
+ if (jj_3R_25()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_69()) { jj_scanpos = xsp; break; }
+ if (jj_3R_70()) { jj_scanpos = xsp; break; }
}
- if (jj_scan_token(37)) return true;
+ if (jj_scan_token(39)) return true;
return false;
}
private boolean jj_3_6() {
- if (jj_scan_token(38)) return true;
- if (jj_3R_12()) return true;
+ if (jj_scan_token(40)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_67() {
+ private boolean jj_3R_68() {
if (jj_scan_token(ESCAPE)) return true;
- if (jj_3R_46()) return true;
+ if (jj_3R_47()) return true;
return false;
}
- private boolean jj_3R_18() {
- if (jj_3R_24()) return true;
+ private boolean jj_3R_19() {
+ if (jj_3R_25()) return true;
return false;
}
- private boolean jj_3R_17() {
+ private boolean jj_3R_18() {
if (jj_scan_token(NOT)) return true;
- if (jj_3R_12()) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_15() {
- if (jj_scan_token(38)) return true;
- if (jj_3R_12()) return true;
+ private boolean jj_3R_16() {
+ if (jj_scan_token(40)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_63() {
+ private boolean jj_3R_64() {
if (jj_scan_token(IN)) return true;
- if (jj_scan_token(35)) return true;
- if (jj_3R_24()) return true;
+ if (jj_scan_token(37)) return true;
+ if (jj_3R_25()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_68()) { jj_scanpos = xsp; break; }
+ if (jj_3R_69()) { jj_scanpos = xsp; break; }
}
- if (jj_scan_token(37)) return true;
+ if (jj_scan_token(39)) return true;
return false;
}
- private boolean jj_3R_55() {
+ private boolean jj_3R_56() {
if (jj_scan_token(IS)) return true;
if (jj_scan_token(NOT)) return true;
if (jj_scan_token(NULL)) return true;
return false;
}
- private boolean jj_3R_16() {
- if (jj_scan_token(39)) return true;
- if (jj_3R_12()) return true;
+ private boolean jj_3R_17() {
+ if (jj_scan_token(41)) return true;
+ if (jj_3R_13()) return true;
return false;
}
- private boolean jj_3R_33() {
- if (jj_3R_24()) return true;
+ private boolean jj_3R_34() {
+ if (jj_3R_25()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_45()) { jj_scanpos = xsp; break; }
+ if (jj_3R_46()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_20() {
+ private boolean jj_3R_21() {
if (jj_scan_token(QUOTED_ID)) return true;
return false;
}
- private boolean jj_3R_41() {
+ private boolean jj_3R_42() {
if (jj_scan_token(NULL)) return true;
return false;
}
@@ -1274,32 +1272,92 @@ public class ConfiguredObjectFilterParse
return false;
}
- private boolean jj_3R_19() {
+ private boolean jj_3R_20() {
if (jj_scan_token(ID)) return true;
return false;
}
- private boolean jj_3R_12() {
+ private boolean jj_3R_13() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_15()) {
- jj_scanpos = xsp;
if (jj_3R_16()) {
jj_scanpos = xsp;
if (jj_3R_17()) {
jj_scanpos = xsp;
- if (jj_3R_18()) return true;
+ if (jj_3R_18()) {
+ jj_scanpos = xsp;
+ if (jj_3R_19()) return true;
}
}
}
return false;
}
- private boolean jj_3R_40() {
+ private boolean jj_3R_41() {
if (jj_scan_token(FALSE)) return true;
return false;
}
+ private boolean jj_3R_55() {
+ if (jj_scan_token(32)) return true;
+ if (jj_3R_50()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_14() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_20()) {
+ jj_scanpos = xsp;
+ if (jj_3R_21()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_3() {
+ if (jj_scan_token(NOT)) return true;
+ if (jj_scan_token(BETWEEN)) return true;
+ if (jj_3R_52()) return true;
+ if (jj_scan_token(AND)) return true;
+ if (jj_3R_52()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_54() {
+ if (jj_scan_token(31)) return true;
+ if (jj_3R_50()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_51() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_54()) {
+ jj_scanpos = xsp;
+ if (jj_3R_55()) {
+ jj_scanpos = xsp;
+ if (jj_3_1()) {
+ jj_scanpos = xsp;
+ if (jj_3R_56()) return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_40() {
+ if (jj_scan_token(TRUE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_63() {
+ if (jj_scan_token(BETWEEN)) return true;
+ if (jj_3R_52()) return true;
+ if (jj_scan_token(AND)) return true;
+ if (jj_3R_52()) return true;
+ return false;
+ }
+
/** Generated Token Manager. */
public ConfiguredObjectFilterParserTokenManager token_source;
SimpleCharStream jj_input_stream;
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserConstants.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserConstants.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserConstants.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserConstants.java Thu Apr 28 16:22:56 2016
@@ -60,23 +60,27 @@ public interface ConfiguredObjectFilterP
/** RegularExpression Id. */
int AS = 19;
/** RegularExpression Id. */
- int DECIMAL_LITERAL = 20;
+ int ASC = 20;
/** RegularExpression Id. */
- int HEX_LITERAL = 21;
+ int DESC = 21;
/** RegularExpression Id. */
- int OCTAL_LITERAL = 22;
+ int DECIMAL_LITERAL = 22;
/** RegularExpression Id. */
- int FLOATING_POINT_LITERAL = 23;
+ int HEX_LITERAL = 23;
/** RegularExpression Id. */
- int EXPONENT = 24;
+ int OCTAL_LITERAL = 24;
/** RegularExpression Id. */
- int STRING_LITERAL = 25;
+ int FLOATING_POINT_LITERAL = 25;
/** RegularExpression Id. */
- int FUNCTIONNAME = 26;
+ int EXPONENT = 26;
/** RegularExpression Id. */
- int ID = 27;
+ int STRING_LITERAL = 27;
/** RegularExpression Id. */
- int QUOTED_ID = 28;
+ int FUNCTIONNAME = 28;
+ /** RegularExpression Id. */
+ int ID = 29;
+ /** RegularExpression Id. */
+ int QUOTED_ID = 30;
/** Lexical state. */
int DEFAULT = 0;
@@ -103,6 +107,8 @@ public interface ConfiguredObjectFilterP
"\"FALSE\"",
"\"NULL\"",
"\"AS\"",
+ "\"ASC\"",
+ "\"DESC\"",
"<DECIMAL_LITERAL>",
"<HEX_LITERAL>",
"<OCTAL_LITERAL>",
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserTokenManager.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserTokenManager.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserTokenManager.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectFilterParserTokenManager.java Thu Apr 28 16:22:56 2016
@@ -31,6 +31,7 @@ import org.apache.qpid.filter.BooleanExp
import org.apache.qpid.filter.ComparisonExpression;
import org.apache.qpid.filter.ConstantExpression;
import org.apache.qpid.filter.Expression;
+import org.apache.qpid.filter.OrderByExpression;
import org.apache.qpid.filter.LogicExpression;
import org.apache.qpid.filter.UnaryExpression;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -69,45 +70,47 @@ private int jjMoveStringLiteralDfa0_0()
jjmatchedKind = 1;
return jjMoveNfa_0(5, 0);
case 37:
- jjmatchedKind = 42;
+ jjmatchedKind = 44;
return jjMoveNfa_0(5, 0);
case 40:
- jjmatchedKind = 35;
+ jjmatchedKind = 37;
return jjMoveNfa_0(5, 0);
case 41:
- jjmatchedKind = 37;
+ jjmatchedKind = 39;
return jjMoveNfa_0(5, 0);
case 42:
- jjmatchedKind = 40;
+ jjmatchedKind = 42;
return jjMoveNfa_0(5, 0);
case 43:
- jjmatchedKind = 38;
+ jjmatchedKind = 40;
return jjMoveNfa_0(5, 0);
case 44:
- jjmatchedKind = 36;
+ jjmatchedKind = 38;
return jjMoveNfa_0(5, 0);
case 45:
- jjmatchedKind = 39;
+ jjmatchedKind = 41;
return jjMoveNfa_0(5, 0);
case 46:
- jjmatchedKind = 43;
+ jjmatchedKind = 45;
return jjMoveNfa_0(5, 0);
case 47:
- jjmatchedKind = 41;
+ jjmatchedKind = 43;
return jjMoveNfa_0(5, 0);
case 60:
- jjmatchedKind = 33;
- return jjMoveStringLiteralDfa1_0(0x440000000L);
+ jjmatchedKind = 35;
+ return jjMoveStringLiteralDfa1_0(0x1100000000L);
case 61:
- jjmatchedKind = 29;
+ jjmatchedKind = 31;
return jjMoveNfa_0(5, 0);
case 62:
- jjmatchedKind = 31;
- return jjMoveStringLiteralDfa1_0(0x100000000L);
+ jjmatchedKind = 33;
+ return jjMoveStringLiteralDfa1_0(0x400000000L);
case 65:
- return jjMoveStringLiteralDfa1_0(0x80200L);
+ return jjMoveStringLiteralDfa1_0(0x180200L);
case 66:
return jjMoveStringLiteralDfa1_0(0x800L);
+ case 68:
+ return jjMoveStringLiteralDfa1_0(0x200000L);
case 69:
return jjMoveStringLiteralDfa1_0(0x2000L);
case 70:
@@ -123,15 +126,17 @@ private int jjMoveStringLiteralDfa0_0()
case 84:
return jjMoveStringLiteralDfa1_0(0x10000L);
case 91:
- jjmatchedKind = 44;
+ jjmatchedKind = 46;
return jjMoveNfa_0(5, 0);
case 93:
- jjmatchedKind = 45;
+ jjmatchedKind = 47;
return jjMoveNfa_0(5, 0);
case 97:
- return jjMoveStringLiteralDfa1_0(0x80200L);
+ return jjMoveStringLiteralDfa1_0(0x180200L);
case 98:
return jjMoveStringLiteralDfa1_0(0x800L);
+ case 100:
+ return jjMoveStringLiteralDfa1_0(0x200000L);
case 101:
return jjMoveStringLiteralDfa1_0(0x2000L);
case 102:
@@ -159,28 +164,28 @@ private int jjMoveStringLiteralDfa1_0(lo
switch(curChar)
{
case 61:
- if ((active0 & 0x100000000L) != 0L)
+ if ((active0 & 0x400000000L) != 0L)
{
- jjmatchedKind = 32;
+ jjmatchedKind = 34;
jjmatchedPos = 1;
}
- else if ((active0 & 0x400000000L) != 0L)
+ else if ((active0 & 0x1000000000L) != 0L)
{
- jjmatchedKind = 34;
+ jjmatchedKind = 36;
jjmatchedPos = 1;
}
break;
case 62:
- if ((active0 & 0x40000000L) != 0L)
+ if ((active0 & 0x100000000L) != 0L)
{
- jjmatchedKind = 30;
+ jjmatchedKind = 32;
jjmatchedPos = 1;
}
break;
case 65:
return jjMoveStringLiteralDfa2_0(active0, 0x20000L);
case 69:
- return jjMoveStringLiteralDfa2_0(active0, 0x800L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x200800L);
case 73:
return jjMoveStringLiteralDfa2_0(active0, 0x1000L);
case 78:
@@ -210,13 +215,13 @@ private int jjMoveStringLiteralDfa1_0(lo
jjmatchedKind = 19;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x102000L);
case 85:
return jjMoveStringLiteralDfa2_0(active0, 0x40000L);
case 97:
return jjMoveStringLiteralDfa2_0(active0, 0x20000L);
case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x800L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x200800L);
case 105:
return jjMoveStringLiteralDfa2_0(active0, 0x1000L);
case 110:
@@ -246,7 +251,7 @@ private int jjMoveStringLiteralDfa1_0(lo
jjmatchedKind = 19;
jjmatchedPos = 1;
}
- return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0x102000L);
case 117:
return jjMoveStringLiteralDfa2_0(active0, 0x40000L);
default :
@@ -265,6 +270,11 @@ private int jjMoveStringLiteralDfa2_0(lo
switch(curChar)
{
case 67:
+ if ((active0 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 20;
+ jjmatchedPos = 2;
+ }
return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
case 68:
if ((active0 & 0x200L) != 0L)
@@ -277,6 +287,8 @@ private int jjMoveStringLiteralDfa2_0(lo
return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
case 76:
return jjMoveStringLiteralDfa3_0(active0, 0x60000L);
+ case 83:
+ return jjMoveStringLiteralDfa3_0(active0, 0x200000L);
case 84:
if ((active0 & 0x100L) != 0L)
{
@@ -287,6 +299,11 @@ private int jjMoveStringLiteralDfa2_0(lo
case 85:
return jjMoveStringLiteralDfa3_0(active0, 0x10000L);
case 99:
+ if ((active0 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 20;
+ jjmatchedPos = 2;
+ }
return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
case 100:
if ((active0 & 0x200L) != 0L)
@@ -299,6 +316,8 @@ private int jjMoveStringLiteralDfa2_0(lo
return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
case 108:
return jjMoveStringLiteralDfa3_0(active0, 0x60000L);
+ case 115:
+ return jjMoveStringLiteralDfa3_0(active0, 0x200000L);
case 116:
if ((active0 & 0x100L) != 0L)
{
@@ -325,6 +344,13 @@ private int jjMoveStringLiteralDfa3_0(lo
{
case 65:
return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
+ case 67:
+ if ((active0 & 0x200000L) != 0L)
+ {
+ jjmatchedKind = 21;
+ jjmatchedPos = 3;
+ }
+ break;
case 69:
if ((active0 & 0x1000L) != 0L)
{
@@ -350,6 +376,13 @@ private int jjMoveStringLiteralDfa3_0(lo
return jjMoveStringLiteralDfa4_0(active0, 0x800L);
case 97:
return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
+ case 99:
+ if ((active0 & 0x200000L) != 0L)
+ {
+ jjmatchedKind = 21;
+ jjmatchedPos = 3;
+ }
+ break;
case 101:
if ((active0 & 0x1000L) != 0L)
{
@@ -507,8 +540,8 @@ private int jjMoveNfa_0(int startState,
jjCheckNAddStates(4, 6);
else if (curChar == 36)
{
- if (kind > 27)
- kind = 27;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(30);
}
else if (curChar == 39)
@@ -521,14 +554,14 @@ private int jjMoveNfa_0(int startState,
jjstateSet[jjnewStateCnt++] = 0;
if ((0x3fe000000000000L & l) != 0L)
{
- if (kind > 20)
- kind = 20;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(14, 15);
}
else if (curChar == 48)
{
- if (kind > 22)
- kind = 22;
+ if (kind > 24)
+ kind = 24;
jjCheckNAddTwoStates(48, 50);
}
break;
@@ -583,15 +616,15 @@ private int jjMoveNfa_0(int startState,
case 13:
if ((0x3fe000000000000L & l) == 0L)
break;
- if (kind > 20)
- kind = 20;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(14, 15);
break;
case 14:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 20)
- kind = 20;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(14, 15);
break;
case 16:
@@ -601,8 +634,8 @@ private int jjMoveNfa_0(int startState,
case 17:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAddTwoStates(17, 18);
break;
case 19:
@@ -612,8 +645,8 @@ private int jjMoveNfa_0(int startState,
case 20:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAdd(20);
break;
case 21:
@@ -630,29 +663,29 @@ private int jjMoveNfa_0(int startState,
jjCheckNAddStates(7, 9);
break;
case 25:
- if (curChar == 39 && kind > 25)
- kind = 25;
+ if (curChar == 39 && kind > 27)
+ kind = 27;
break;
case 27:
if ((0x3ff000000000000L & l) != 0L)
jjAddStates(16, 17);
break;
case 28:
- if (curChar == 40 && kind > 26)
- kind = 26;
+ if (curChar == 40 && kind > 28)
+ kind = 28;
break;
case 29:
if (curChar != 36)
break;
- if (kind > 27)
- kind = 27;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(30);
break;
case 30:
if ((0x3ff001000000000L & l) == 0L)
break;
- if (kind > 27)
- kind = 27;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(30);
break;
case 31:
@@ -669,8 +702,8 @@ private int jjMoveNfa_0(int startState,
jjCheckNAddStates(4, 6);
break;
case 35:
- if (curChar == 34 && kind > 28)
- kind = 28;
+ if (curChar == 34 && kind > 30)
+ kind = 30;
break;
case 36:
if ((0x3ff000000000000L & l) != 0L)
@@ -683,15 +716,15 @@ private int jjMoveNfa_0(int startState,
case 38:
if (curChar != 46)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAddTwoStates(39, 40);
break;
case 39:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAddTwoStates(39, 40);
break;
case 41:
@@ -701,8 +734,8 @@ private int jjMoveNfa_0(int startState,
case 42:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAdd(42);
break;
case 43:
@@ -716,29 +749,29 @@ private int jjMoveNfa_0(int startState,
case 46:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 23)
- kind = 23;
+ if (kind > 25)
+ kind = 25;
jjCheckNAdd(46);
break;
case 47:
if (curChar != 48)
break;
- if (kind > 22)
- kind = 22;
+ if (kind > 24)
+ kind = 24;
jjCheckNAddTwoStates(48, 50);
break;
case 49:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 23)
+ kind = 23;
jjstateSet[jjnewStateCnt++] = 49;
break;
case 50:
if ((0xff000000000000L & l) == 0L)
break;
- if (kind > 22)
- kind = 22;
+ if (kind > 24)
+ kind = 24;
jjCheckNAdd(50);
break;
default : break;
@@ -755,8 +788,8 @@ private int jjMoveNfa_0(int startState,
case 5:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 27)
- kind = 27;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(30);
}
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -773,8 +806,8 @@ private int jjMoveNfa_0(int startState,
jjCheckNAddTwoStates(10, 8);
break;
case 15:
- if ((0x100000001000L & l) != 0L && kind > 20)
- kind = 20;
+ if ((0x100000001000L & l) != 0L && kind > 22)
+ kind = 22;
break;
case 18:
if ((0x2000000020L & l) != 0L)
@@ -792,8 +825,8 @@ private int jjMoveNfa_0(int startState,
case 30:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 27)
- kind = 27;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(30);
break;
case 34:
@@ -814,8 +847,8 @@ private int jjMoveNfa_0(int startState,
case 49:
if ((0x7e0000007eL & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 23)
+ kind = 23;
jjCheckNAdd(49);
break;
default : break;
@@ -911,15 +944,15 @@ private static final boolean jjCanMove_0
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-null, null, "\75", "\74\76", "\76", "\76\75", "\74", "\74\75", "\50", "\54", "\51",
-"\53", "\55", "\52", "\57", "\45", "\56", "\133", "\135", };
+null, null, null, null, "\75", "\74\76", "\76", "\76\75", "\74", "\74\75", "\50",
+"\54", "\51", "\53", "\55", "\52", "\57", "\45", "\56", "\133", "\135", };
/** Lexer state names. */
public static final String[] lexStateNames = {
"DEFAULT",
};
static final long[] jjtoToken = {
- 0x3ffffeffff01L,
+ 0xfffffbffff01L,
};
static final long[] jjtoSkip = {
0xfeL,
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectQuery.java Thu Apr 28 16:22:56 2016
@@ -21,7 +21,10 @@
package org.apache.qpid.server.management.plugin.servlet.query;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
+import java.util.ListIterator;
import java.util.Map;
import org.slf4j.Logger;
@@ -30,6 +33,7 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.filter.BooleanExpression;
import org.apache.qpid.filter.Expression;
import org.apache.qpid.filter.SelectorParsingException;
+import org.apache.qpid.filter.OrderByExpression;
import org.apache.qpid.server.model.ConfiguredObject;
public final class ConfiguredObjectQuery
@@ -42,6 +46,7 @@ public final class ConfiguredObjectQuery
private final List<List<Object>> _results;
private final List<String> _headers;
+ private final int _totalNumberOfRows;
interface HeadersAndValueExpressions
{
@@ -51,14 +56,38 @@ public final class ConfiguredObjectQuery
public ConfiguredObjectQuery(List<ConfiguredObject<?>> objects, String selectClause, String whereClause)
{
+ this(objects, selectClause, whereClause, null);
+ }
+
+ public ConfiguredObjectQuery(List<ConfiguredObject<?>> objects,
+ String selectClause,
+ String whereClause,
+ String orderByClause)
+ {
+ this(objects, selectClause, whereClause, orderByClause, null, null);
+ }
+
+ public ConfiguredObjectQuery(List<ConfiguredObject<?>> objects,
+ String selectClause,
+ String whereClause,
+ String orderByClause,
+ String limitClause,
+ String offsetClause)
+ {
+ int limit = toInt(limitClause, -1);
+ int offset = toInt(offsetClause, 0);
HeadersAndValueExpressions headersAndValueExpressions = parseSelectClause(selectClause);
List<ConfiguredObject<?>> filteredObjects = whereClause == null ? objects : filterObjects(objects, whereClause);
+ List<ConfiguredObject<?>> orderedObjects = orderByClause == null ? filteredObjects : orderObjects(filteredObjects,
+ orderByClause,
+ headersAndValueExpressions.getValueExpressions());
+ List<ConfiguredObject<?>> limitedOrderedObjects = applyLimitAndOffset(orderedObjects, limit, offset);
_headers = headersAndValueExpressions.getHeaders();
- _results = evaluateResults(filteredObjects, headersAndValueExpressions.getValueExpressions());
-
+ _results = evaluateResults(limitedOrderedObjects, headersAndValueExpressions.getValueExpressions());
+ _totalNumberOfRows = filteredObjects.size();
}
public List<List<Object>> getResults()
@@ -71,6 +100,27 @@ public final class ConfiguredObjectQuery
return _headers;
}
+ public int getTotalNumberOfRows()
+ {
+ return _totalNumberOfRows;
+ }
+
+ private int toInt(String value, int defaultValue)
+ {
+ int returnValue = defaultValue;
+ if (value != null)
+ {
+ try
+ {
+ returnValue = Integer.parseInt(value);
+ }
+ catch (NumberFormatException e)
+ {
+ }
+ }
+ return returnValue;
+ }
+
private HeadersAndValueExpressions parseSelectClause(final String selectClause)
{
final List<String> headers = new ArrayList<>();
@@ -154,7 +204,6 @@ public final class ConfiguredObjectQuery
return filteredObjects;
}
-
private List<List<Object>> evaluateResults(final List<ConfiguredObject<?>> filteredObjects, List<Expression> valueExpressions)
{
List<List<Object>> values = new ArrayList<>();
@@ -180,6 +229,114 @@ public final class ConfiguredObjectQuery
return values;
}
+ private List<ConfiguredObject<?>> applyLimitAndOffset(final List<ConfiguredObject<?>> orderedObjects, final int limit, int offset)
+ {
+ int size = orderedObjects.size();
+ int firstIndex = offset < 0 ? Math.max(0, size + offset) : Math.min(size, offset);
+ int lastIndex = limit < 0 ? size : Math.min(size, firstIndex + limit);
+
+ return orderedObjects.subList(firstIndex, lastIndex);
+ }
+
+
+ class OrderByComparator implements Comparator<Object>
+ {
+ private final List<OrderByExpression> _orderByExpressions;
+
+ public OrderByComparator(final List<OrderByExpression> orderByExpressions,
+ final List<Expression> valueExpressions)
+ {
+ _orderByExpressions = new ArrayList<>(orderByExpressions);
+ for (ListIterator<OrderByExpression> iterator = _orderByExpressions.listIterator(); iterator.hasNext(); )
+ {
+ OrderByExpression orderByExpression = iterator.next();
+ if (orderByExpression.isColumnIndex())
+ {
+ // column indices are starting from 1 by SQL spec
+ int index = orderByExpression.getColumnIndex();
+ if (index <= 0 || index > valueExpressions.size())
+ {
+ throw new EvaluationException(String.format("Invalid column index '%d' in orderBy clause", index));
+ }
+ else
+ {
+ orderByExpression = new OrderByExpression(valueExpressions.get(index - 1), orderByExpression.getOrder());
+ iterator.set(orderByExpression);
+ }
+ }
+ }
+ }
+
+ @Override
+ public int compare(final Object o1, final Object o2)
+ {
+ int index = 0;
+ int comparisonResult = 0;
+ for (OrderByExpression orderByExpression : _orderByExpressions)
+ {
+ try
+ {
+ Comparable left = (Comparable) orderByExpression.evaluate(o1);
+ Comparable right = (Comparable) orderByExpression.evaluate(o2);
+ if (left == null && right != null)
+ {
+ comparisonResult = -1;
+ }
+ else if (left != null && right == null)
+ {
+ comparisonResult = 1;
+ }
+ else if (left != null && right != null)
+ {
+ comparisonResult = left.compareTo(right);
+ }
+ if (comparisonResult != 0)
+ {
+ int order = 1;
+ if (orderByExpression.getOrder() == OrderByExpression.Order.DESC)
+ {
+ order = -1;
+ }
+ return order * comparisonResult;
+ }
+ index++;
+ }
+ catch (ClassCastException e)
+ {
+ throw new EvaluationException(String.format("The orderBy expression at position '%d' is unsupported", index), e);
+ }
+ }
+ return comparisonResult;
+ }
+ }
+
+ private List<ConfiguredObject<?>> orderObjects(final List<ConfiguredObject<?>> unorderedResults,
+ String orderByClause,
+ final List<Expression> valueExpressions)
+ {
+ List<OrderByExpression> orderByExpressions = parseOrderByClause(orderByClause);
+ List<ConfiguredObject<?>> orderedObjects = new ArrayList<>(unorderedResults.size());
+ orderedObjects.addAll(unorderedResults);
+ Comparator<Object> comparator = new OrderByComparator(orderByExpressions, valueExpressions);
+ Collections.sort(orderedObjects, comparator);
+ return orderedObjects;
+ }
+
+ private List<OrderByExpression> parseOrderByClause(final String orderByClause)
+ {
+ final List<OrderByExpression> orderByExpressions;
+ ConfiguredObjectFilterParser parser = new ConfiguredObjectFilterParser();
+ parser.setConfiguredObjectExpressionFactory(_expressionFactory);
+ try
+ {
+ orderByExpressions = parser.parseOrderBy(orderByClause);
+ }
+ catch (ParseException | TokenMgrError e)
+ {
+ throw new SelectorParsingException("Unable to parse orderBy clause", e);
+ }
+ return orderByExpressions;
+ }
}
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/EvaluationException.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/EvaluationException.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/EvaluationException.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/EvaluationException.java Thu Apr 28 16:22:56 2016
@@ -23,6 +23,11 @@ package org.apache.qpid.server.managemen
public class EvaluationException extends RuntimeException
{
+ public EvaluationException(final String s)
+ {
+ super(s);
+ }
+
public EvaluationException(final String s, final RuntimeException e)
{
super(s,e);
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java Thu Apr 28 16:22:56 2016
@@ -57,6 +57,7 @@ import org.apache.qpid.server.util.Conne
public abstract class AbstractServlet extends HttpServlet
{
+ public static final int SC_UNPROCESSABLE_ENTITY = 422;
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractServlet.class);
public static final String CONTENT_DISPOSITION = "Content-disposition";
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java Thu Apr 28 16:22:56 2016
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.filter.SelectorParsingException;
import org.apache.qpid.server.management.plugin.servlet.query.ConfiguredObjectQuery;
+import org.apache.qpid.server.management.plugin.servlet.query.EvaluationException;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Model;
@@ -71,23 +72,34 @@ public abstract class QueryServlet<X ext
if (category != null)
{
List<ConfiguredObject<?>> objects = getAllObjects(parent, category, request);
- Map<String, List<?>> resultsObject = new LinkedHashMap<>();
+ Map<String, Object> resultsObject = new LinkedHashMap<>();
try
{
ConfiguredObjectQuery query = new ConfiguredObjectQuery(objects,
request.getParameter("select"),
- request.getParameter("where"));
+ request.getParameter("where"),
+ request.getParameter("orderBy"),
+ request.getParameter("limit"),
+ request.getParameter("offset"));
resultsObject.put("headers", query.getHeaders());
resultsObject.put("results", query.getResults());
+ resultsObject.put("total", query.getTotalNumberOfRows());
sendJsonResponse(resultsObject, request, response);
}
catch (SelectorParsingException e)
{
sendJsonErrorResponse(request,
response,
- HttpServletResponse.SC_NOT_FOUND,
+ HttpServletResponse.SC_BAD_REQUEST,
+ e.getMessage());
+ }
+ catch (EvaluationException e)
+ {
+ sendJsonErrorResponse(request,
+ response,
+ SC_UNPROCESSABLE_ENTITY,
e.getMessage());
}
}
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java Thu Apr 28 16:22:56 2016
@@ -74,7 +74,6 @@ public class RestServlet extends Abstrac
public static final String INCLUDE_SYS_CONTEXT_PARAM = "includeSysContext";
public static final String INHERITED_ACTUALS_PARAM = "inheritedActuals";
public static final String EXTRACT_INITIAL_CONFIG_PARAM = "extractInitialConfig";
- public static final int SC_UNPROCESSABLE_ENTITY = 422;
/**
* Signifies that the agent wishes the servlet to set the Content-Disposition on the
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js?rev=1741469&r1=1741468&r2=1741469&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js Thu Apr 28 16:22:56 2016
@@ -558,37 +558,15 @@ define(["dojo/_base/lang",
// Virtual host query scope can be defined by setting parent
// into corresponding object representing a virtual host hierarchy
//
- // requestOptions: Object?
- // is optional request settings
- //
// returns: promise of type dojo.promise.Promise
// Promise returned by dojo.request.xhr with modified then method allowing to use default error handler if none is specified.
- Management.prototype.query = function(query, requestOptions)
+ Management.prototype.query = function(query)
{
var url = "api/latest/" + (query.parent && query.parent.type === "virtualhost" ?
"queryvhost/" + this.objectToPath({parent: query.parent}) :
"querybroker") + (query.category ? "/" + query.category : "");
- url = this.getFullUrl(url);
- var request = {url: url};
-
- if (requestOptions)
- {
- lang.mixin(request,requestOptions);
- }
-
- // id should be always selected
- // and present with index 0
- var select = "id";
- if (query.select)
- {
- select = select + "," + query.select;
- }
- var parameters = {select: select};
- if (query.where)
- {
- parameters.where=query.where
- }
- request.query = parameters;
+ var request = {url: this.getFullUrl(url), query: {}};
+ shallowCopy(query, request.query, ["parent", "category"]);
return this.get(request);
};
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org