
io.gs2.identifier.Gs2IdentifierRestClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gs2-java-sdk 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.
*
* deny overwrite
*/
package io.gs2.identifier;
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.identifier.request.*;
import io.gs2.identifier.result.*;
import io.gs2.identifier.model.*;public class Gs2IdentifierRestClient extends AbstractGs2Client {
public Gs2IdentifierRestClient(Gs2RestSession gs2RestSession) {
super(gs2RestSession);
}
class DescribeUsersTask extends Gs2RestSessionTask {
private DescribeUsersRequest request;
public DescribeUsersTask(
DescribeUsersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeUsersResult parse(JsonNode data) {
return DescribeUsersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void describeUsersAsync(
DescribeUsersRequest request,
AsyncAction> callback
) {
DescribeUsersTask task = new DescribeUsersTask(request, callback);
session.execute(task);
}
public DescribeUsersResult describeUsers(
DescribeUsersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeUsersAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateUserTask extends Gs2RestSessionTask {
private CreateUserRequest request;
public CreateUserTask(
CreateUserRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateUserResult parse(JsonNode data) {
return CreateUserResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("name", request.getName());
put("description", request.getDescription());
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 createUserAsync(
CreateUserRequest request,
AsyncAction> callback
) {
CreateUserTask task = new CreateUserTask(request, callback);
session.execute(task);
}
public CreateUserResult createUser(
CreateUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class UpdateUserTask extends Gs2RestSessionTask {
private UpdateUserRequest request;
public UpdateUserTask(
UpdateUserRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateUserResult parse(JsonNode data) {
return UpdateUserResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
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 updateUserAsync(
UpdateUserRequest request,
AsyncAction> callback
) {
UpdateUserTask task = new UpdateUserTask(request, callback);
session.execute(task);
}
public UpdateUserResult updateUser(
UpdateUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetUserTask extends Gs2RestSessionTask {
private GetUserRequest request;
public GetUserTask(
GetUserRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetUserResult parse(JsonNode data) {
return GetUserResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void getUserAsync(
GetUserRequest request,
AsyncAction> callback
) {
GetUserTask task = new GetUserTask(request, callback);
session.execute(task);
}
public GetUserResult getUser(
GetUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteUserTask extends Gs2RestSessionTask {
private DeleteUserRequest request;
public DeleteUserTask(
DeleteUserRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteUserResult parse(JsonNode data) {
return DeleteUserResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void deleteUserAsync(
DeleteUserRequest request,
AsyncAction> callback
) {
DeleteUserTask task = new DeleteUserTask(request, callback);
session.execute(task);
}
public DeleteUserResult deleteUser(
DeleteUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeSecurityPoliciesTask extends Gs2RestSessionTask {
private DescribeSecurityPoliciesRequest request;
public DescribeSecurityPoliciesTask(
DescribeSecurityPoliciesRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeSecurityPoliciesResult parse(JsonNode data) {
return DescribeSecurityPoliciesResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void describeSecurityPoliciesAsync(
DescribeSecurityPoliciesRequest request,
AsyncAction> callback
) {
DescribeSecurityPoliciesTask task = new DescribeSecurityPoliciesTask(request, callback);
session.execute(task);
}
public DescribeSecurityPoliciesResult describeSecurityPolicies(
DescribeSecurityPoliciesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeSecurityPoliciesAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeCommonSecurityPoliciesTask extends Gs2RestSessionTask {
private DescribeCommonSecurityPoliciesRequest request;
public DescribeCommonSecurityPoliciesTask(
DescribeCommonSecurityPoliciesRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeCommonSecurityPoliciesResult parse(JsonNode data) {
return DescribeCommonSecurityPoliciesResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/common";
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void describeCommonSecurityPoliciesAsync(
DescribeCommonSecurityPoliciesRequest request,
AsyncAction> callback
) {
DescribeCommonSecurityPoliciesTask task = new DescribeCommonSecurityPoliciesTask(request, callback);
session.execute(task);
}
public DescribeCommonSecurityPoliciesResult describeCommonSecurityPolicies(
DescribeCommonSecurityPoliciesRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeCommonSecurityPoliciesAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateSecurityPolicyTask extends Gs2RestSessionTask {
private CreateSecurityPolicyRequest request;
public CreateSecurityPolicyTask(
CreateSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateSecurityPolicyResult parse(JsonNode data) {
return CreateSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("name", request.getName());
put("description", request.getDescription());
put("policy", request.getPolicy());
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 createSecurityPolicyAsync(
CreateSecurityPolicyRequest request,
AsyncAction> callback
) {
CreateSecurityPolicyTask task = new CreateSecurityPolicyTask(request, callback);
session.execute(task);
}
public CreateSecurityPolicyResult createSecurityPolicy(
CreateSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class UpdateSecurityPolicyTask extends Gs2RestSessionTask {
private UpdateSecurityPolicyRequest request;
public UpdateSecurityPolicyTask(
UpdateSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public UpdateSecurityPolicyResult parse(JsonNode data) {
return UpdateSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null || this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("description", request.getDescription());
put("policy", request.getPolicy());
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 updateSecurityPolicyAsync(
UpdateSecurityPolicyRequest request,
AsyncAction> callback
) {
UpdateSecurityPolicyTask task = new UpdateSecurityPolicyTask(request, callback);
session.execute(task);
}
public UpdateSecurityPolicyResult updateSecurityPolicy(
UpdateSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
updateSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetSecurityPolicyTask extends Gs2RestSessionTask {
private GetSecurityPolicyRequest request;
public GetSecurityPolicyTask(
GetSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetSecurityPolicyResult parse(JsonNode data) {
return GetSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null || this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void getSecurityPolicyAsync(
GetSecurityPolicyRequest request,
AsyncAction> callback
) {
GetSecurityPolicyTask task = new GetSecurityPolicyTask(request, callback);
session.execute(task);
}
public GetSecurityPolicyResult getSecurityPolicy(
GetSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteSecurityPolicyTask extends Gs2RestSessionTask {
private DeleteSecurityPolicyRequest request;
public DeleteSecurityPolicyTask(
DeleteSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteSecurityPolicyResult parse(JsonNode data) {
return DeleteSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/securityPolicy/{securityPolicyName}";
url = url.replace("{securityPolicyName}", this.request.getSecurityPolicyName() == null || this.request.getSecurityPolicyName().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void deleteSecurityPolicyAsync(
DeleteSecurityPolicyRequest request,
AsyncAction> callback
) {
DeleteSecurityPolicyTask task = new DeleteSecurityPolicyTask(request, callback);
session.execute(task);
}
public DeleteSecurityPolicyResult deleteSecurityPolicy(
DeleteSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribeIdentifiersTask extends Gs2RestSessionTask {
private DescribeIdentifiersRequest request;
public DescribeIdentifiersTask(
DescribeIdentifiersRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribeIdentifiersResult parse(JsonNode data) {
return DescribeIdentifiersResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void describeIdentifiersAsync(
DescribeIdentifiersRequest request,
AsyncAction> callback
) {
DescribeIdentifiersTask task = new DescribeIdentifiersTask(request, callback);
session.execute(task);
}
public DescribeIdentifiersResult describeIdentifiers(
DescribeIdentifiersRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describeIdentifiersAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class CreateIdentifierTask extends Gs2RestSessionTask {
private CreateIdentifierRequest request;
public CreateIdentifierTask(
CreateIdentifierRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreateIdentifierResult parse(JsonNode data) {
return CreateIdentifierResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("contextStack", request.getContextStack());
}}
).toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void createIdentifierAsync(
CreateIdentifierRequest request,
AsyncAction> callback
) {
CreateIdentifierTask task = new CreateIdentifierTask(request, callback);
session.execute(task);
}
public CreateIdentifierResult createIdentifier(
CreateIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetIdentifierTask extends Gs2RestSessionTask {
private GetIdentifierRequest request;
public GetIdentifierTask(
GetIdentifierRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetIdentifierResult parse(JsonNode data) {
return GetIdentifierResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier/{clientId}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{clientId}", this.request.getClientId() == null || this.request.getClientId().length() == 0 ? "null" : String.valueOf(this.request.getClientId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void getIdentifierAsync(
GetIdentifierRequest request,
AsyncAction> callback
) {
GetIdentifierTask task = new GetIdentifierTask(request, callback);
session.execute(task);
}
public GetIdentifierResult getIdentifier(
GetIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DeleteIdentifierTask extends Gs2RestSessionTask {
private DeleteIdentifierRequest request;
public DeleteIdentifierTask(
DeleteIdentifierRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeleteIdentifierResult parse(JsonNode data) {
return DeleteIdentifierResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/identifier/{clientId}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{clientId}", this.request.getClientId() == null || this.request.getClientId().length() == 0 ? "null" : String.valueOf(this.request.getClientId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void deleteIdentifierAsync(
DeleteIdentifierRequest request,
AsyncAction> callback
) {
DeleteIdentifierTask task = new DeleteIdentifierTask(request, callback);
session.execute(task);
}
public DeleteIdentifierResult deleteIdentifier(
DeleteIdentifierRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deleteIdentifierAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DescribePasswordsTask extends Gs2RestSessionTask {
private DescribePasswordsRequest request;
public DescribePasswordsTask(
DescribePasswordsRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DescribePasswordsResult parse(JsonNode data) {
return DescribePasswordsResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/password";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
if (this.request.getPageToken() != null) {
queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
}
if (this.request.getLimit() != null) {
queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void describePasswordsAsync(
DescribePasswordsRequest request,
AsyncAction> callback
) {
DescribePasswordsTask task = new DescribePasswordsTask(request, callback);
session.execute(task);
}
public DescribePasswordsResult describePasswords(
DescribePasswordsRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
describePasswordsAsync(
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 CreatePasswordTask extends Gs2RestSessionTask {
private CreatePasswordRequest request;
public CreatePasswordTask(
CreatePasswordRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public CreatePasswordResult parse(JsonNode data) {
return CreatePasswordResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/password";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void createPasswordAsync(
CreatePasswordRequest request,
AsyncAction> callback
) {
CreatePasswordTask task = new CreatePasswordTask(request, callback);
session.execute(task);
}
public CreatePasswordResult createPassword(
CreatePasswordRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
createPasswordAsync(
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 GetPasswordTask extends Gs2RestSessionTask {
private GetPasswordRequest request;
public GetPasswordTask(
GetPasswordRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetPasswordResult parse(JsonNode data) {
return GetPasswordResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/password/entity";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void getPasswordAsync(
GetPasswordRequest request,
AsyncAction> callback
) {
GetPasswordTask task = new GetPasswordTask(request, callback);
session.execute(task);
}
public GetPasswordResult getPassword(
GetPasswordRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getPasswordAsync(
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 DeletePasswordTask extends Gs2RestSessionTask {
private DeletePasswordRequest request;
public DeletePasswordTask(
DeletePasswordRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DeletePasswordResult parse(JsonNode data) {
return DeletePasswordResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/password/entity";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void deletePasswordAsync(
DeletePasswordRequest request,
AsyncAction> callback
) {
DeletePasswordTask task = new DeletePasswordTask(request, callback);
session.execute(task);
}
public DeletePasswordResult deletePassword(
DeletePasswordRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
deletePasswordAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class GetHasSecurityPolicyTask extends Gs2RestSessionTask {
private GetHasSecurityPolicyRequest request;
public GetHasSecurityPolicyTask(
GetHasSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public GetHasSecurityPolicyResult parse(JsonNode data) {
return GetHasSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.GET)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void getHasSecurityPolicyAsync(
GetHasSecurityPolicyRequest request,
AsyncAction> callback
) {
GetHasSecurityPolicyTask task = new GetHasSecurityPolicyTask(request, callback);
session.execute(task);
}
public GetHasSecurityPolicyResult getHasSecurityPolicy(
GetHasSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
getHasSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class AttachSecurityPolicyTask extends Gs2RestSessionTask {
private AttachSecurityPolicyRequest request;
public AttachSecurityPolicyTask(
AttachSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public AttachSecurityPolicyResult parse(JsonNode data) {
return AttachSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("securityPolicyId", request.getSecurityPolicyId());
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 attachSecurityPolicyAsync(
AttachSecurityPolicyRequest request,
AsyncAction> callback
) {
AttachSecurityPolicyTask task = new AttachSecurityPolicyTask(request, callback);
session.execute(task);
}
public AttachSecurityPolicyResult attachSecurityPolicy(
AttachSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
attachSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class DetachSecurityPolicyTask extends Gs2RestSessionTask {
private DetachSecurityPolicyRequest request;
public DetachSecurityPolicyTask(
DetachSecurityPolicyRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public DetachSecurityPolicyResult parse(JsonNode data) {
return DetachSecurityPolicyResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/user/{userName}/securityPolicy/{securityPolicyId}";
url = url.replace("{userName}", this.request.getUserName() == null || this.request.getUserName().length() == 0 ? "null" : String.valueOf(this.request.getUserName()));
url = url.replace("{securityPolicyId}", this.request.getSecurityPolicyId() == null || this.request.getSecurityPolicyId().length() == 0 ? "null" : String.valueOf(this.request.getSecurityPolicyId()));
List queryStrings = new ArrayList<> ();
if (this.request.getContextStack() != null) {
queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
}
url += "?" + String.join("&", queryStrings);
builder
.setMethod(HttpTask.Method.DELETE)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void detachSecurityPolicyAsync(
DetachSecurityPolicyRequest request,
AsyncAction> callback
) {
DetachSecurityPolicyTask task = new DetachSecurityPolicyTask(request, callback);
session.execute(task);
}
public DetachSecurityPolicyResult detachSecurityPolicy(
DetachSecurityPolicyRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
detachSecurityPolicyAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class LoginTask extends Gs2RestSessionTask {
private LoginRequest request;
public LoginTask(
LoginRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public LoginResult parse(JsonNode data) {
return LoginResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/projectToken/login";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("client_id", request.getClientId());
put("client_secret", request.getClientSecret());
}}
).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 loginAsync(
LoginRequest request,
AsyncAction> callback
) {
LoginTask task = new LoginTask(request, callback);
session.execute(task);
}
public LoginResult login(
LoginRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
loginAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
class LoginByUserTask extends Gs2RestSessionTask {
private LoginByUserRequest request;
public LoginByUserTask(
LoginByUserRequest request,
AsyncAction> userCallback
) {
super(
(Gs2RestSession) session,
userCallback
);
this.request = request;
}
@Override
public LoginByUserResult parse(JsonNode data) {
return LoginByUserResult.fromJson(data);
}
@Override
protected void executeImpl() {
String url = Gs2RestSession.EndpointHost
.replace("{service}", "identifier")
.replace("{region}", session.getRegion().getName())
+ "/projectToken/login/user";
builder.setBody(new ObjectMapper().valueToTree(
new HashMap() {{
put("userName", request.getUserName());
put("password", request.getPassword());
put("contextStack", request.getContextStack());
}}
).toString().getBytes());
builder
.setMethod(HttpTask.Method.POST)
.setUrl(url)
.setHeader("Content-Type", "application/json")
.setHttpResponseHandler(this);
if (this.request.getRequestId() != null) {
builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
}
builder
.build()
.send();
}
}
public void loginByUserAsync(
LoginByUserRequest request,
AsyncAction> callback
) {
LoginByUserTask task = new LoginByUserTask(request, callback);
session.execute(task);
}
public LoginByUserResult loginByUser(
LoginByUserRequest request
) {
final AsyncResult[] resultAsyncResult = new AsyncResult[]{null};
loginByUserAsync(
request,
result -> resultAsyncResult[0] = result
);
while (resultAsyncResult[0] == null) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}
if(resultAsyncResult[0].getError() != null) {
throw resultAsyncResult[0].getError();
}
return resultAsyncResult[0].getResult();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy