2014-11-05 74 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

相關問題