From 60624fb93a5cdd270ae448998e8a3b079bc757da Mon Sep 17 00:00:00 2001 From: Felix Reichenbach <felix.reichenbach@mgm-tp.com> Date: Fri, 10 Jan 2025 09:26:32 +0100 Subject: [PATCH] OZG-6733 refactor buildUsersHref --- .../ozgcloud/admin/keycloak/KeyCloakRootProcessor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/ozgcloud/admin/keycloak/KeyCloakRootProcessor.java b/src/main/java/de/ozgcloud/admin/keycloak/KeyCloakRootProcessor.java index a17e7fd9..55d7d5fc 100644 --- a/src/main/java/de/ozgcloud/admin/keycloak/KeyCloakRootProcessor.java +++ b/src/main/java/de/ozgcloud/admin/keycloak/KeyCloakRootProcessor.java @@ -23,6 +23,8 @@ */ package de.ozgcloud.admin.keycloak; +import java.util.Map; + import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; @@ -41,6 +43,10 @@ import lombok.RequiredArgsConstructor; @ConditionalOnProperty(prefix = FeatureToggleProperties.FEATURE_TOGGLE_PREFIX, name = "benutzer-rollen", havingValue = "true") class KeyCloakRootProcessor implements RepresentationModelProcessor<EntityModel<Root>> { + private static final String REALM_KEY = "realm"; + private static final String BASE_URL_KEY = "baseUrl"; + private static final String KEYCLOAK_API_TEMPLATE = "{baseUrl}/admin/realms/{realm}/users"; + public static final String REL_USERS = "users"; private final KeycloakApiProperties keycloakApiProperties; @@ -52,8 +58,8 @@ class KeyCloakRootProcessor implements RepresentationModelProcessor<EntityModel< } String buildUsersHref() { - return UriComponentsBuilder.fromUriString(keycloakApiProperties.getUrl()) - .pathSegment("admin", "realms", keycloakApiProperties.getRealm(), "users") // NOSONAR + Map<String, Object> pathVariableMap = Map.of(BASE_URL_KEY, keycloakApiProperties.getUrl(), REALM_KEY, keycloakApiProperties.getRealm()); + return UriComponentsBuilder.fromUriString(KEYCLOAK_API_TEMPLATE).uriVariables(pathVariableMap) .build().toUriString(); } } -- GitLab