在Java中筛选除SubscriptionAdmin之外的用户
我试图为所有用户应用某些业务规则,Java中的订阅管理员除外。当我如下设置过滤器时 setQueryFilter(新的QueryFilter(“SubscriptionAdmin”,“=”,“false”) 我犯了这样的错误 无法分析:查询表达式中不允许用户类型上的属性“SubscriptionAdmin” 我如何做到这一点?非常感谢您的帮助。根据,用户对象上的SubscriptionAdmin字段不能用于查询。您可以迭代用户并使用带有条件的在Java中筛选除SubscriptionAdmin之外的用户,java,rally,Java,Rally,我试图为所有用户应用某些业务规则,Java中的订阅管理员除外。当我如下设置过滤器时 setQueryFilter(新的QueryFilter(“SubscriptionAdmin”,“=”,“false”) 我犯了这样的错误 无法分析:查询表达式中不允许用户类型上的属性“SubscriptionAdmin” 我如何做到这一点?非常感谢您的帮助。根据,用户对象上的SubscriptionAdmin字段不能用于查询。您可以迭代用户并使用带有条件的if语句: if (userQueryObject.g
if
语句:
if (userQueryObject.get("SubscriptionAdmin").getAsBoolean() == false){
//your code here;
}
SubscriptionAdmin
字段必须包含在获取中。下面是一段代码片段,其中计算了条件:
QueryRequest userRequest = new QueryRequest("User");
userRequest.setFetch(new Fetch("UserName", "Subscription", "DisplayName", "SubscriptionAdmin"));
userRequest.setQueryFilter(new QueryFilter("UserName", "=", "someuser@co.com"));
QueryResponse userQueryResponse = restApi.query(userRequest);
JsonArray userQueryResults = userQueryResponse.getResults();
JsonElement userQueryElement = userQueryResults.get(0);
JsonObject userQueryObject = userQueryElement.getAsJsonObject();
String userRef = userQueryObject.get("_ref").getAsString();
System.out.println(userRef);
if (userQueryObject.get("SubscriptionAdmin").getAsBoolean() == false){
System.out.println(userQueryObject.get("SubscriptionAdmin"));
}
谢谢。谢谢