0

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();
        }
    }
}
4

1 に答える 1

0

Joda Time Library を使用できます。

Date d1=new Date(2013, 08, 21);
Date d2=new Date(2013, 08, 22);
Duration d=new Duration(d1,d2);
于 2013-08-21T06:13:02.210 に答える