
io.gs2.account.Gs2AccountRestClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gs2-java-sdk Show documentation
Show all versions of gs2-java-sdk Show documentation
Game Server Services 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.account;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import io.gs2.core.model.AsyncAction;
import io.gs2.core.model.AsyncResult;
import io.gs2.core.exception.*;
import io.gs2.core.net.*;
import io.gs2.core.util.EncodingUtil;
import io.gs2.core.AbstractGs2Client;
import io.gs2.account.request.*;
import io.gs2.account.result.*;
import io.gs2.account.model.*;public class Gs2AccountRestClient extends AbstractGs2Client {
public Gs2AccountRestClient(Gs2RestSession gs2RestSession) {
super(gs2RestSession);
}
class DescribeNamespacesTask extends Gs2RestSessionTask {
private DescribeNamespacesRequest request;
public DescribeNamespacesTask(
DescribeNamespacesRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeNamespacesResult parse(JsonNode data) {
return DescribeNamespacesResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/";
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();
}
}
public void describeNamespacesAsync(
DescribeNamespacesRequest request,
AsyncAction> callback
) {
DescribeNamespacesTask task = new DescribeNamespacesTask(request, callback);
session.execute(task);
}
public DescribeNamespacesResult describeNamespaces(
DescribeNamespacesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeNamespacesAsync(
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 CreateNamespaceTask extends Gs2RestSessionTask {
private CreateNamespaceRequest request;
public CreateNamespaceTask(
CreateNamespaceRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateNamespaceResult parse(JsonNode data) {
return CreateNamespaceResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("name", request.getName());
put("description", request.getDescription());
put("changePasswordIfTakeOver", request.getChangePasswordIfTakeOver());
put("differentUserIdForLoginAndDataRetention", request.getDifferentUserIdForLoginAndDataRetention());
put("createAccountScript", request.getCreateAccountScript() != null ? request.getCreateAccountScript().toJson() : null);
put("authenticationScript", request.getAuthenticationScript() != null ? request.getAuthenticationScript().toJson() : null);
put("createTakeOverScript", request.getCreateTakeOverScript() != null ? request.getCreateTakeOverScript().toJson() : null);
put("doTakeOverScript", request.getDoTakeOverScript() != null ? request.getDoTakeOverScript().toJson() : null);
put("logSetting", request.getLogSetting() != null ? request.getLogSetting().toJson() : null);
put("contextStack", request.getContextStack());
}}
).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();
}
}
public void createNamespaceAsync(
CreateNamespaceRequest request,
AsyncAction> callback
) {
CreateNamespaceTask task = new CreateNamespaceTask(request, callback);
session.execute(task);
}
public CreateNamespaceResult createNamespace(
CreateNamespaceRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createNamespaceAsync(
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 GetNamespaceStatusTask extends Gs2RestSessionTask {
private GetNamespaceStatusRequest request;
public GetNamespaceStatusTask(
GetNamespaceStatusRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetNamespaceStatusResult parse(JsonNode data) {
return GetNamespaceStatusResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/status";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
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();
}
}
public void getNamespaceStatusAsync(
GetNamespaceStatusRequest request,
AsyncAction> callback
) {
GetNamespaceStatusTask task = new GetNamespaceStatusTask(request, callback);
session.execute(task);
}
public GetNamespaceStatusResult getNamespaceStatus(
GetNamespaceStatusRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getNamespaceStatusAsync(
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 GetNamespaceTask extends Gs2RestSessionTask {
private GetNamespaceRequest request;
public GetNamespaceTask(
GetNamespaceRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetNamespaceResult parse(JsonNode data) {
return GetNamespaceResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
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();
}
}
public void getNamespaceAsync(
GetNamespaceRequest request,
AsyncAction> callback
) {
GetNamespaceTask task = new GetNamespaceTask(request, callback);
session.execute(task);
}
public GetNamespaceResult getNamespace(
GetNamespaceRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getNamespaceAsync(
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 UpdateNamespaceTask extends Gs2RestSessionTask {
private UpdateNamespaceRequest request;
public UpdateNamespaceTask(
UpdateNamespaceRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateNamespaceResult parse(JsonNode data) {
return UpdateNamespaceResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("changePasswordIfTakeOver", request.getChangePasswordIfTakeOver());
put("createAccountScript", request.getCreateAccountScript() != null ? request.getCreateAccountScript().toJson() : null);
put("authenticationScript", request.getAuthenticationScript() != null ? request.getAuthenticationScript().toJson() : null);
put("createTakeOverScript", request.getCreateTakeOverScript() != null ? request.getCreateTakeOverScript().toJson() : null);
put("doTakeOverScript", request.getDoTakeOverScript() != null ? request.getDoTakeOverScript().toJson() : null);
put("logSetting", request.getLogSetting() != null ? request.getLogSetting().toJson() : null);
put("contextStack", request.getContextStack());
}}
).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();
}
}
public void updateNamespaceAsync(
UpdateNamespaceRequest request,
AsyncAction> callback
) {
UpdateNamespaceTask task = new UpdateNamespaceTask(request, callback);
session.execute(task);
}
public UpdateNamespaceResult updateNamespace(
UpdateNamespaceRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateNamespaceAsync(
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 DeleteNamespaceTask extends Gs2RestSessionTask {
private DeleteNamespaceRequest request;
public DeleteNamespaceTask(
DeleteNamespaceRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteNamespaceResult parse(JsonNode data) {
return DeleteNamespaceResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
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();
}
}
public void deleteNamespaceAsync(
DeleteNamespaceRequest request,
AsyncAction> callback
) {
DeleteNamespaceTask task = new DeleteNamespaceTask(request, callback);
session.execute(task);
}
public DeleteNamespaceResult deleteNamespace(
DeleteNamespaceRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteNamespaceAsync(
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 DumpUserDataByUserIdTask extends Gs2RestSessionTask {
private DumpUserDataByUserIdRequest request;
public DumpUserDataByUserIdTask(
DumpUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DumpUserDataByUserIdResult parse(JsonNode data) {
return DumpUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/dump/user/{userId}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void dumpUserDataByUserIdAsync(
DumpUserDataByUserIdRequest request,
AsyncAction> callback
) {
DumpUserDataByUserIdTask task = new DumpUserDataByUserIdTask(request, callback);
session.execute(task);
}
public DumpUserDataByUserIdResult dumpUserDataByUserId(
DumpUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
dumpUserDataByUserIdAsync(
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 CheckDumpUserDataByUserIdTask extends Gs2RestSessionTask {
private CheckDumpUserDataByUserIdRequest request;
public CheckDumpUserDataByUserIdTask(
CheckDumpUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CheckDumpUserDataByUserIdResult parse(JsonNode data) {
return CheckDumpUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/dump/user/{userId}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void checkDumpUserDataByUserIdAsync(
CheckDumpUserDataByUserIdRequest request,
AsyncAction> callback
) {
CheckDumpUserDataByUserIdTask task = new CheckDumpUserDataByUserIdTask(request, callback);
session.execute(task);
}
public CheckDumpUserDataByUserIdResult checkDumpUserDataByUserId(
CheckDumpUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
checkDumpUserDataByUserIdAsync(
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 CleanUserDataByUserIdTask extends Gs2RestSessionTask {
private CleanUserDataByUserIdRequest request;
public CleanUserDataByUserIdTask(
CleanUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CleanUserDataByUserIdResult parse(JsonNode data) {
return CleanUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/clean/user/{userId}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void cleanUserDataByUserIdAsync(
CleanUserDataByUserIdRequest request,
AsyncAction> callback
) {
CleanUserDataByUserIdTask task = new CleanUserDataByUserIdTask(request, callback);
session.execute(task);
}
public CleanUserDataByUserIdResult cleanUserDataByUserId(
CleanUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
cleanUserDataByUserIdAsync(
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 CheckCleanUserDataByUserIdTask extends Gs2RestSessionTask {
private CheckCleanUserDataByUserIdRequest request;
public CheckCleanUserDataByUserIdTask(
CheckCleanUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CheckCleanUserDataByUserIdResult parse(JsonNode data) {
return CheckCleanUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/clean/user/{userId}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void checkCleanUserDataByUserIdAsync(
CheckCleanUserDataByUserIdRequest request,
AsyncAction> callback
) {
CheckCleanUserDataByUserIdTask task = new CheckCleanUserDataByUserIdTask(request, callback);
session.execute(task);
}
public CheckCleanUserDataByUserIdResult checkCleanUserDataByUserId(
CheckCleanUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
checkCleanUserDataByUserIdAsync(
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 PrepareImportUserDataByUserIdTask extends Gs2RestSessionTask {
private PrepareImportUserDataByUserIdRequest request;
public PrepareImportUserDataByUserIdTask(
PrepareImportUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public PrepareImportUserDataByUserIdResult parse(JsonNode data) {
return PrepareImportUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/import/user/{userId}/prepare";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void prepareImportUserDataByUserIdAsync(
PrepareImportUserDataByUserIdRequest request,
AsyncAction> callback
) {
PrepareImportUserDataByUserIdTask task = new PrepareImportUserDataByUserIdTask(request, callback);
session.execute(task);
}
public PrepareImportUserDataByUserIdResult prepareImportUserDataByUserId(
PrepareImportUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
prepareImportUserDataByUserIdAsync(
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 ImportUserDataByUserIdTask extends Gs2RestSessionTask {
private ImportUserDataByUserIdRequest request;
public ImportUserDataByUserIdTask(
ImportUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public ImportUserDataByUserIdResult parse(JsonNode data) {
return ImportUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/import/user/{userId}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("uploadToken", request.getUploadToken());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void importUserDataByUserIdAsync(
ImportUserDataByUserIdRequest request,
AsyncAction> callback
) {
ImportUserDataByUserIdTask task = new ImportUserDataByUserIdTask(request, callback);
session.execute(task);
}
public ImportUserDataByUserIdResult importUserDataByUserId(
ImportUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
importUserDataByUserIdAsync(
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 CheckImportUserDataByUserIdTask extends Gs2RestSessionTask {
private CheckImportUserDataByUserIdRequest request;
public CheckImportUserDataByUserIdTask(
CheckImportUserDataByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CheckImportUserDataByUserIdResult parse(JsonNode data) {
return CheckImportUserDataByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/system/import/user/{userId}/{uploadToken}";
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
url = url.replace("{uploadToken}", this.request.getUploadToken() == null || this.request.getUploadToken().length() == 0 ? "null" : String.valueOf(this.request.getUploadToken()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void checkImportUserDataByUserIdAsync(
CheckImportUserDataByUserIdRequest request,
AsyncAction> callback
) {
CheckImportUserDataByUserIdTask task = new CheckImportUserDataByUserIdTask(request, callback);
session.execute(task);
}
public CheckImportUserDataByUserIdResult checkImportUserDataByUserId(
CheckImportUserDataByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
checkImportUserDataByUserIdAsync(
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 DescribeAccountsTask extends Gs2RestSessionTask {
private DescribeAccountsRequest request;
public DescribeAccountsTask(
DescribeAccountsRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeAccountsResult parse(JsonNode data) {
return DescribeAccountsResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
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();
}
}
public void describeAccountsAsync(
DescribeAccountsRequest request,
AsyncAction> callback
) {
DescribeAccountsTask task = new DescribeAccountsTask(request, callback);
session.execute(task);
}
public DescribeAccountsResult describeAccounts(
DescribeAccountsRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeAccountsAsync(
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 CreateAccountTask extends Gs2RestSessionTask {
private CreateAccountRequest request;
public CreateAccountTask(
CreateAccountRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateAccountResult parse(JsonNode data) {
return CreateAccountResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("contextStack", request.getContextStack());
}}
).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();
}
}
public void createAccountAsync(
CreateAccountRequest request,
AsyncAction> callback
) {
CreateAccountTask task = new CreateAccountTask(request, callback);
session.execute(task);
}
public CreateAccountResult createAccount(
CreateAccountRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createAccountAsync(
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 UpdateTimeOffsetTask extends Gs2RestSessionTask {
private UpdateTimeOffsetRequest request;
public UpdateTimeOffsetTask(
UpdateTimeOffsetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateTimeOffsetResult parse(JsonNode data) {
return UpdateTimeOffsetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/time_offset";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("timeOffset", request.getTimeOffset());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void updateTimeOffsetAsync(
UpdateTimeOffsetRequest request,
AsyncAction> callback
) {
UpdateTimeOffsetTask task = new UpdateTimeOffsetTask(request, callback);
session.execute(task);
}
public UpdateTimeOffsetResult updateTimeOffset(
UpdateTimeOffsetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateTimeOffsetAsync(
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 UpdateBannedTask extends Gs2RestSessionTask {
private UpdateBannedRequest request;
public UpdateBannedTask(
UpdateBannedRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateBannedResult parse(JsonNode data) {
return UpdateBannedResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/banned";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("banned", request.getBanned());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void updateBannedAsync(
UpdateBannedRequest request,
AsyncAction> callback
) {
UpdateBannedTask task = new UpdateBannedTask(request, callback);
session.execute(task);
}
public UpdateBannedResult updateBanned(
UpdateBannedRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateBannedAsync(
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 AddBanTask extends Gs2RestSessionTask {
private AddBanRequest request;
public AddBanTask(
AddBanRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AddBanResult parse(JsonNode data) {
return AddBanResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/ban";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("banStatus", request.getBanStatus() != null ? request.getBanStatus().toJson() : null);
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void addBanAsync(
AddBanRequest request,
AsyncAction> callback
) {
AddBanTask task = new AddBanTask(request, callback);
session.execute(task);
}
public AddBanResult addBan(
AddBanRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
addBanAsync(
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 RemoveBanTask extends Gs2RestSessionTask {
private RemoveBanRequest request;
public RemoveBanTask(
RemoveBanRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public RemoveBanResult parse(JsonNode data) {
return RemoveBanResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/ban/{banStatusName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
url = url.replace("{banStatusName}", this.request.getBanStatusName() == null || this.request.getBanStatusName().length() == 0 ? "null" : String.valueOf(this.request.getBanStatusName()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void removeBanAsync(
RemoveBanRequest request,
AsyncAction> callback
) {
RemoveBanTask task = new RemoveBanTask(request, callback);
session.execute(task);
}
public RemoveBanResult removeBan(
RemoveBanRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
removeBanAsync(
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 GetAccountTask extends Gs2RestSessionTask {
private GetAccountRequest request;
public GetAccountTask(
GetAccountRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetAccountResult parse(JsonNode data) {
return GetAccountResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void getAccountAsync(
GetAccountRequest request,
AsyncAction> callback
) {
GetAccountTask task = new GetAccountTask(request, callback);
session.execute(task);
}
public GetAccountResult getAccount(
GetAccountRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getAccountAsync(
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 DeleteAccountTask extends Gs2RestSessionTask {
private DeleteAccountRequest request;
public DeleteAccountTask(
DeleteAccountRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteAccountResult parse(JsonNode data) {
return DeleteAccountResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void deleteAccountAsync(
DeleteAccountRequest request,
AsyncAction> callback
) {
DeleteAccountTask task = new DeleteAccountTask(request, callback);
session.execute(task);
}
public DeleteAccountResult deleteAccount(
DeleteAccountRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteAccountAsync(
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 AuthenticationTask extends Gs2RestSessionTask {
private AuthenticationRequest request;
public AuthenticationTask(
AuthenticationRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AuthenticationResult parse(JsonNode data) {
return AuthenticationResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("keyId", request.getKeyId());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void authenticationAsync(
AuthenticationRequest request,
AsyncAction> callback
) {
AuthenticationTask task = new AuthenticationTask(request, callback);
session.execute(task);
}
public AuthenticationResult authentication(
AuthenticationRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
authenticationAsync(
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 DescribeTakeOversTask extends Gs2RestSessionTask {
private DescribeTakeOversRequest request;
public DescribeTakeOversTask(
DescribeTakeOversRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeTakeOversResult parse(JsonNode data) {
return DescribeTakeOversResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/me/takeover";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
builder
.build()
.send();
}
}
public void describeTakeOversAsync(
DescribeTakeOversRequest request,
AsyncAction> callback
) {
DescribeTakeOversTask task = new DescribeTakeOversTask(request, callback);
session.execute(task);
}
public DescribeTakeOversResult describeTakeOvers(
DescribeTakeOversRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeTakeOversAsync(
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 DescribeTakeOversByUserIdTask extends Gs2RestSessionTask {
private DescribeTakeOversByUserIdRequest request;
public DescribeTakeOversByUserIdTask(
DescribeTakeOversByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeTakeOversByUserIdResult parse(JsonNode data) {
return DescribeTakeOversByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/takeover";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void describeTakeOversByUserIdAsync(
DescribeTakeOversByUserIdRequest request,
AsyncAction> callback
) {
DescribeTakeOversByUserIdTask task = new DescribeTakeOversByUserIdTask(request, callback);
session.execute(task);
}
public DescribeTakeOversByUserIdResult describeTakeOversByUserId(
DescribeTakeOversByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeTakeOversByUserIdAsync(
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 CreateTakeOverTask extends Gs2RestSessionTask {
private CreateTakeOverRequest request;
public CreateTakeOverTask(
CreateTakeOverRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateTakeOverResult parse(JsonNode data) {
return CreateTakeOverResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/me/takeover";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("type", request.getType());
put("userIdentifier", request.getUserIdentifier());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
builder
.build()
.send();
}
}
public void createTakeOverAsync(
CreateTakeOverRequest request,
AsyncAction> callback
) {
CreateTakeOverTask task = new CreateTakeOverTask(request, callback);
session.execute(task);
}
public CreateTakeOverResult createTakeOver(
CreateTakeOverRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createTakeOverAsync(
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 CreateTakeOverByUserIdTask extends Gs2RestSessionTask {
private CreateTakeOverByUserIdRequest request;
public CreateTakeOverByUserIdTask(
CreateTakeOverByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateTakeOverByUserIdResult parse(JsonNode data) {
return CreateTakeOverByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/takeover";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("type", request.getType());
put("userIdentifier", request.getUserIdentifier());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void createTakeOverByUserIdAsync(
CreateTakeOverByUserIdRequest request,
AsyncAction> callback
) {
CreateTakeOverByUserIdTask task = new CreateTakeOverByUserIdTask(request, callback);
session.execute(task);
}
public CreateTakeOverByUserIdResult createTakeOverByUserId(
CreateTakeOverByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createTakeOverByUserIdAsync(
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 GetTakeOverTask extends Gs2RestSessionTask {
private GetTakeOverRequest request;
public GetTakeOverTask(
GetTakeOverRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetTakeOverResult parse(JsonNode data) {
return GetTakeOverResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
builder
.build()
.send();
}
}
public void getTakeOverAsync(
GetTakeOverRequest request,
AsyncAction> callback
) {
GetTakeOverTask task = new GetTakeOverTask(request, callback);
session.execute(task);
}
public GetTakeOverResult getTakeOver(
GetTakeOverRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getTakeOverAsync(
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 GetTakeOverByUserIdTask extends Gs2RestSessionTask {
private GetTakeOverByUserIdRequest request;
public GetTakeOverByUserIdTask(
GetTakeOverByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetTakeOverByUserIdResult parse(JsonNode data) {
return GetTakeOverByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
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());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void getTakeOverByUserIdAsync(
GetTakeOverByUserIdRequest request,
AsyncAction> callback
) {
GetTakeOverByUserIdTask task = new GetTakeOverByUserIdTask(request, callback);
session.execute(task);
}
public GetTakeOverByUserIdResult getTakeOverByUserId(
GetTakeOverByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getTakeOverByUserIdAsync(
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 UpdateTakeOverTask extends Gs2RestSessionTask {
private UpdateTakeOverRequest request;
public UpdateTakeOverTask(
UpdateTakeOverRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateTakeOverResult parse(JsonNode data) {
return UpdateTakeOverResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("oldPassword", request.getOldPassword());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
builder
.build()
.send();
}
}
public void updateTakeOverAsync(
UpdateTakeOverRequest request,
AsyncAction> callback
) {
UpdateTakeOverTask task = new UpdateTakeOverTask(request, callback);
session.execute(task);
}
public UpdateTakeOverResult updateTakeOver(
UpdateTakeOverRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateTakeOverAsync(
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 UpdateTakeOverByUserIdTask extends Gs2RestSessionTask {
private UpdateTakeOverByUserIdRequest request;
public UpdateTakeOverByUserIdTask(
UpdateTakeOverByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateTakeOverByUserIdResult parse(JsonNode data) {
return UpdateTakeOverByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("oldPassword", request.getOldPassword());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void updateTakeOverByUserIdAsync(
UpdateTakeOverByUserIdRequest request,
AsyncAction> callback
) {
UpdateTakeOverByUserIdTask task = new UpdateTakeOverByUserIdTask(request, callback);
session.execute(task);
}
public UpdateTakeOverByUserIdResult updateTakeOverByUserId(
UpdateTakeOverByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateTakeOverByUserIdAsync(
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 DeleteTakeOverTask extends Gs2RestSessionTask {
private DeleteTakeOverRequest request;
public DeleteTakeOverTask(
DeleteTakeOverRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteTakeOverResult parse(JsonNode data) {
return DeleteTakeOverResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getUserIdentifier() != null) {
queryStrings.add("userIdentifier=" + EncodingUtil.urlEncode((String.valueOf(this.request.getUserIdentifier()))));
}
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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
builder
.build()
.send();
}
}
public void deleteTakeOverAsync(
DeleteTakeOverRequest request,
AsyncAction> callback
) {
DeleteTakeOverTask task = new DeleteTakeOverTask(request, callback);
session.execute(task);
}
public DeleteTakeOverResult deleteTakeOver(
DeleteTakeOverRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteTakeOverAsync(
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 DeleteTakeOverByUserIdentifierTask extends Gs2RestSessionTask {
private DeleteTakeOverByUserIdentifierRequest request;
public DeleteTakeOverByUserIdentifierTask(
DeleteTakeOverByUserIdentifierRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteTakeOverByUserIdentifierResult parse(JsonNode data) {
return DeleteTakeOverByUserIdentifierResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/takeover/type/{type}/userIdentifier/{userIdentifier}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
url = url.replace("{userIdentifier}", this.request.getUserIdentifier() == null || this.request.getUserIdentifier().length() == 0 ? "null" : String.valueOf(this.request.getUserIdentifier()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
builder
.build()
.send();
}
}
public void deleteTakeOverByUserIdentifierAsync(
DeleteTakeOverByUserIdentifierRequest request,
AsyncAction> callback
) {
DeleteTakeOverByUserIdentifierTask task = new DeleteTakeOverByUserIdentifierTask(request, callback);
session.execute(task);
}
public DeleteTakeOverByUserIdentifierResult deleteTakeOverByUserIdentifier(
DeleteTakeOverByUserIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteTakeOverByUserIdentifierAsync(
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 DeleteTakeOverByUserIdTask extends Gs2RestSessionTask {
private DeleteTakeOverByUserIdRequest request;
public DeleteTakeOverByUserIdTask(
DeleteTakeOverByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteTakeOverByUserIdResult parse(JsonNode data) {
return DeleteTakeOverByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}/takeover";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void deleteTakeOverByUserIdAsync(
DeleteTakeOverByUserIdRequest request,
AsyncAction> callback
) {
DeleteTakeOverByUserIdTask task = new DeleteTakeOverByUserIdTask(request, callback);
session.execute(task);
}
public DeleteTakeOverByUserIdResult deleteTakeOverByUserId(
DeleteTakeOverByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteTakeOverByUserIdAsync(
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 DoTakeOverTask extends Gs2RestSessionTask {
private DoTakeOverRequest request;
public DoTakeOverTask(
DoTakeOverRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DoTakeOverResult parse(JsonNode data) {
return DoTakeOverResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/takeover/type/{type}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{type}", this.request.getType() == null ? "null" : String.valueOf(this.request.getType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("userIdentifier", request.getUserIdentifier());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).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();
}
}
public void doTakeOverAsync(
DoTakeOverRequest request,
AsyncAction> callback
) {
DoTakeOverTask task = new DoTakeOverTask(request, callback);
session.execute(task);
}
public DoTakeOverResult doTakeOver(
DoTakeOverRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
doTakeOverAsync(
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 GetDataOwnerByUserIdTask extends Gs2RestSessionTask {
private GetDataOwnerByUserIdRequest request;
public GetDataOwnerByUserIdTask(
GetDataOwnerByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetDataOwnerByUserIdResult parse(JsonNode data) {
return GetDataOwnerByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/dataOwner";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void getDataOwnerByUserIdAsync(
GetDataOwnerByUserIdRequest request,
AsyncAction> callback
) {
GetDataOwnerByUserIdTask task = new GetDataOwnerByUserIdTask(request, callback);
session.execute(task);
}
public GetDataOwnerByUserIdResult getDataOwnerByUserId(
GetDataOwnerByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getDataOwnerByUserIdAsync(
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 DeleteDataOwnerByUserIdTask extends Gs2RestSessionTask {
private DeleteDataOwnerByUserIdRequest request;
public DeleteDataOwnerByUserIdTask(
DeleteDataOwnerByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteDataOwnerByUserIdResult parse(JsonNode data) {
return DeleteDataOwnerByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "account")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/account/{userId}/dataOwner";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
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());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void deleteDataOwnerByUserIdAsync(
DeleteDataOwnerByUserIdRequest request,
AsyncAction> callback
) {
DeleteDataOwnerByUserIdTask task = new DeleteDataOwnerByUserIdTask(request, callback);
session.execute(task);
}
public DeleteDataOwnerByUserIdResult deleteDataOwnerByUserId(
DeleteDataOwnerByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteDataOwnerByUserIdAsync(
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