com.celements
celements-shared-tests
diff --git a/celements-model/src/main/java/com/celements/model/url/UrlScriptService.java b/celements-model/src/main/java/com/celements/model/url/UrlScriptService.java
index b0d79368c..2111a8636 100644
--- a/celements-model/src/main/java/com/celements/model/url/UrlScriptService.java
+++ b/celements-model/src/main/java/com/celements/model/url/UrlScriptService.java
@@ -9,14 +9,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
+import org.springframework.web.util.UriComponentsBuilder;
import org.xwiki.model.reference.EntityReference;
import org.xwiki.script.service.ScriptService;
import com.celements.model.context.ModelContext;
import com.celements.url.UrlService;
-import jakarta.ws.rs.core.UriBuilder;
-
@Component("url")
public class UrlScriptService implements ScriptService {
@@ -84,18 +83,19 @@ public String getExternalURL(@Nullable EntityReference ref, @Nullable String act
}
}
- @NotNull
- public UriBuilder createURIBuilder() {
+ @Nullable
+ public UriComponentsBuilder createURIBuilder() {
return createURIBuilder(null);
}
- @NotNull
- UriBuilder createURIBuilder(@Nullable EntityReference ref) {
+ @Nullable
+ public UriComponentsBuilder createURIBuilder(@Nullable EntityReference ref) {
return createURIBuilder(ref, null);
}
@Nullable
- UriBuilder createURIBuilder(@Nullable EntityReference ref, @Nullable String action) {
+ public UriComponentsBuilder createURIBuilder(@Nullable EntityReference ref,
+ @Nullable String action) {
try {
return urlService.createURIBuilder(firstNonNull(ref, getCurrentReference()), action);
} catch (Exception iae) {
diff --git a/celements-model/src/main/java/com/celements/model/url/XWikiUrlService.java b/celements-model/src/main/java/com/celements/model/url/XWikiUrlService.java
index c70ce2f51..01770523d 100644
--- a/celements-model/src/main/java/com/celements/model/url/XWikiUrlService.java
+++ b/celements-model/src/main/java/com/celements/model/url/XWikiUrlService.java
@@ -15,6 +15,7 @@
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
+import org.springframework.web.util.UriComponentsBuilder;
import org.xwiki.model.EntityType;
import org.xwiki.model.reference.EntityReference;
@@ -26,8 +27,6 @@
import com.xpn.xwiki.web.ViewAction;
import com.xpn.xwiki.web.XWikiURLFactory;
-import jakarta.ws.rs.core.UriBuilder;
-
@Component
public class XWikiUrlService implements UrlService {
@@ -79,15 +78,15 @@ public String getExternalURL(EntityReference ref, String action, String queryStr
}
@Override
- public UriBuilder createURIBuilder(EntityReference ref) {
+ public UriComponentsBuilder createURIBuilder(EntityReference ref) {
return createURIBuilder(ref, null);
}
@Override
- public UriBuilder createURIBuilder(EntityReference ref, String action) {
+ public UriComponentsBuilder createURIBuilder(EntityReference ref, String action) {
checkArgument(ref != null, "reference may not be null");
try {
- return UriBuilder.fromUri(createURLObject(ref, action, null).toURI());
+ return UriComponentsBuilder.fromUri(createURLObject(ref, action, null).toURI()).encode();
} catch (URISyntaxException exc) {
throw new IllegalArgumentException("illegal reference provided: " + ref, exc);
}
@@ -124,9 +123,9 @@ private URL createWikiURL(String wikiName, String queryString) {
URL url = context.getXWikiContext().getWiki().getServerURL(wikiName,
context.getXWikiContext());
checkArgument(url != null, "wiki [%s] does not exist", wikiName);
- UriBuilder builder = UriBuilder.fromUri(url.toURI());
+ UriComponentsBuilder builder = UriComponentsBuilder.fromUri(url.toURI());
builder.replaceQuery(queryString);
- return builder.build().toURL();
+ return builder.build().toUri().toURL();
} catch (MalformedURLException | URISyntaxException exc) {
throw new IllegalArgumentException("illegal wiki name provided: " + wikiName, exc);
}
diff --git a/celements-wiki-manager/web-module/src/main/webapp/templates/wikiManagerMacros/serverListing.vm b/celements-wiki-manager/web-module/src/main/webapp/templates/wikiManagerMacros/serverListing.vm
index 81eeb0337..a5ab3a882 100644
--- a/celements-wiki-manager/web-module/src/main/webapp/templates/wikiManagerMacros/serverListing.vm
+++ b/celements-wiki-manager/web-module/src/main/webapp/templates/wikiManagerMacros/serverListing.vm
@@ -82,9 +82,15 @@ $adminMsg.get("wikimanager.totalnumberofwiki") : $wikiList.size()
| #if($firstalias.wikiPrettyName && $firstalias.wikiPrettyName.trim().length() > 0) $firstalias.wikiPrettyName ($wiki.wikiName) #else $wiki.wikiName #end |
+ #set($urlBuilder = $services.url.createURIBuilder())
+ #set($stfu = $urlBuilder.replacePath('/'))
+ #set($stfu = $urlBuilder.replaceQuery(''))
#foreach ($wikialias in $wikiAliasList)
#if ($wikialias.server && $wikialias.server.trim().length() > 0)
- - $wikialias.server
+ #set($stfu = $urlBuilder.host($wikialias.server))
+ #set($stfu = $urlBuilder.scheme('https'))
+ #if (!$wikialias.secure) #set($stfu = $urlBuilder.scheme('http')) #end
+
- $wikialias.server
#end
#end
@@ -99,7 +105,11 @@ $adminMsg.get("wikimanager.totalnumberofwiki") : $wikiList.size()
#end
|
- #if(($WikiManager.canDeleteWiki()) && ($wiki.WikiName != $context.mainWikiName) && ("$request.confirmwikidel" == '1')) $adminMsg.get("delete") |#end $adminMsg.get("wikimanager.action.settings") |
+ #if(($WikiManager.canDeleteWiki()) && ($wiki.WikiName != $context.mainWikiName) && ("$request.confirmwikidel" == '1'))
+ $adminMsg.get("delete")
+ #end
+ $adminMsg.get("wikimanager.action.settings")
+
#end
diff --git a/celements-xwiki-core/pom.xml b/celements-xwiki-core/pom.xml
index 67be7f00a..2ba423ac7 100644
--- a/celements-xwiki-core/pom.xml
+++ b/celements-xwiki-core/pom.xml
@@ -134,12 +134,6 @@
commons-net
-