
io.gs2.enhance.Gs2EnhanceRestClient 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.enhance;
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.enhance.request.*;
import io.gs2.enhance.result.*;
import io.gs2.enhance.model.*;public class Gs2EnhanceRestClient extends AbstractGs2Client {
public Gs2EnhanceRestClient(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}", "enhance")
.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}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("name", request.getName());
put("description", request.getDescription());
put("enableDirectEnhance", request.getEnableDirectEnhance());
put("transactionSetting", request.getTransactionSetting() != null ? request.getTransactionSetting().toJson() : null);
put("enhanceScript", request.getEnhanceScript() != null ? request.getEnhanceScript().toJson() : null);
put("logSetting", request.getLogSetting() != null ? request.getLogSetting().toJson() : null);
put("queueNamespaceId", request.getQueueNamespaceId());
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 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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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("enableDirectEnhance", request.getEnableDirectEnhance());
put("transactionSetting", request.getTransactionSetting() != null ? request.getTransactionSetting().toJson() : null);
put("enhanceScript", request.getEnhanceScript() != null ? request.getEnhanceScript().toJson() : null);
put("logSetting", request.getLogSetting() != null ? request.getLogSetting().toJson() : null);
put("queueNamespaceId", request.getQueueNamespaceId());
put("keyId", request.getKeyId());
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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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}", "enhance")
.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 DescribeRateModelsTask extends Gs2RestSessionTask {
private DescribeRateModelsRequest request;
public DescribeRateModelsTask(
DescribeRateModelsRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeRateModelsResult parse(JsonNode data) {
return DescribeRateModelsResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.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 describeRateModelsAsync(
DescribeRateModelsRequest request,
AsyncAction> callback
) {
DescribeRateModelsTask task = new DescribeRateModelsTask(request, callback);
session.execute(task);
}
public DescribeRateModelsResult describeRateModels(
DescribeRateModelsRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeRateModelsAsync(
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 GetRateModelTask extends Gs2RestSessionTask {
private GetRateModelRequest request;
public GetRateModelTask(
GetRateModelRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetRateModelResult parse(JsonNode data) {
return GetRateModelResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 getRateModelAsync(
GetRateModelRequest request,
AsyncAction> callback
) {
GetRateModelTask task = new GetRateModelTask(request, callback);
session.execute(task);
}
public GetRateModelResult getRateModel(
GetRateModelRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getRateModelAsync(
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 DescribeRateModelMastersTask extends Gs2RestSessionTask {
private DescribeRateModelMastersRequest request;
public DescribeRateModelMastersTask(
DescribeRateModelMastersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeRateModelMastersResult parse(JsonNode data) {
return DescribeRateModelMastersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.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 describeRateModelMastersAsync(
DescribeRateModelMastersRequest request,
AsyncAction> callback
) {
DescribeRateModelMastersTask task = new DescribeRateModelMastersTask(request, callback);
session.execute(task);
}
public DescribeRateModelMastersResult describeRateModelMasters(
DescribeRateModelMastersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeRateModelMastersAsync(
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 CreateRateModelMasterTask extends Gs2RestSessionTask {
private CreateRateModelMasterRequest request;
public CreateRateModelMasterTask(
CreateRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateRateModelMasterResult parse(JsonNode data) {
return CreateRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.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("targetInventoryModelId", request.getTargetInventoryModelId());
put("acquireExperienceSuffix", request.getAcquireExperienceSuffix());
put("materialInventoryModelId", request.getMaterialInventoryModelId());
put("acquireExperienceHierarchy", request.getAcquireExperienceHierarchy() == null ? new ArrayList() :
request.getAcquireExperienceHierarchy().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
put("experienceModelId", request.getExperienceModelId());
put("bonusRates", request.getBonusRates() == null ? new ArrayList() :
request.getBonusRates().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 createRateModelMasterAsync(
CreateRateModelMasterRequest request,
AsyncAction> callback
) {
CreateRateModelMasterTask task = new CreateRateModelMasterTask(request, callback);
session.execute(task);
}
public CreateRateModelMasterResult createRateModelMaster(
CreateRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createRateModelMasterAsync(
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 GetRateModelMasterTask extends Gs2RestSessionTask {
private GetRateModelMasterRequest request;
public GetRateModelMasterTask(
GetRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetRateModelMasterResult parse(JsonNode data) {
return GetRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 getRateModelMasterAsync(
GetRateModelMasterRequest request,
AsyncAction> callback
) {
GetRateModelMasterTask task = new GetRateModelMasterTask(request, callback);
session.execute(task);
}
public GetRateModelMasterResult getRateModelMaster(
GetRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getRateModelMasterAsync(
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 UpdateRateModelMasterTask extends Gs2RestSessionTask {
private UpdateRateModelMasterRequest request;
public UpdateRateModelMasterTask(
UpdateRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateRateModelMasterResult parse(JsonNode data) {
return UpdateRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("targetInventoryModelId", request.getTargetInventoryModelId());
put("acquireExperienceSuffix", request.getAcquireExperienceSuffix());
put("materialInventoryModelId", request.getMaterialInventoryModelId());
put("acquireExperienceHierarchy", request.getAcquireExperienceHierarchy() == null ? new ArrayList() :
request.getAcquireExperienceHierarchy().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
put("experienceModelId", request.getExperienceModelId());
put("bonusRates", request.getBonusRates() == null ? new ArrayList() :
request.getBonusRates().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 updateRateModelMasterAsync(
UpdateRateModelMasterRequest request,
AsyncAction> callback
) {
UpdateRateModelMasterTask task = new UpdateRateModelMasterTask(request, callback);
session.execute(task);
}
public UpdateRateModelMasterResult updateRateModelMaster(
UpdateRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateRateModelMasterAsync(
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 DeleteRateModelMasterTask extends Gs2RestSessionTask {
private DeleteRateModelMasterRequest request;
public DeleteRateModelMasterTask(
DeleteRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteRateModelMasterResult parse(JsonNode data) {
return DeleteRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 deleteRateModelMasterAsync(
DeleteRateModelMasterRequest request,
AsyncAction> callback
) {
DeleteRateModelMasterTask task = new DeleteRateModelMasterTask(request, callback);
session.execute(task);
}
public DeleteRateModelMasterResult deleteRateModelMaster(
DeleteRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteRateModelMasterAsync(
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 DescribeUnleashRateModelsTask extends Gs2RestSessionTask {
private DescribeUnleashRateModelsRequest request;
public DescribeUnleashRateModelsTask(
DescribeUnleashRateModelsRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeUnleashRateModelsResult parse(JsonNode data) {
return DescribeUnleashRateModelsResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/unleash/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 describeUnleashRateModelsAsync(
DescribeUnleashRateModelsRequest request,
AsyncAction> callback
) {
DescribeUnleashRateModelsTask task = new DescribeUnleashRateModelsTask(request, callback);
session.execute(task);
}
public DescribeUnleashRateModelsResult describeUnleashRateModels(
DescribeUnleashRateModelsRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeUnleashRateModelsAsync(
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 GetUnleashRateModelTask extends Gs2RestSessionTask {
private GetUnleashRateModelRequest request;
public GetUnleashRateModelTask(
GetUnleashRateModelRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetUnleashRateModelResult parse(JsonNode data) {
return GetUnleashRateModelResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/unleash/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 getUnleashRateModelAsync(
GetUnleashRateModelRequest request,
AsyncAction> callback
) {
GetUnleashRateModelTask task = new GetUnleashRateModelTask(request, callback);
session.execute(task);
}
public GetUnleashRateModelResult getUnleashRateModel(
GetUnleashRateModelRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getUnleashRateModelAsync(
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 DescribeUnleashRateModelMastersTask extends Gs2RestSessionTask {
private DescribeUnleashRateModelMastersRequest request;
public DescribeUnleashRateModelMastersTask(
DescribeUnleashRateModelMastersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeUnleashRateModelMastersResult parse(JsonNode data) {
return DescribeUnleashRateModelMastersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/unleash/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 describeUnleashRateModelMastersAsync(
DescribeUnleashRateModelMastersRequest request,
AsyncAction> callback
) {
DescribeUnleashRateModelMastersTask task = new DescribeUnleashRateModelMastersTask(request, callback);
session.execute(task);
}
public DescribeUnleashRateModelMastersResult describeUnleashRateModelMasters(
DescribeUnleashRateModelMastersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeUnleashRateModelMastersAsync(
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 CreateUnleashRateModelMasterTask extends Gs2RestSessionTask {
private CreateUnleashRateModelMasterRequest request;
public CreateUnleashRateModelMasterTask(
CreateUnleashRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateUnleashRateModelMasterResult parse(JsonNode data) {
return CreateUnleashRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/unleash/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("targetInventoryModelId", request.getTargetInventoryModelId());
put("gradeModelId", request.getGradeModelId());
put("gradeEntries", request.getGradeEntries() == null ? new ArrayList() :
request.getGradeEntries().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 createUnleashRateModelMasterAsync(
CreateUnleashRateModelMasterRequest request,
AsyncAction> callback
) {
CreateUnleashRateModelMasterTask task = new CreateUnleashRateModelMasterTask(request, callback);
session.execute(task);
}
public CreateUnleashRateModelMasterResult createUnleashRateModelMaster(
CreateUnleashRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createUnleashRateModelMasterAsync(
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 GetUnleashRateModelMasterTask extends Gs2RestSessionTask {
private GetUnleashRateModelMasterRequest request;
public GetUnleashRateModelMasterTask(
GetUnleashRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetUnleashRateModelMasterResult parse(JsonNode data) {
return GetUnleashRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/unleash/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 getUnleashRateModelMasterAsync(
GetUnleashRateModelMasterRequest request,
AsyncAction> callback
) {
GetUnleashRateModelMasterTask task = new GetUnleashRateModelMasterTask(request, callback);
session.execute(task);
}
public GetUnleashRateModelMasterResult getUnleashRateModelMaster(
GetUnleashRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getUnleashRateModelMasterAsync(
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 UpdateUnleashRateModelMasterTask extends Gs2RestSessionTask {
private UpdateUnleashRateModelMasterRequest request;
public UpdateUnleashRateModelMasterTask(
UpdateUnleashRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateUnleashRateModelMasterResult parse(JsonNode data) {
return UpdateUnleashRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/unleash/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("metadata", request.getMetadata());
put("targetInventoryModelId", request.getTargetInventoryModelId());
put("gradeModelId", request.getGradeModelId());
put("gradeEntries", request.getGradeEntries() == null ? new ArrayList() :
request.getGradeEntries().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 updateUnleashRateModelMasterAsync(
UpdateUnleashRateModelMasterRequest request,
AsyncAction> callback
) {
UpdateUnleashRateModelMasterTask task = new UpdateUnleashRateModelMasterTask(request, callback);
session.execute(task);
}
public UpdateUnleashRateModelMasterResult updateUnleashRateModelMaster(
UpdateUnleashRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateUnleashRateModelMasterAsync(
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 DeleteUnleashRateModelMasterTask extends Gs2RestSessionTask {
private DeleteUnleashRateModelMasterRequest request;
public DeleteUnleashRateModelMasterTask(
DeleteUnleashRateModelMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteUnleashRateModelMasterResult parse(JsonNode data) {
return DeleteUnleashRateModelMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/master/unleash/model/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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 deleteUnleashRateModelMasterAsync(
DeleteUnleashRateModelMasterRequest request,
AsyncAction> callback
) {
DeleteUnleashRateModelMasterTask task = new DeleteUnleashRateModelMasterTask(request, callback);
session.execute(task);
}
public DeleteUnleashRateModelMasterResult deleteUnleashRateModelMaster(
DeleteUnleashRateModelMasterRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteUnleashRateModelMasterAsync(
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 DirectEnhanceTask extends Gs2RestSessionTask {
private DirectEnhanceRequest request;
public DirectEnhanceTask(
DirectEnhanceRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DirectEnhanceResult parse(JsonNode data) {
return DirectEnhanceResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/enhance/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 directEnhanceAsync(
DirectEnhanceRequest request,
AsyncAction> callback
) {
DirectEnhanceTask task = new DirectEnhanceTask(request, callback);
session.execute(task);
}
public DirectEnhanceResult directEnhance(
DirectEnhanceRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
directEnhanceAsync(
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 DirectEnhanceByUserIdTask extends Gs2RestSessionTask {
private DirectEnhanceByUserIdRequest request;
public DirectEnhanceByUserIdTask(
DirectEnhanceByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DirectEnhanceByUserIdResult parse(JsonNode data) {
return DirectEnhanceByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/enhance/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 directEnhanceByUserIdAsync(
DirectEnhanceByUserIdRequest request,
AsyncAction> callback
) {
DirectEnhanceByUserIdTask task = new DirectEnhanceByUserIdTask(request, callback);
session.execute(task);
}
public DirectEnhanceByUserIdResult directEnhanceByUserId(
DirectEnhanceByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
directEnhanceByUserIdAsync(
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 DirectEnhanceByStampSheetTask extends Gs2RestSessionTask {
private DirectEnhanceByStampSheetRequest request;
public DirectEnhanceByStampSheetTask(
DirectEnhanceByStampSheetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DirectEnhanceByStampSheetResult parse(JsonNode data) {
return DirectEnhanceByStampSheetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/stamp/enhance/direct";
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 directEnhanceByStampSheetAsync(
DirectEnhanceByStampSheetRequest request,
AsyncAction> callback
) {
DirectEnhanceByStampSheetTask task = new DirectEnhanceByStampSheetTask(request, callback);
session.execute(task);
}
public DirectEnhanceByStampSheetResult directEnhanceByStampSheet(
DirectEnhanceByStampSheetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
directEnhanceByStampSheetAsync(
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 UnleashTask extends Gs2RestSessionTask {
private UnleashRequest request;
public UnleashTask(
UnleashRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UnleashResult parse(JsonNode data) {
return UnleashResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/unleash/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 unleashAsync(
UnleashRequest request,
AsyncAction> callback
) {
UnleashTask task = new UnleashTask(request, callback);
session.execute(task);
}
public UnleashResult unleash(
UnleashRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
unleashAsync(
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 UnleashByUserIdTask extends Gs2RestSessionTask {
private UnleashByUserIdRequest request;
public UnleashByUserIdTask(
UnleashByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UnleashByUserIdResult parse(JsonNode data) {
return UnleashByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/unleash/{rateName}";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
return item;
}
).collect(Collectors.toList()));
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 unleashByUserIdAsync(
UnleashByUserIdRequest request,
AsyncAction> callback
) {
UnleashByUserIdTask task = new UnleashByUserIdTask(request, callback);
session.execute(task);
}
public UnleashByUserIdResult unleashByUserId(
UnleashByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
unleashByUserIdAsync(
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 UnleashByStampSheetTask extends Gs2RestSessionTask {
private UnleashByStampSheetRequest request;
public UnleashByStampSheetTask(
UnleashByStampSheetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UnleashByStampSheetResult parse(JsonNode data) {
return UnleashByStampSheetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/stamp/unleash";
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 unleashByStampSheetAsync(
UnleashByStampSheetRequest request,
AsyncAction> callback
) {
UnleashByStampSheetTask task = new UnleashByStampSheetTask(request, callback);
session.execute(task);
}
public UnleashByStampSheetResult unleashByStampSheet(
UnleashByStampSheetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
unleashByStampSheetAsync(
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 CreateProgressByUserIdTask extends Gs2RestSessionTask {
private CreateProgressByUserIdRequest request;
public CreateProgressByUserIdTask(
CreateProgressByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateProgressByUserIdResult parse(JsonNode data) {
return CreateProgressByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/progress";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("rateName", request.getRateName());
put("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
put("force", request.getForce());
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 createProgressByUserIdAsync(
CreateProgressByUserIdRequest request,
AsyncAction> callback
) {
CreateProgressByUserIdTask task = new CreateProgressByUserIdTask(request, callback);
session.execute(task);
}
public CreateProgressByUserIdResult createProgressByUserId(
CreateProgressByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createProgressByUserIdAsync(
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 GetProgressTask extends Gs2RestSessionTask {
private GetProgressRequest request;
public GetProgressTask(
GetProgressRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetProgressResult parse(JsonNode data) {
return GetProgressResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/progress";
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());
}
if (this.request.getAccessToken() != null) {
builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken());
}
builder
.build()
.send();
}
}
public void getProgressAsync(
GetProgressRequest request,
AsyncAction> callback
) {
GetProgressTask task = new GetProgressTask(request, callback);
session.execute(task);
}
public GetProgressResult getProgress(
GetProgressRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getProgressAsync(
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 GetProgressByUserIdTask extends Gs2RestSessionTask {
private GetProgressByUserIdRequest request;
public GetProgressByUserIdTask(
GetProgressByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetProgressByUserIdResult parse(JsonNode data) {
return GetProgressByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/progress";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void getProgressByUserIdAsync(
GetProgressByUserIdRequest request,
AsyncAction> callback
) {
GetProgressByUserIdTask task = new GetProgressByUserIdTask(request, callback);
session.execute(task);
}
public GetProgressByUserIdResult getProgressByUserId(
GetProgressByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getProgressByUserIdAsync(
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 StartTask extends Gs2RestSessionTask {
private StartRequest request;
public StartTask(
StartRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public StartResult parse(JsonNode data) {
return StartResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/progress/rate/{rateName}/start";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
put("force", request.getForce());
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 startAsync(
StartRequest request,
AsyncAction> callback
) {
StartTask task = new StartTask(request, callback);
session.execute(task);
}
public StartResult start(
StartRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
startAsync(
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 StartByUserIdTask extends Gs2RestSessionTask {
private StartByUserIdRequest request;
public StartByUserIdTask(
StartByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public StartByUserIdResult parse(JsonNode data) {
return StartByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/progress/rate/{rateName}/start";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{rateName}", this.request.getRateName() == null || this.request.getRateName().length() == 0 ? "null" : String.valueOf(this.request.getRateName()));
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("targetItemSetId", request.getTargetItemSetId());
put("materials", request.getMaterials() == null ? new ArrayList() :
request.getMaterials().stream().map(item -> {
//noinspection Convert2MethodRef
return item.toJson();
}
).collect(Collectors.toList()));
put("force", request.getForce());
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 startByUserIdAsync(
StartByUserIdRequest request,
AsyncAction> callback
) {
StartByUserIdTask task = new StartByUserIdTask(request, callback);
session.execute(task);
}
public StartByUserIdResult startByUserId(
StartByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
startByUserIdAsync(
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 EndTask extends Gs2RestSessionTask {
private EndRequest request;
public EndTask(
EndRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public EndResult parse(JsonNode data) {
return EndResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/progress/end";
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("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 endAsync(
EndRequest request,
AsyncAction> callback
) {
EndTask task = new EndTask(request, callback);
session.execute(task);
}
public EndResult end(
EndRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
endAsync(
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 EndByUserIdTask extends Gs2RestSessionTask {
private EndByUserIdRequest request;
public EndByUserIdTask(
EndByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public EndByUserIdResult parse(JsonNode data) {
return EndByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/progress/end";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("config", request.getConfig() == null ? new ArrayList() :
request.getConfig().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());
}
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 endByUserIdAsync(
EndByUserIdRequest request,
AsyncAction> callback
) {
EndByUserIdTask task = new EndByUserIdTask(request, callback);
session.execute(task);
}
public EndByUserIdResult endByUserId(
EndByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
endByUserIdAsync(
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 DeleteProgressTask extends Gs2RestSessionTask {
private DeleteProgressRequest request;
public DeleteProgressTask(
DeleteProgressRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteProgressResult parse(JsonNode data) {
return DeleteProgressResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/me/progress";
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());
}
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 deleteProgressAsync(
DeleteProgressRequest request,
AsyncAction> callback
) {
DeleteProgressTask task = new DeleteProgressTask(request, callback);
session.execute(task);
}
public DeleteProgressResult deleteProgress(
DeleteProgressRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteProgressAsync(
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 DeleteProgressByUserIdTask extends Gs2RestSessionTask {
private DeleteProgressByUserIdRequest request;
public DeleteProgressByUserIdTask(
DeleteProgressByUserIdRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteProgressByUserIdResult parse(JsonNode data) {
return DeleteProgressByUserIdResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/{namespaceName}/user/{userId}/progress";
url = url.replace("{namespaceName}", this.request.getNamespaceName() == null || this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName()));
url = url.replace("{userId}", this.request.getUserId() == null || this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
if (this.request.getDuplicationAvoider() != null) {
builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider());
}
if (this.request.getTimeOffsetToken() != null) {
builder.setHeader("X-GS2-TIME-OFFSET-TOKEN", this.request.getTimeOffsetToken());
}
builder
.build()
.send();
}
}
public void deleteProgressByUserIdAsync(
DeleteProgressByUserIdRequest request,
AsyncAction> callback
) {
DeleteProgressByUserIdTask task = new DeleteProgressByUserIdTask(request, callback);
session.execute(task);
}
public DeleteProgressByUserIdResult deleteProgressByUserId(
DeleteProgressByUserIdRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteProgressByUserIdAsync(
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 CreateProgressByStampSheetTask extends Gs2RestSessionTask {
private CreateProgressByStampSheetRequest request;
public CreateProgressByStampSheetTask(
CreateProgressByStampSheetRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateProgressByStampSheetResult parse(JsonNode data) {
return CreateProgressByStampSheetResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/stamp/progress/create";
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 createProgressByStampSheetAsync(
CreateProgressByStampSheetRequest request,
AsyncAction> callback
) {
CreateProgressByStampSheetTask task = new CreateProgressByStampSheetTask(request, callback);
session.execute(task);
}
public CreateProgressByStampSheetResult createProgressByStampSheet(
CreateProgressByStampSheetRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createProgressByStampSheetAsync(
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 DeleteProgressByStampTaskTask extends Gs2RestSessionTask {
private DeleteProgressByStampTaskRequest request;
public DeleteProgressByStampTaskTask(
DeleteProgressByStampTaskRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteProgressByStampTaskResult parse(JsonNode data) {
return DeleteProgressByStampTaskResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.replace("{region}", session.getRegion().getName())
+ "/stamp/progress/delete";
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 deleteProgressByStampTaskAsync(
DeleteProgressByStampTaskRequest request,
AsyncAction> callback
) {
DeleteProgressByStampTaskTask task = new DeleteProgressByStampTaskTask(request, callback);
session.execute(task);
}
public DeleteProgressByStampTaskResult deleteProgressByStampTask(
DeleteProgressByStampTaskRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteProgressByStampTaskAsync(
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}", "enhance")
.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 GetCurrentRateMasterTask extends Gs2RestSessionTask {
private GetCurrentRateMasterRequest request;
public GetCurrentRateMasterTask(
GetCurrentRateMasterRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetCurrentRateMasterResult parse(JsonNode data) {
return GetCurrentRateMasterResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "enhance")
.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 getCurrentRateMasterAsync(
GetCurrentRateMasterRequest request,
AsyncAction