diff --git a/src/main/java/de/focus_shift/launchpad/api/LaunchpadAppUrlCustomizer.java b/src/main/java/de/focus_shift/launchpad/api/LaunchpadAppUrlCustomizer.java index d542d0b..646eb9c 100644 --- a/src/main/java/de/focus_shift/launchpad/api/LaunchpadAppUrlCustomizer.java +++ b/src/main/java/de/focus_shift/launchpad/api/LaunchpadAppUrlCustomizer.java @@ -5,7 +5,7 @@ /** * Callback interface that can be implemented to customize the URL of an {@linkplain - * LaunchpadConfigProperties.App}. + * de.focus_shift.launchpad.core.LaunchpadConfigProperties.App}. * *
Example Configuration: * @@ -23,7 +23,7 @@ * *
* LaunchpadAppUrlCustomizer launchpadAppUrlCustomizer() {
- * return url -> new URL(url.replace("{tenantId}", "awesome-tenant-id"));
+ * return url -> URI.create(url.replace("{tenantId}", "awesome-tenant-id")).toURL();
* }
*
*/
diff --git a/src/main/java/de/focus_shift/launchpad/tenancy/LaunchpadTenantConfiguration.java b/src/main/java/de/focus_shift/launchpad/tenancy/LaunchpadTenantConfiguration.java
index bb5a98a..836b059 100644
--- a/src/main/java/de/focus_shift/launchpad/tenancy/LaunchpadTenantConfiguration.java
+++ b/src/main/java/de/focus_shift/launchpad/tenancy/LaunchpadTenantConfiguration.java
@@ -1,7 +1,7 @@
package de.focus_shift.launchpad.tenancy;
import de.focus_shift.launchpad.api.LaunchpadAppUrlCustomizer;
-import java.net.URL;
+import java.net.URI;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
@@ -14,7 +14,7 @@ public class LaunchpadTenantConfiguration {
@Bean
LaunchpadAppUrlCustomizer appUrlCustomizer(TenantSupplier tenantSupplier) {
- return url -> new URL(url.replace("{tenantId}", tenantSupplier.get()));
+ return url -> URI.create(url.replace("{tenantId}", tenantSupplier.get())).toURL();
}
@Bean
diff --git a/src/test/java/de/focus_shift/launchpad/core/LaunchpadControllerAdviceIT.java b/src/test/java/de/focus_shift/launchpad/core/LaunchpadControllerAdviceIT.java
index a0a9859..3b9f180 100644
--- a/src/test/java/de/focus_shift/launchpad/core/LaunchpadControllerAdviceIT.java
+++ b/src/test/java/de/focus_shift/launchpad/core/LaunchpadControllerAdviceIT.java
@@ -8,7 +8,7 @@
import de.focus_shift.launchpad.api.HasLaunchpad;
import de.focus_shift.launchpad.api.LaunchpadAppUrlCustomizer;
-import java.net.URL;
+import java.net.URI;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
@@ -49,9 +49,12 @@ void controllerWithLaunchpad() throws Exception {
.thenReturn(
new Launchpad(
List.of(
- new App(new URL("https://example.org"), new AppName("App 1", Map.of()), "icon"),
new App(
- new URL("https://example-2.org"),
+ URI.create("https://example.org").toURL(),
+ new AppName("App 1", Map.of()),
+ "icon"),
+ new App(
+ URI.create("https://example-2.org").toURL(),
new AppName("App 2", Map.of()),
"icon-2"))));
@@ -81,7 +84,7 @@ static class TestConfig {
@Bean
LaunchpadAppUrlCustomizer appUrlCustomizer() {
- return URL::new;
+ return url -> URI.create(url).toURL();
}
@Controller
diff --git a/src/test/java/de/focus_shift/launchpad/core/LaunchpadServiceImplIT.java b/src/test/java/de/focus_shift/launchpad/core/LaunchpadServiceImplIT.java
index 5343b24..7e4922c 100644
--- a/src/test/java/de/focus_shift/launchpad/core/LaunchpadServiceImplIT.java
+++ b/src/test/java/de/focus_shift/launchpad/core/LaunchpadServiceImplIT.java
@@ -3,7 +3,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import de.focus_shift.launchpad.api.LaunchpadAppUrlCustomizer;
-import java.net.URL;
+import java.net.URI;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -36,12 +36,12 @@ void ensureLaunchpad() throws Exception {
assertThat(launchpad.getApps())
.containsExactly(
new App(
- new URL("https://first.app.example.org"),
+ URI.create("https://first.app.example.org").toURL(),
new AppName(
"Anwendung 1", Map.of(Locale.GERMAN, "Anwendung 1", Locale.ENGLISH, "App 1")),
"icon-first"),
new App(
- new URL("https://second.app.example.org"),
+ URI.create("https://second.app.example.org").toURL(),
new AppName(
"Anwendung 2", Map.of(Locale.GERMAN, "Anwendung 2", Locale.ENGLISH, "App 2")),
"icon-second"));
@@ -51,7 +51,7 @@ void ensureLaunchpad() throws Exception {
static class TestConfig {
@Bean
LaunchpadAppUrlCustomizer appUrlCustomizer() {
- return URL::new;
+ return url -> URI.create(url).toURL();
}
}
}