查询工作项tfs sdk - 时区不能为空

时间:2014-05-06 14:56:40

标签: java tfs wiql

我正在使用SDK for Java创建查询。

我想从2天前到今天获取ID。

String wiqlQuery = "Select ID from WorkItems where System.ChangedDate >= @Today-2";
WorkItemCollection workItems = workItemClient.query(wiqlQuery);

我也试过MSDN中的这个例子来测试" WHERE"与日期:

String wiqlQuery = "Select ID from WorkItems where [System.ChangedDate] >= '1/8/06 GMT'";

我收到以下消息:

Exception in thread "main" java.lang.NullPointerException: timeZone must not be null

参考:http://msdn.microsoft.com/en-us/library/bb130148%28v=vs.90%29.aspx

有人可以帮我吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

连接到TFS时,需要指定ConnectionAdvisor。如果在创建TFSTeamProjectCollection的新实例时未指定连接顾问程序,则会使用默认语言环境和时区创建DefaultConnectionAdvisor。也许它没有设置默认的区域设置和时区。

但是,最好在defaultConnectionAdvisor中设置时区。

ConnectionAdvisor connectionAdvisor = new DefaultConnectionAdvisor(Locale.US, TimeZone.getTimeZone("UTC"));
tpc = new TFSTeamProjectCollection(URIUtils.newURI(TFS_COLLECTION_URL), credentials, connectionAdvisor);

希望这有帮助。