
io.gs2.experience.Gs2ExperienceRestClient 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.experience;
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.experience.request.*;
import io.gs2.experience.result.*;
import io.gs2.experience.model.*;public class Gs2ExperienceRestClient extends AbstractGs2Client {
public Gs2ExperienceRestClient(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}", "experience")
.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}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("name", request.getName());
put("description", request.getDescription());
put("transactionSetting", request.getTransactionSetting() != null ? request.getTransactionSetting().toJson() : null);
put("rankCapScriptId", request.getRankCapScriptId());
put("changeExperienceScript", request.getChangeExperienceScript() != null ? request.getChangeExperienceScript().toJson() : null);
put("changeRankScript", request.getChangeRankScript() != null ? request.getChangeRankScript().toJson() : null);
put("changeRankCapScript", request.getChangeRankCapScript() != null ? request.getChangeRankCapScript().toJson() : null);
put("overflowExperienceScript", request.getOverflowExperienceScript());
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}", "experience")
.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}", "experience")
.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}", "experience")
.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("transactionSetting", request.getTransactionSetting() != null ? request.getTransactionSetting().toJson() : null);
put("rankCapScriptId", request.getRankCapScriptId());
put("changeExperienceScript", request.getChangeExperienceScript() != null ? request.getChangeExperienceScript().toJson() : null);
put("changeRankScript", request.getChangeRankScript() != null ? request.getChangeRankScript().toJson() : null);
put("changeRankCapScript", request.getChangeRankCapScript() != null ? request.getChangeRankCapScript().toJson() : null);
put("overflowExperienceScript", request.getOverflowExperienceScript());
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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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}", "experience")
.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 DescribeExperienceModelMastersTask extends Gs2RestSessionTask {
private DescribeExperienceModelMastersRequest request;
public DescribeExperienceModelMastersTask(
DescribeExperienceModelMastersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeExperienceModelMastersResult parse(JsonNode data) {
return DescribeExperienceModelMastersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model";
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 describeExperienceModelMastersAsync(
DescribeExperienceModelMastersRequest request,
AsyncAction> callback
) {
DescribeExperienceModelMastersTask task = new DescribeExperienceModelMastersTask(request, callback);
session.execute(task);
}
public DescribeExperienceModelMastersResult describeExperienceModelMasters(
DescribeExperienceModelMastersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeExperienceModelMastersAsync(
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 CreateExperienceModelMasterTask extends Gs2RestSessionTask {
private CreateExperienceModelMasterRequest request;
public CreateExperienceModelMasterTask(
CreateExperienceModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateExperienceModelMasterResult parse(JsonNode data) {
return CreateExperienceModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model";
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("name", request.getName());
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("defaultExperience", request.getDefaultExperience());
put("defaultRankCap", request.getDefaultRankCap());
put("maxRankCap", request.getMaxRankCap());
put("rankThresholdName", request.getRankThresholdName());
put("acquireActionRates", request.getAcquireActionRates() == null ? new ArrayList() :
request.getAcquireActionRates().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
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 createExperienceModelMasterAsync(
CreateExperienceModelMasterRequest request,
AsyncAction> callback
) {
CreateExperienceModelMasterTask task = new CreateExperienceModelMasterTask(request, callback);
session.execute(task);
}
public CreateExperienceModelMasterResult createExperienceModelMaster(
CreateExperienceModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createExperienceModelMasterAsync(
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 GetExperienceModelMasterTask extends Gs2RestSessionTask {
private GetExperienceModelMasterRequest request;
public GetExperienceModelMasterTask(
GetExperienceModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetExperienceModelMasterResult parse(JsonNode data) {
return GetExperienceModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
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 getExperienceModelMasterAsync(
GetExperienceModelMasterRequest request,
AsyncAction> callback
) {
GetExperienceModelMasterTask task = new GetExperienceModelMasterTask(request, callback);
session.execute(task);
}
public GetExperienceModelMasterResult getExperienceModelMaster(
GetExperienceModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getExperienceModelMasterAsync(
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 UpdateExperienceModelMasterTask extends Gs2RestSessionTask {
private UpdateExperienceModelMasterRequest request;
public UpdateExperienceModelMasterTask(
UpdateExperienceModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateExperienceModelMasterResult parse(JsonNode data) {
return UpdateExperienceModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("defaultExperience", request.getDefaultExperience());
put("defaultRankCap", request.getDefaultRankCap());
put("maxRankCap", request.getMaxRankCap());
put("rankThresholdName", request.getRankThresholdName());
put("acquireActionRates", request.getAcquireActionRates() == null ? new ArrayList() :
request.getAcquireActionRates().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
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 updateExperienceModelMasterAsync(
UpdateExperienceModelMasterRequest request,
AsyncAction> callback
) {
UpdateExperienceModelMasterTask task = new UpdateExperienceModelMasterTask(request, callback);
session.execute(task);
}
public UpdateExperienceModelMasterResult updateExperienceModelMaster(
UpdateExperienceModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateExperienceModelMasterAsync(
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 DeleteExperienceModelMasterTask extends Gs2RestSessionTask {
private DeleteExperienceModelMasterRequest request;
public DeleteExperienceModelMasterTask(
DeleteExperienceModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteExperienceModelMasterResult parse(JsonNode data) {
return DeleteExperienceModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{experienceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
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 deleteExperienceModelMasterAsync(
DeleteExperienceModelMasterRequest request,
AsyncAction> callback
) {
DeleteExperienceModelMasterTask task = new DeleteExperienceModelMasterTask(request, callback);
session.execute(task);
}
public DeleteExperienceModelMasterResult deleteExperienceModelMaster(
DeleteExperienceModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteExperienceModelMasterAsync(
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 DescribeExperienceModelsTask extends Gs2RestSessionTask {
private DescribeExperienceModelsRequest request;
public DescribeExperienceModelsTask(
DescribeExperienceModelsRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeExperienceModelsResult parse(JsonNode data) {
return DescribeExperienceModelsResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/model";
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 describeExperienceModelsAsync(
DescribeExperienceModelsRequest request,
AsyncAction> callback
) {
DescribeExperienceModelsTask task = new DescribeExperienceModelsTask(request, callback);
session.execute(task);
}
public DescribeExperienceModelsResult describeExperienceModels(
DescribeExperienceModelsRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeExperienceModelsAsync(
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 GetExperienceModelTask extends Gs2RestSessionTask {
private GetExperienceModelRequest request;
public GetExperienceModelTask(
GetExperienceModelRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetExperienceModelResult parse(JsonNode data) {
return GetExperienceModelResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/model/{experienceName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
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 getExperienceModelAsync(
GetExperienceModelRequest request,
AsyncAction> callback
) {
GetExperienceModelTask task = new GetExperienceModelTask(request, callback);
session.execute(task);
}
public GetExperienceModelResult getExperienceModel(
GetExperienceModelRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getExperienceModelAsync(
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 DescribeThresholdMastersTask extends Gs2RestSessionTask {
private DescribeThresholdMastersRequest request;
public DescribeThresholdMastersTask(
DescribeThresholdMastersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeThresholdMastersResult parse(JsonNode data) {
return DescribeThresholdMastersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/threshold";
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 describeThresholdMastersAsync(
DescribeThresholdMastersRequest request,
AsyncAction> callback
) {
DescribeThresholdMastersTask task = new DescribeThresholdMastersTask(request, callback);
session.execute(task);
}
public DescribeThresholdMastersResult describeThresholdMasters(
DescribeThresholdMastersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeThresholdMastersAsync(
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 CreateThresholdMasterTask extends Gs2RestSessionTask {
private CreateThresholdMasterRequest request;
public CreateThresholdMasterTask(
CreateThresholdMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateThresholdMasterResult parse(JsonNode data) {
return CreateThresholdMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/threshold";
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("name", request.getName());
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("values", request.getValues() == null ? new ArrayList() :
request.getValues().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
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 createThresholdMasterAsync(
CreateThresholdMasterRequest request,
AsyncAction> callback
) {
CreateThresholdMasterTask task = new CreateThresholdMasterTask(request, callback);
session.execute(task);
}
public CreateThresholdMasterResult createThresholdMaster(
CreateThresholdMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createThresholdMasterAsync(
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 GetThresholdMasterTask extends Gs2RestSessionTask {
private GetThresholdMasterRequest request;
public GetThresholdMasterTask(
GetThresholdMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetThresholdMasterResult parse(JsonNode data) {
return GetThresholdMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{thresholdName}", this.request.getThresholdName() == null || this.request.getThresholdName().length() == 0 ? "null" : String.valueOf(this.request.getThresholdName()));
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 getThresholdMasterAsync(
GetThresholdMasterRequest request,
AsyncAction> callback
) {
GetThresholdMasterTask task = new GetThresholdMasterTask(request, callback);
session.execute(task);
}
public GetThresholdMasterResult getThresholdMaster(
GetThresholdMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getThresholdMasterAsync(
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 UpdateThresholdMasterTask extends Gs2RestSessionTask {
private UpdateThresholdMasterRequest request;
public UpdateThresholdMasterTask(
UpdateThresholdMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateThresholdMasterResult parse(JsonNode data) {
return UpdateThresholdMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{thresholdName}", this.request.getThresholdName() == null || this.request.getThresholdName().length() == 0 ? "null" : String.valueOf(this.request.getThresholdName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("values", request.getValues() == null ? new ArrayList() :
request.getValues().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
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 updateThresholdMasterAsync(
UpdateThresholdMasterRequest request,
AsyncAction> callback
) {
UpdateThresholdMasterTask task = new UpdateThresholdMasterTask(request, callback);
session.execute(task);
}
public UpdateThresholdMasterResult updateThresholdMaster(
UpdateThresholdMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateThresholdMasterAsync(
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 DeleteThresholdMasterTask extends Gs2RestSessionTask {
private DeleteThresholdMasterRequest request;
public DeleteThresholdMasterTask(
DeleteThresholdMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteThresholdMasterResult parse(JsonNode data) {
return DeleteThresholdMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/threshold/{thresholdName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{thresholdName}", this.request.getThresholdName() == null || this.request.getThresholdName().length() == 0 ? "null" : String.valueOf(this.request.getThresholdName()));
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 deleteThresholdMasterAsync(
DeleteThresholdMasterRequest request,
AsyncAction> callback
) {
DeleteThresholdMasterTask task = new DeleteThresholdMasterTask(request, callback);
session.execute(task);
}
public DeleteThresholdMasterResult deleteThresholdMaster(
DeleteThresholdMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteThresholdMasterAsync(
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 ExportMasterTask extends Gs2RestSessionTask {
private ExportMasterRequest request;
public ExportMasterTask(
ExportMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public ExportMasterResult parse(JsonNode data) {
return ExportMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/export";
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 exportMasterAsync(
ExportMasterRequest request,
AsyncAction> callback
) {
ExportMasterTask task = new ExportMasterTask(request, callback);
session.execute(task);
}
public ExportMasterResult exportMaster(
ExportMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
exportMasterAsync(
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 GetCurrentExperienceMasterTask extends Gs2RestSessionTask {
private GetCurrentExperienceMasterRequest request;
public GetCurrentExperienceMasterTask(
GetCurrentExperienceMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetCurrentExperienceMasterResult parse(JsonNode data) {
return GetCurrentExperienceMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master";
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 getCurrentExperienceMasterAsync(
GetCurrentExperienceMasterRequest request,
AsyncAction> callback
) {
GetCurrentExperienceMasterTask task = new GetCurrentExperienceMasterTask(request, callback);
session.execute(task);
}
public GetCurrentExperienceMasterResult getCurrentExperienceMaster(
GetCurrentExperienceMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getCurrentExperienceMasterAsync(
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 UpdateCurrentExperienceMasterTask extends Gs2RestSessionTask {
private UpdateCurrentExperienceMasterRequest request;
public UpdateCurrentExperienceMasterTask(
UpdateCurrentExperienceMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateCurrentExperienceMasterResult parse(JsonNode data) {
return UpdateCurrentExperienceMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master";
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("settings", request.getSettings());
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 updateCurrentExperienceMasterAsync(
UpdateCurrentExperienceMasterRequest request,
AsyncAction> callback
) {
UpdateCurrentExperienceMasterTask task = new UpdateCurrentExperienceMasterTask(request, callback);
session.execute(task);
}
public UpdateCurrentExperienceMasterResult updateCurrentExperienceMaster(
UpdateCurrentExperienceMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateCurrentExperienceMasterAsync(
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 UpdateCurrentExperienceMasterFromGitHubTask extends Gs2RestSessionTask {
private UpdateCurrentExperienceMasterFromGitHubRequest request;
public UpdateCurrentExperienceMasterFromGitHubTask(
UpdateCurrentExperienceMasterFromGitHubRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateCurrentExperienceMasterFromGitHubResult parse(JsonNode data) {
return UpdateCurrentExperienceMasterFromGitHubResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/from_git_hub";
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("checkoutSetting", request.getCheckoutSetting() != null ? request.getCheckoutSetting().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 updateCurrentExperienceMasterFromGitHubAsync(
UpdateCurrentExperienceMasterFromGitHubRequest request,
AsyncAction> callback
) {
UpdateCurrentExperienceMasterFromGitHubTask task = new UpdateCurrentExperienceMasterFromGitHubTask(request, callback);
session.execute(task);
}
public UpdateCurrentExperienceMasterFromGitHubResult updateCurrentExperienceMasterFromGitHub(
UpdateCurrentExperienceMasterFromGitHubRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateCurrentExperienceMasterFromGitHubAsync(
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 DescribeStatusesTask extends Gs2RestSessionTask {
private DescribeStatusesRequest request;
public DescribeStatusesTask(
DescribeStatusesRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeStatusesResult parse(JsonNode data) {
return DescribeStatusesResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/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()));
}
if (this.request.getExperienceName() != null) {
queryStrings.add("experienceName=" + EncodingUtil.urlEncode((String.valueOf(this.request.getExperienceName()))));
}
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 describeStatusesAsync(
DescribeStatusesRequest request,
AsyncAction> callback
) {
DescribeStatusesTask task = new DescribeStatusesTask(request, callback);
session.execute(task);
}
public DescribeStatusesResult describeStatuses(
DescribeStatusesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeStatusesAsync(
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 DescribeStatusesByUserIdTask extends Gs2RestSessionTask {
private DescribeStatusesByUserIdRequest request;
public DescribeStatusesByUserIdTask(
DescribeStatusesByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeStatusesByUserIdResult parse(JsonNode data) {
return DescribeStatusesByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status";
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.getExperienceName() != null) {
queryStrings.add("experienceName=" + EncodingUtil.urlEncode((String.valueOf(this.request.getExperienceName()))));
}
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 describeStatusesByUserIdAsync(
DescribeStatusesByUserIdRequest request,
AsyncAction> callback
) {
DescribeStatusesByUserIdTask task = new DescribeStatusesByUserIdTask(request, callback);
session.execute(task);
}
public DescribeStatusesByUserIdResult describeStatusesByUserId(
DescribeStatusesByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeStatusesByUserIdAsync(
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 GetStatusTask extends Gs2RestSessionTask {
private GetStatusRequest request;
public GetStatusTask(
GetStatusRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetStatusResult parse(JsonNode data) {
return GetStatusResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
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 getStatusAsync(
GetStatusRequest request,
AsyncAction> callback
) {
GetStatusTask task = new GetStatusTask(request, callback);
session.execute(task);
}
public GetStatusResult getStatus(
GetStatusRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getStatusAsync(
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 GetStatusByUserIdTask extends Gs2RestSessionTask {
private GetStatusByUserIdRequest request;
public GetStatusByUserIdTask(
GetStatusByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetStatusByUserIdResult parse(JsonNode data) {
return GetStatusByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
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 getStatusByUserIdAsync(
GetStatusByUserIdRequest request,
AsyncAction> callback
) {
GetStatusByUserIdTask task = new GetStatusByUserIdTask(request, callback);
session.execute(task);
}
public GetStatusByUserIdResult getStatusByUserId(
GetStatusByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getStatusByUserIdAsync(
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 GetStatusWithSignatureTask extends Gs2RestSessionTask {
private GetStatusWithSignatureRequest request;
public GetStatusWithSignatureTask(
GetStatusWithSignatureRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetStatusWithSignatureResult parse(JsonNode data) {
return GetStatusWithSignatureResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/status/model/{experienceName}/property/{propertyId}/signature";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getKeyId() != null) {
queryStrings.add("keyId=" + EncodingUtil.urlEncode((String.valueOf(this.request.getKeyId()))));
}
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 getStatusWithSignatureAsync(
GetStatusWithSignatureRequest request,
AsyncAction> callback
) {
GetStatusWithSignatureTask task = new GetStatusWithSignatureTask(request, callback);
session.execute(task);
}
public GetStatusWithSignatureResult getStatusWithSignature(
GetStatusWithSignatureRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getStatusWithSignatureAsync(
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 GetStatusWithSignatureByUserIdTask extends Gs2RestSessionTask {
private GetStatusWithSignatureByUserIdRequest request;
public GetStatusWithSignatureByUserIdTask(
GetStatusWithSignatureByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetStatusWithSignatureByUserIdResult parse(JsonNode data) {
return GetStatusWithSignatureByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/signature";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getKeyId() != null) {
queryStrings.add("keyId=" + EncodingUtil.urlEncode((String.valueOf(this.request.getKeyId()))));
}
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 getStatusWithSignatureByUserIdAsync(
GetStatusWithSignatureByUserIdRequest request,
AsyncAction> callback
) {
GetStatusWithSignatureByUserIdTask task = new GetStatusWithSignatureByUserIdTask(request, callback);
session.execute(task);
}
public GetStatusWithSignatureByUserIdResult getStatusWithSignatureByUserId(
GetStatusWithSignatureByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getStatusWithSignatureByUserIdAsync(
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 AddExperienceByUserIdTask extends Gs2RestSessionTask {
private AddExperienceByUserIdRequest request;
public AddExperienceByUserIdTask(
AddExperienceByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AddExperienceByUserIdResult parse(JsonNode data) {
return AddExperienceByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("experienceValue", request.getExperienceValue());
put("truncateExperienceWhenRankUp", request.getTruncateExperienceWhenRankUp());
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 addExperienceByUserIdAsync(
AddExperienceByUserIdRequest request,
AsyncAction> callback
) {
AddExperienceByUserIdTask task = new AddExperienceByUserIdTask(request, callback);
session.execute(task);
}
public AddExperienceByUserIdResult addExperienceByUserId(
AddExperienceByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
addExperienceByUserIdAsync(
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 SubExperienceByUserIdTask extends Gs2RestSessionTask {
private SubExperienceByUserIdRequest request;
public SubExperienceByUserIdTask(
SubExperienceByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SubExperienceByUserIdResult parse(JsonNode data) {
return SubExperienceByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/sub";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("experienceValue", request.getExperienceValue());
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 subExperienceByUserIdAsync(
SubExperienceByUserIdRequest request,
AsyncAction> callback
) {
SubExperienceByUserIdTask task = new SubExperienceByUserIdTask(request, callback);
session.execute(task);
}
public SubExperienceByUserIdResult subExperienceByUserId(
SubExperienceByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
subExperienceByUserIdAsync(
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 SetExperienceByUserIdTask extends Gs2RestSessionTask {
private SetExperienceByUserIdRequest request;
public SetExperienceByUserIdTask(
SetExperienceByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SetExperienceByUserIdResult parse(JsonNode data) {
return SetExperienceByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("experienceValue", request.getExperienceValue());
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 setExperienceByUserIdAsync(
SetExperienceByUserIdRequest request,
AsyncAction> callback
) {
SetExperienceByUserIdTask task = new SetExperienceByUserIdTask(request, callback);
session.execute(task);
}
public SetExperienceByUserIdResult setExperienceByUserId(
SetExperienceByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
setExperienceByUserIdAsync(
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 AddRankCapByUserIdTask extends Gs2RestSessionTask {
private AddRankCapByUserIdRequest request;
public AddRankCapByUserIdTask(
AddRankCapByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AddRankCapByUserIdResult parse(JsonNode data) {
return AddRankCapByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("rankCapValue", request.getRankCapValue());
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 addRankCapByUserIdAsync(
AddRankCapByUserIdRequest request,
AsyncAction> callback
) {
AddRankCapByUserIdTask task = new AddRankCapByUserIdTask(request, callback);
session.execute(task);
}
public AddRankCapByUserIdResult addRankCapByUserId(
AddRankCapByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
addRankCapByUserIdAsync(
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 SubRankCapByUserIdTask extends Gs2RestSessionTask {
private SubRankCapByUserIdRequest request;
public SubRankCapByUserIdTask(
SubRankCapByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SubRankCapByUserIdResult parse(JsonNode data) {
return SubRankCapByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap/sub";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("rankCapValue", request.getRankCapValue());
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 subRankCapByUserIdAsync(
SubRankCapByUserIdRequest request,
AsyncAction> callback
) {
SubRankCapByUserIdTask task = new SubRankCapByUserIdTask(request, callback);
session.execute(task);
}
public SubRankCapByUserIdResult subRankCapByUserId(
SubRankCapByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
subRankCapByUserIdAsync(
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 SetRankCapByUserIdTask extends Gs2RestSessionTask {
private SetRankCapByUserIdRequest request;
public SetRankCapByUserIdTask(
SetRankCapByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SetRankCapByUserIdResult parse(JsonNode data) {
return SetRankCapByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}/cap";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("rankCapValue", request.getRankCapValue());
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 setRankCapByUserIdAsync(
SetRankCapByUserIdRequest request,
AsyncAction> callback
) {
SetRankCapByUserIdTask task = new SetRankCapByUserIdTask(request, callback);
session.execute(task);
}
public SetRankCapByUserIdResult setRankCapByUserId(
SetRankCapByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
setRankCapByUserIdAsync(
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 DeleteStatusByUserIdTask extends Gs2RestSessionTask {
private DeleteStatusByUserIdRequest request;
public DeleteStatusByUserIdTask(
DeleteStatusByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteStatusByUserIdResult parse(JsonNode data) {
return DeleteStatusByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/model/{experienceName}/property/{propertyId}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{propertyId}", this.request.getPropertyId() == null || this.request.getPropertyId().length() == 0 ? "null" : String.valueOf(this.request.getPropertyId()));
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 deleteStatusByUserIdAsync(
DeleteStatusByUserIdRequest request,
AsyncAction> callback
) {
DeleteStatusByUserIdTask task = new DeleteStatusByUserIdTask(request, callback);
session.execute(task);
}
public DeleteStatusByUserIdResult deleteStatusByUserId(
DeleteStatusByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteStatusByUserIdAsync(
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 VerifyRankTask extends Gs2RestSessionTask {
private VerifyRankRequest request;
public VerifyRankTask(
VerifyRankRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public VerifyRankResult parse(JsonNode data) {
return VerifyRankResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/status/{experienceName}/verify/rank/{verifyType}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{verifyType}", this.request.getVerifyType() == null || this.request.getVerifyType().length() == 0 ? "null" : String.valueOf(this.request.getVerifyType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("propertyId", request.getPropertyId());
put("rankValue", request.getRankValue());
put("multiplyValueSpecifyingQuantity", request.getMultiplyValueSpecifyingQuantity());
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 verifyRankAsync(
VerifyRankRequest request,
AsyncAction> callback
) {
VerifyRankTask task = new VerifyRankTask(request, callback);
session.execute(task);
}
public VerifyRankResult verifyRank(
VerifyRankRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
verifyRankAsync(
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 VerifyRankByUserIdTask extends Gs2RestSessionTask {
private VerifyRankByUserIdRequest request;
public VerifyRankByUserIdTask(
VerifyRankByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public VerifyRankByUserIdResult parse(JsonNode data) {
return VerifyRankByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/{experienceName}/verify/rank/{verifyType}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{verifyType}", this.request.getVerifyType() == null || this.request.getVerifyType().length() == 0 ? "null" : String.valueOf(this.request.getVerifyType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("propertyId", request.getPropertyId());
put("rankValue", request.getRankValue());
put("multiplyValueSpecifyingQuantity", request.getMultiplyValueSpecifyingQuantity());
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 verifyRankByUserIdAsync(
VerifyRankByUserIdRequest request,
AsyncAction> callback
) {
VerifyRankByUserIdTask task = new VerifyRankByUserIdTask(request, callback);
session.execute(task);
}
public VerifyRankByUserIdResult verifyRankByUserId(
VerifyRankByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
verifyRankByUserIdAsync(
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 VerifyRankCapTask extends Gs2RestSessionTask {
private VerifyRankCapRequest request;
public VerifyRankCapTask(
VerifyRankCapRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public VerifyRankCapResult parse(JsonNode data) {
return VerifyRankCapResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/status/{experienceName}/verify/rankCap/{verifyType}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{verifyType}", this.request.getVerifyType() == null || this.request.getVerifyType().length() == 0 ? "null" : String.valueOf(this.request.getVerifyType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("propertyId", request.getPropertyId());
put("rankCapValue", request.getRankCapValue());
put("multiplyValueSpecifyingQuantity", request.getMultiplyValueSpecifyingQuantity());
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 verifyRankCapAsync(
VerifyRankCapRequest request,
AsyncAction> callback
) {
VerifyRankCapTask task = new VerifyRankCapTask(request, callback);
session.execute(task);
}
public VerifyRankCapResult verifyRankCap(
VerifyRankCapRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
verifyRankCapAsync(
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 VerifyRankCapByUserIdTask extends Gs2RestSessionTask {
private VerifyRankCapByUserIdRequest request;
public VerifyRankCapByUserIdTask(
VerifyRankCapByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public VerifyRankCapByUserIdResult parse(JsonNode data) {
return VerifyRankCapByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/status/{experienceName}/verify/rankCap/{verifyType}";
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("{experienceName}", this.request.getExperienceName() == null || this.request.getExperienceName().length() == 0 ? "null" : String.valueOf(this.request.getExperienceName()));
url = url.replace("{verifyType}", this.request.getVerifyType() == null || this.request.getVerifyType().length() == 0 ? "null" : String.valueOf(this.request.getVerifyType()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("propertyId", request.getPropertyId());
put("rankCapValue", request.getRankCapValue());
put("multiplyValueSpecifyingQuantity", request.getMultiplyValueSpecifyingQuantity());
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 verifyRankCapByUserIdAsync(
VerifyRankCapByUserIdRequest request,
AsyncAction> callback
) {
VerifyRankCapByUserIdTask task = new VerifyRankCapByUserIdTask(request, callback);
session.execute(task);
}
public VerifyRankCapByUserIdResult verifyRankCapByUserId(
VerifyRankCapByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
verifyRankCapByUserIdAsync(
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 AddExperienceByStampSheetTask extends Gs2RestSessionTask {
private AddExperienceByStampSheetRequest request;
public AddExperienceByStampSheetTask(
AddExperienceByStampSheetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AddExperienceByStampSheetResult parse(JsonNode data) {
return AddExperienceByStampSheetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/stamp/experience/add";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("stampSheet", request.getStampSheet());
put("keyId", request.getKeyId());
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 addExperienceByStampSheetAsync(
AddExperienceByStampSheetRequest request,
AsyncAction> callback
) {
AddExperienceByStampSheetTask task = new AddExperienceByStampSheetTask(request, callback);
session.execute(task);
}
public AddExperienceByStampSheetResult addExperienceByStampSheet(
AddExperienceByStampSheetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
addExperienceByStampSheetAsync(
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 SetExperienceByStampSheetTask extends Gs2RestSessionTask {
private SetExperienceByStampSheetRequest request;
public SetExperienceByStampSheetTask(
SetExperienceByStampSheetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SetExperienceByStampSheetResult parse(JsonNode data) {
return SetExperienceByStampSheetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/stamp/experience/set";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("stampSheet", request.getStampSheet());
put("keyId", request.getKeyId());
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 setExperienceByStampSheetAsync(
SetExperienceByStampSheetRequest request,
AsyncAction> callback
) {
SetExperienceByStampSheetTask task = new SetExperienceByStampSheetTask(request, callback);
session.execute(task);
}
public SetExperienceByStampSheetResult setExperienceByStampSheet(
SetExperienceByStampSheetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
setExperienceByStampSheetAsync(
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 SubExperienceByStampTaskTask extends Gs2RestSessionTask {
private SubExperienceByStampTaskRequest request;
public SubExperienceByStampTaskTask(
SubExperienceByStampTaskRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public SubExperienceByStampTaskResult parse(JsonNode data) {
return SubExperienceByStampTaskResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "experience")
.replace("{region}", session.getRegion().getName())
+ "/stamp/experience/sub";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("stampTask", request.getStampTask());
put("keyId", request.getKeyId());
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 subExperienceByStampTaskAsync(
SubExperienceByStampTaskRequest request,
AsyncAction> callback
) {
SubExperienceByStampTaskTask task = new SubExperienceByStampTaskTask(request, callback);
session.execute(task);
}
public SubExperienceByStampTaskResult subExperienceByStampTask(
SubExperienceByStampTaskRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
subExperienceByStampTaskAsync(
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 AddRankCapByStampSheetTask extends Gs2RestSessionTask