
io.gs2.identifier.Gs2IdentifierRestClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gs2-java-sdk-identifier Show documentation
Show all versions of gs2-java-sdk-identifier Show documentation
Game Server Services GS2-Identifier SDK for Java
The newest version!
/*
* Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package io.gs2.identifier;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.json.JSONObject;
import org.json.JSONArray;
import io.gs2.model.AsyncAction;
import io.gs2.model.AsyncResult;
import io.gs2.exception.*;
import io.gs2.net.*;
import io.gs2.util.EncodingUtil;
import io.gs2.AbstractGs2Client;
import io.gs2.identifier.request.*;
import io.gs2.identifier.result.*;
import io.gs2.identifier.model.*;
/**
* GS2 Identifier API クライアント
*
* @author Game Server Services, Inc.
*
*/
public class Gs2IdentifierRestClient extends AbstractGs2Client {
/**
* コンストラクタ。
*
* @param gs2RestSession セッション
*/
public Gs2IdentifierRestClient(Gs2RestSession gs2RestSession) {
super(gs2RestSession);
}
class DescribeUsersTask extends Gs2RestSessionTask {
private DescribeUsersRequest request;
public DescribeUsersTask(
DescribeUsersRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* ユーザの一覧を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void describeUsersAsync(
DescribeUsersRequest request,
AsyncAction> callback
) {
DescribeUsersTask task = new DescribeUsersTask(request, callback, DescribeUsersResult.class);
session.execute(task);
}
/**
* ユーザの一覧を取得します
*
* @param request リクエストパラメータ
*/
public DescribeUsersResult describeUsers(
DescribeUsersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeUsersAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateUserTask extends Gs2RestSessionTask {
private CreateUserRequest request;
public CreateUserTask(
CreateUserRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user";
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getName() != null) {
json.put("name", this.request.getName());
}
if (this.request.getDescription() != null) {
json.put("description", this.request.getDescription());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* ユーザを新規作成します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void createUserAsync(
CreateUserRequest request,
AsyncAction> callback
) {
CreateUserTask task = new CreateUserTask(request, callback, CreateUserResult.class);
session.execute(task);
}
/**
* ユーザを新規作成します
*
* @param request リクエストパラメータ
*/
public CreateUserResult createUser(
CreateUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class UpdateUserTask extends Gs2RestSessionTask {
private UpdateUserRequest request;
public UpdateUserTask(
UpdateUserRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getDescription() != null) {
json.put("description", this.request.getDescription());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.PUT)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* ユーザを更新します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void updateUserAsync(
UpdateUserRequest request,
AsyncAction> callback
) {
UpdateUserTask task = new UpdateUserTask(request, callback, UpdateUserResult.class);
session.execute(task);
}
/**
* ユーザを更新します
*
* @param request リクエストパラメータ
*/
public UpdateUserResult updateUser(
UpdateUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetUserTask extends Gs2RestSessionTask {
private GetUserRequest request;
public GetUserTask(
GetUserRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* ユーザを取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void getUserAsync(
GetUserRequest request,
AsyncAction> callback
) {
GetUserTask task = new GetUserTask(request, callback, GetUserResult.class);
session.execute(task);
}
/**
* ユーザを取得します
*
* @param request リクエストパラメータ
*/
public GetUserResult getUser(
GetUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteUserTask extends Gs2RestSessionTask {
private DeleteUserRequest request;
public DeleteUserTask(
DeleteUserRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* ユーザを削除します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void deleteUserAsync(
DeleteUserRequest request,
AsyncAction> callback
) {
DeleteUserTask task = new DeleteUserTask(request, callback, DeleteUserResult.class);
session.execute(task);
}
/**
* ユーザを削除します
*
* @param request リクエストパラメータ
*/
public DeleteUserResult deleteUser(
DeleteUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeSecurityPoliciesTask extends Gs2RestSessionTask {
private DescribeSecurityPoliciesRequest request;
public DescribeSecurityPoliciesTask(
DescribeSecurityPoliciesRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* セキュリティポリシーの一覧を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void describeSecurityPoliciesAsync(
DescribeSecurityPoliciesRequest request,
AsyncAction> callback
) {
DescribeSecurityPoliciesTask task = new DescribeSecurityPoliciesTask(request, callback, DescribeSecurityPoliciesResult.class);
session.execute(task);
}
/**
* セキュリティポリシーの一覧を取得します
*
* @param request リクエストパラメータ
*/
public DescribeSecurityPoliciesResult describeSecurityPolicies(
DescribeSecurityPoliciesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeSecurityPoliciesAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeCommonSecurityPoliciesTask extends Gs2RestSessionTask {
private DescribeCommonSecurityPoliciesRequest request;
public DescribeCommonSecurityPoliciesTask(
DescribeCommonSecurityPoliciesRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/common";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* オーナーIDを指定してセキュリティポリシーの一覧を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void describeCommonSecurityPoliciesAsync(
DescribeCommonSecurityPoliciesRequest request,
AsyncAction> callback
) {
DescribeCommonSecurityPoliciesTask task = new DescribeCommonSecurityPoliciesTask(request, callback, DescribeCommonSecurityPoliciesResult.class);
session.execute(task);
}
/**
* オーナーIDを指定してセキュリティポリシーの一覧を取得します
*
* @param request リクエストパラメータ
*/
public DescribeCommonSecurityPoliciesResult describeCommonSecurityPolicies(
DescribeCommonSecurityPoliciesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeCommonSecurityPoliciesAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateSecurityPolicyTask extends Gs2RestSessionTask {
private CreateSecurityPolicyRequest request;
public CreateSecurityPolicyTask(
CreateSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy";
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getName() != null) {
json.put("name", this.request.getName());
}
if (this.request.getDescription() != null) {
json.put("description", this.request.getDescription());
}
if (this.request.getPolicy() != null) {
json.put("policy", this.request.getPolicy());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* セキュリティポリシーを新規作成します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void createSecurityPolicyAsync(
CreateSecurityPolicyRequest request,
AsyncAction> callback
) {
CreateSecurityPolicyTask task = new CreateSecurityPolicyTask(request, callback, CreateSecurityPolicyResult.class);
session.execute(task);
}
/**
* セキュリティポリシーを新規作成します
*
* @param request リクエストパラメータ
*/
public CreateSecurityPolicyResult createSecurityPolicy(
CreateSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class UpdateSecurityPolicyTask extends Gs2RestSessionTask {
private UpdateSecurityPolicyRequest request;
public UpdateSecurityPolicyTask(
UpdateSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null|| this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getDescription() != null) {
json.put("description", this.request.getDescription());
}
if (this.request.getPolicy() != null) {
json.put("policy", this.request.getPolicy());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.PUT)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* セキュリティポリシーを更新します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void updateSecurityPolicyAsync(
UpdateSecurityPolicyRequest request,
AsyncAction> callback
) {
UpdateSecurityPolicyTask task = new UpdateSecurityPolicyTask(request, callback, UpdateSecurityPolicyResult.class);
session.execute(task);
}
/**
* セキュリティポリシーを更新します
*
* @param request リクエストパラメータ
*/
public UpdateSecurityPolicyResult updateSecurityPolicy(
UpdateSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetSecurityPolicyTask extends Gs2RestSessionTask {
private GetSecurityPolicyRequest request;
public GetSecurityPolicyTask(
GetSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null|| this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* セキュリティポリシーを取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void getSecurityPolicyAsync(
GetSecurityPolicyRequest request,
AsyncAction> callback
) {
GetSecurityPolicyTask task = new GetSecurityPolicyTask(request, callback, GetSecurityPolicyResult.class);
session.execute(task);
}
/**
* セキュリティポリシーを取得します
*
* @param request リクエストパラメータ
*/
public GetSecurityPolicyResult getSecurityPolicy(
GetSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteSecurityPolicyTask extends Gs2RestSessionTask {
private DeleteSecurityPolicyRequest request;
public DeleteSecurityPolicyTask(
DeleteSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null|| this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* セキュリティポリシーを削除します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void deleteSecurityPolicyAsync(
DeleteSecurityPolicyRequest request,
AsyncAction> callback
) {
DeleteSecurityPolicyTask task = new DeleteSecurityPolicyTask(request, callback, DeleteSecurityPolicyResult.class);
session.execute(task);
}
/**
* セキュリティポリシーを削除します
*
* @param request リクエストパラメータ
*/
public DeleteSecurityPolicyResult deleteSecurityPolicy(
DeleteSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeIdentifiersTask extends Gs2RestSessionTask {
private DescribeIdentifiersRequest request;
public DescribeIdentifiersTask(
DescribeIdentifiersRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* クレデンシャルの一覧を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void describeIdentifiersAsync(
DescribeIdentifiersRequest request,
AsyncAction> callback
) {
DescribeIdentifiersTask task = new DescribeIdentifiersTask(request, callback, DescribeIdentifiersResult.class);
session.execute(task);
}
/**
* クレデンシャルの一覧を取得します
*
* @param request リクエストパラメータ
*/
public DescribeIdentifiersResult describeIdentifiers(
DescribeIdentifiersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeIdentifiersAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateIdentifierTask extends Gs2RestSessionTask {
private CreateIdentifierRequest request;
public CreateIdentifierTask(
CreateIdentifierRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* クレデンシャルを新規作成します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void createIdentifierAsync(
CreateIdentifierRequest request,
AsyncAction> callback
) {
CreateIdentifierTask task = new CreateIdentifierTask(request, callback, CreateIdentifierResult.class);
session.execute(task);
}
/**
* クレデンシャルを新規作成します
*
* @param request リクエストパラメータ
*/
public CreateIdentifierResult createIdentifier(
CreateIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetIdentifierTask extends Gs2RestSessionTask {
private GetIdentifierRequest request;
public GetIdentifierTask(
GetIdentifierRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier/{clientId}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{clientId}", this.request.getClientId() == null|| this.request.getClientId().length() == 0 ? "null" : String.valueOf(this.request.getClientId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* クレデンシャルを取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void getIdentifierAsync(
GetIdentifierRequest request,
AsyncAction> callback
) {
GetIdentifierTask task = new GetIdentifierTask(request, callback, GetIdentifierResult.class);
session.execute(task);
}
/**
* クレデンシャルを取得します
*
* @param request リクエストパラメータ
*/
public GetIdentifierResult getIdentifier(
GetIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteIdentifierTask extends Gs2RestSessionTask {
private DeleteIdentifierRequest request;
public DeleteIdentifierTask(
DeleteIdentifierRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier/{clientId}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{clientId}", this.request.getClientId() == null|| this.request.getClientId().length() == 0 ? "null" : String.valueOf(this.request.getClientId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* クレデンシャルを削除します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void deleteIdentifierAsync(
DeleteIdentifierRequest request,
AsyncAction> callback
) {
DeleteIdentifierTask task = new DeleteIdentifierTask(request, callback, DeleteIdentifierResult.class);
session.execute(task);
}
/**
* クレデンシャルを削除します
*
* @param request リクエストパラメータ
*/
public DeleteIdentifierResult deleteIdentifier(
DeleteIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetHasSecurityPolicyTask extends Gs2RestSessionTask {
private GetHasSecurityPolicyRequest request;
public GetHasSecurityPolicyTask(
GetHasSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* 割り当てられたセキュリティポリシーの一覧を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void getHasSecurityPolicyAsync(
GetHasSecurityPolicyRequest request,
AsyncAction> callback
) {
GetHasSecurityPolicyTask task = new GetHasSecurityPolicyTask(request, callback, GetHasSecurityPolicyResult.class);
session.execute(task);
}
/**
* 割り当てられたセキュリティポリシーの一覧を取得します
*
* @param request リクエストパラメータ
*/
public GetHasSecurityPolicyResult getHasSecurityPolicy(
GetHasSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getHasSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class AttachSecurityPolicyTask extends Gs2RestSessionTask {
private AttachSecurityPolicyRequest request;
public AttachSecurityPolicyTask(
AttachSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getSecurityPolicyId() != null) {
json.put("securityPolicyId", this.request.getSecurityPolicyId());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* 割り当てられたセキュリティポリシーを新しくユーザーに割り当てます
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void attachSecurityPolicyAsync(
AttachSecurityPolicyRequest request,
AsyncAction> callback
) {
AttachSecurityPolicyTask task = new AttachSecurityPolicyTask(request, callback, AttachSecurityPolicyResult.class);
session.execute(task);
}
/**
* 割り当てられたセキュリティポリシーを新しくユーザーに割り当てます
*
* @param request リクエストパラメータ
*/
public AttachSecurityPolicyResult attachSecurityPolicy(
AttachSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
attachSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DetachSecurityPolicyTask extends Gs2RestSessionTask {
private DetachSecurityPolicyRequest request;
public DetachSecurityPolicyTask(
DetachSecurityPolicyRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy/{securityPolicyId}";
url = url.replace("{userName}", this.request.getUserName() == null|| this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{securityPolicyId}", this.request.getSecurityPolicyId() == null|| this.request.getSecurityPolicyId().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* 割り当てられたセキュリティポリシーをユーザーから外します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void detachSecurityPolicyAsync(
DetachSecurityPolicyRequest request,
AsyncAction> callback
) {
DetachSecurityPolicyTask task = new DetachSecurityPolicyTask(request, callback, DetachSecurityPolicyResult.class);
session.execute(task);
}
/**
* 割り当てられたセキュリティポリシーをユーザーから外します
*
* @param request リクエストパラメータ
*/
public DetachSecurityPolicyResult detachSecurityPolicy(
DetachSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
detachSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class LoginTask extends Gs2RestSessionTask {
private LoginRequest request;
public LoginTask(
LoginRequest request,
AsyncAction> userCallback,
Class clazz
) {
super(
(Gs2RestSession) session,
userCallback,
clazz
);
this.request = request;
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/projectToken/login";
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
if (this.request.getClientId() != null) {
json.put("clientId", this.request.getClientId());
}
if (this.request.getClientSecret() != null) {
json.put("clientSecret", this.request.getClientSecret());
}
if (this.request.getContextStack() != null) {
json.put("contextStack", this.request.getContextStack());
}
builder.setBody(json.toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
/**
* プロジェクトトークン を取得します
*
* @param callback コールバック
* @param request リクエストパラメータ
*/
public void loginAsync(
LoginRequest request,
AsyncAction> callback
) {
LoginTask task = new LoginTask(request, callback, LoginResult.class);
session.execute(task);
}
/**
* プロジェクトトークン を取得します
*
* @param request リクエストパラメータ
*/
public LoginResult login(
LoginRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
loginAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy