Fix NPE when defining retry name for creation
This commit is contained in:
parent
bee8d1f39b
commit
0b24401def
2 changed files with 10 additions and 5 deletions
|
@ -45,7 +45,7 @@ public abstract class AbstractScimService<RMM extends RoleMapperModel, S extends
|
|||
return;
|
||||
}
|
||||
ResourceNode scimForCreation = toScimForCreation(roleMapperModel);
|
||||
EntityOnRemoteScimId externalId = scimClient.create(scimForCreation);
|
||||
EntityOnRemoteScimId externalId = scimClient.create(id, scimForCreation);
|
||||
createMapping(id, externalId);
|
||||
}
|
||||
|
||||
|
|
|
@ -63,8 +63,13 @@ public class ScimClient<S extends ResourceNode> implements AutoCloseable {
|
|||
return new ScimClient(scimRequestBuilder, scimResourceType);
|
||||
}
|
||||
|
||||
public EntityOnRemoteScimId create(ResourceNode scimForCreation) {
|
||||
Retry retry = retryRegistry.retry("create-" + scimForCreation.getId().get());
|
||||
public EntityOnRemoteScimId create(KeycloakId id, ResourceNode scimForCreation) {
|
||||
if (scimForCreation.getId().isPresent()) {
|
||||
throw new IllegalArgumentException(
|
||||
"%s is already created on remote with id %s".formatted(id, scimForCreation.getId().get())
|
||||
);
|
||||
}
|
||||
Retry retry = retryRegistry.retry("create-%s".formatted(id.asString()));
|
||||
ServerResponse<S> response = retry.executeSupplier(() -> {
|
||||
try {
|
||||
return scimRequestBuilder
|
||||
|
@ -98,7 +103,7 @@ public class ScimClient<S extends ResourceNode> implements AutoCloseable {
|
|||
}
|
||||
|
||||
public void replace(EntityOnRemoteScimId externalId, ResourceNode scimForReplace) {
|
||||
Retry retry = retryRegistry.retry("replace-" + scimForReplace.getId().get());
|
||||
Retry retry = retryRegistry.retry("replace-%s".formatted(externalId.asString()));
|
||||
ServerResponse<S> response = retry.executeSupplier(() -> {
|
||||
try {
|
||||
return scimRequestBuilder
|
||||
|
@ -113,7 +118,7 @@ public class ScimClient<S extends ResourceNode> implements AutoCloseable {
|
|||
}
|
||||
|
||||
public void delete(EntityOnRemoteScimId externalId) {
|
||||
Retry retry = retryRegistry.retry("delete-" + externalId.asString());
|
||||
Retry retry = retryRegistry.retry("delete-%s".formatted(externalId.asString()));
|
||||
ServerResponse<S> response = retry.executeSupplier(() -> {
|
||||
try {
|
||||
return scimRequestBuilder.delete(getResourceClass(), getScimEndpoint(), externalId.asString())
|
||||
|
|
Loading…
Reference in a new issue