versionone:从项目中获取缺陷并从第一版java sdk更改日期过滤器

时间:2014-11-05 14:19:44

标签: java api rest sdk versionone

我希望检索属于项目A且在过去24小时内已修改的所有缺陷的列表。我使用下面给出的代码来检索属于项目的所有缺陷的列表(项目是一个包含项目名称的字符串变量)

        scope=defectType.getAttributeDefinition("Scope.Name");
        FilterTerm toDoTerm = Query.term(scope);
        toDoTerm.Equal(project);

现在我想再添加一个条件,仅列出过去24小时内已更改的缺陷 我检查了versionone api但找不到任何相关的java源代码/示例或函数名称。

我如何添加"和"等条件?或"或" ?

1 个答案:

答案 0 :(得分:2)

您可以使用GroupFilterTerm来连接过滤器(And或Or),如下所示:

FilterTerm toDoTerm = new FilterTerm(nameAttribute);
toDoTerm.equal(project);
FilterTerm dateFilter = new FilterTerm(dateAttribute);
Calendar c = Calendar.getInstance();
dateFilter.lessOrEqual(c.getTime());

GroupFilterTerm groupFilter = new AndFilterTerm(toDoTerm, dateFilter);
Collection<IAttributeDefinition> attributesToQuery = new LinkedList<IAttributeDefinition>();
attributesToQuery.add(nameAttribute);
attributesToQuery.add(dateAttribute);
query = new Query(storyAsset.getOid().getMomentless(), true);
query.getSelection().addAll(attributesToQuery);
query.setFilter(groupFilter);

在这个例子中,我正在查询特定项目中的缺陷,以及缺陷ChangeDate(dateAttribute)值是否小于或等于今天。

在进行比较时,您需要考虑Java如何处理Date变量。