2014-11-05 17 views
0

我正在寻找检索属于项目A并且在过去24小时内已修改的所有缺陷的列表。我使用的给定下面的代码来获取属于项目的所有缺陷列表(项目是该项目的一个包含字符串变量名)versionone:从项目中获取缺陷并从版本1更改日期筛选器java sdk

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

现在,我想补充一个条件,仅列出那些缺陷在过去的24小时内发生了变化。
我检查了versionone api,但找不到任何相关的java源代码/示例或函数名称。

如何添加“and”或“or”等条件?

回答

1

可以使用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变量。

+0

嗨,感谢您的回答,是否存在一些很好的文档解释了面向对象模型(Java)中的查询 – Tarun 2014-11-07 13:40:43

+0

我甚至无法在版本站点上找到关于FilterTerm的描述。你能否告诉我们是否有这样的好文件。 – Tarun 2014-11-07 13:42:08

+1

一些文档可以在Java.SDK的GitHub仓库中找到。 **主Repo **:https://github.com/versionone/VersionOne.SDK.Java.APIClient **一般文档**:http://versionone.github.io/VersionOne.SDK.Java。 APIClient/introduction.html ** JavaDocs **:http://versionone.github.io/VersionOne.SDK.Java.APIClient/apidocs/index.html JavaDocs包含有关SDK中所有类和方法的信息。 – 2014-11-07 14:07:17

相关问题