diff --git a/.gitignore b/.gitignore
index 8bdc0a4..80d11b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,4 +12,5 @@ atlassian-ide-plugin.xml
/magnolia-builders/target
/custom-definitions/target
+/custom-definitions-spring/target/
/key-generator/target
diff --git a/custom-definitions-spring/pom.xml b/custom-definitions-spring/pom.xml
new file mode 100644
index 0000000..9a222b1
--- /dev/null
+++ b/custom-definitions-spring/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.namics.oss.magnolia
+ magnolia-definition-builders-parent
+ 1.2.2-SNAPSHOT
+
+
+ custom-definition-builders-spring
+
+
+
+
+ com.namics.oss.magnolia
+ custom-definition-builders
+ ${project.version}
+
+
+ org.springframework
+ spring-context
+ ${spring.version}
+
+
+
\ No newline at end of file
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/configuration/CustomDefinitionBuildersConfiguration.java b/custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/configuration/CustomDefinitionBuildersConfiguration.java
similarity index 100%
rename from custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/configuration/CustomDefinitionBuildersConfiguration.java
rename to custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/configuration/CustomDefinitionBuildersConfiguration.java
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/imageset/configuration/ImageSetConfiguration.java b/custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/imageset/configuration/ImageSetConfiguration.java
similarity index 100%
rename from custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/imageset/configuration/ImageSetConfiguration.java
rename to custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/imageset/configuration/ImageSetConfiguration.java
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/configuration/LinkSetConfiguration.java b/custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/configuration/LinkSetConfiguration.java
similarity index 100%
rename from custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/configuration/LinkSetConfiguration.java
rename to custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/configuration/LinkSetConfiguration.java
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/videoset/configuration/VideoSetConfiguration.java b/custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/videoset/configuration/VideoSetConfiguration.java
similarity index 100%
rename from custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/videoset/configuration/VideoSetConfiguration.java
rename to custom-definitions-spring/src/main/java/com/merkle/oss/magnolia/definition/custom/videoset/configuration/VideoSetConfiguration.java
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkAnchorModifier.java b/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkAnchorModifier.java
index 4575978..fc570a5 100644
--- a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkAnchorModifier.java
+++ b/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkAnchorModifier.java
@@ -3,7 +3,6 @@
import com.google.common.base.Joiner;
import com.merkle.oss.magnolia.definition.custom.linkset.model.Link;
import com.merkle.oss.magnolia.definition.custom.linkset.model.LinkModel;
-import org.springframework.stereotype.Component;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifier.java b/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifier.java
index 90ab832..3f3dd97 100644
--- a/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifier.java
+++ b/custom-definitions/src/main/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifier.java
@@ -1,10 +1,13 @@
package com.merkle.oss.magnolia.definition.custom.linkset.model.util;
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.http.client.utils.URIBuilder;
+
+import com.machinezoo.noexception.Exceptions;
import com.merkle.oss.magnolia.definition.custom.linkset.model.Link;
import com.merkle.oss.magnolia.definition.custom.linkset.model.LinkModel;
-import org.springframework.web.util.UriComponentsBuilder;
-
-import java.util.Map;
public class ExtendedLinkQueryParamModifier {
@@ -28,11 +31,11 @@ private Link modify(final Link extendedLink, final Map queryPara
}
private String setQueryParams(final String href, final Map queryParams, final boolean replace) {
- final UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(href);
+ final URIBuilder uriBuilder = Exceptions.wrap().get(() -> new URIBuilder(href));
if (replace) {
- uriComponentsBuilder.replaceQuery(null);
+ uriBuilder.setParameters(Collections.emptyList());
}
- queryParams.forEach(uriComponentsBuilder::queryParam);
- return uriComponentsBuilder.toUriString();
+ queryParams.forEach(uriBuilder::addParameter);
+ return Exceptions.wrap().get(uriBuilder::build).toString();
}
}
diff --git a/custom-definitions/src/test/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifierTest.java b/custom-definitions/src/test/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifierTest.java
new file mode 100644
index 0000000..30c7131
--- /dev/null
+++ b/custom-definitions/src/test/java/com/merkle/oss/magnolia/definition/custom/linkset/model/util/ExtendedLinkQueryParamModifierTest.java
@@ -0,0 +1,52 @@
+package com.merkle.oss.magnolia.definition.custom.linkset.model.util;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.util.Map;
+
+import org.junit.jupiter.api.Test;
+
+import com.merkle.oss.magnolia.definition.custom.linkset.LinkTypes;
+import com.merkle.oss.magnolia.definition.custom.linkset.model.Link;
+import com.merkle.oss.magnolia.definition.custom.linkset.model.LinkModel;
+
+class ExtendedLinkQueryParamModifierTest {
+ private static final Link LINK = new LinkModel(
+ "linkText",
+ "/de/test?param1=42",
+ "https://someDomain.com/de/test?param1=42",
+ false,
+ false,
+ LinkTypes.INTERNAL
+ );
+
+ @Test
+ void withAppend() {
+ assertEquals(
+ new LinkModel(
+ "linkText",
+ "/de/test?param1=42¶m2=43",
+ "https://someDomain.com/de/test?param1=42¶m2=43",
+ false,
+ false,
+ LinkTypes.INTERNAL
+ ),
+ new ExtendedLinkQueryParamModifier().withAppend(LINK, Map.of("param2", "43"))
+ );
+ }
+
+ @Test
+ void withReplace() {
+ assertEquals(
+ new LinkModel(
+ "linkText",
+ "/de/test?param2=43",
+ "https://someDomain.com/de/test?param2=43",
+ false,
+ false,
+ LinkTypes.INTERNAL
+ ),
+ new ExtendedLinkQueryParamModifier().withReplace(LINK, Map.of("param2", "43"))
+ );
+ }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d761fe1..0ae426e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,14 +30,16 @@
magnolia-builders
custom-definitions
- key-generator
-
+ key-generator
+ custom-definitions-spring
+
6.3.0
6.0.8
+ 5.3.39
2.1.1
1.12.1
3.0.2