我已经完成了可以打印 Rally 中所有用户的用户名和最后登录日期的程序。但是,我需要一些帮助来比较 lastlogindate 和当前日期,以便如果他们在 30 天后没有登录,我可以禁用用户帐户。
package com.Rally;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.rallydev.rest.RallyRestApi;
import com.rallydev.rest.request.QueryRequest;
import com.rallydev.rest.response.QueryResponse;
import com.rallydev.rest.util.Fetch;
import com.rallydev.rest.util.QueryFilter;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class QueryExample {
public static void main(String[] args) throws URISyntaxException, IOException {
//Create and configure a new instance of RallyRestApi
RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "userid", "pwd");
restApi.setApplicationName("QueryExample");
try {
System.out.println("Querying the lastlogindate information of the users...");
QueryRequest user = new QueryRequest("user");
user.setFetch(new Fetch("UserName", "LastName", "LastLoginDate"));
//user.setQueryFilter(new QueryFilter("LastLoginDate", "<", "current date-30"));
QueryResponse queryResponse = restApi.query(user);
if (queryResponse.wasSuccessful()) {
System.out.println(String.format("\nTotal results: %d", queryResponse.getTotalResultCount()));
for (JsonElement result : queryRespo`enter code here`nse.getResults()) {
JsonObject users = result.getAsJsonObject();
JsonElement lastLogin = users.get("LastLoginDate");
if (lastLogin.isJsonNull()) {
// do nothing
}
else {
System.out.println(String.format("\t%s : LastLoginDate=%s",
users.get("UserName").getAsString(),
users.get("LastLoginDate").getAsString()));
}
}
} else {
System.err.println("The following errors occurred: ");
for (String err : queryResponse.getErrors()) {
System.err.println("\t" + err);
}
}
} finally {
//Release resources
restApi.close();
}
}
}