Skip to content

Commit

Permalink
Url decode the resourceId supplied to store.getResourceInternal to fi…
Browse files Browse the repository at this point in the history
…x filenames containing spaces.
  • Loading branch information
ianwallen committed Dec 24, 2024
1 parent 490e6b9 commit b16dd58
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions core/src/main/java/org/fao/geonet/util/XslUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.fao.geonet.ApplicationContextHolder;
import org.fao.geonet.Constants;
import org.fao.geonet.SystemInfo;
import org.fao.geonet.analytics.WebAnalyticsConfiguration;
import org.fao.geonet.api.records.attachments.FilesystemStore;
import org.fao.geonet.api.records.attachments.FilesystemStoreResourceContainer;
import org.fao.geonet.api.records.attachments.Store;
import org.fao.geonet.constants.Geonet;
Expand Down Expand Up @@ -113,6 +113,7 @@
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.*;
Expand Down Expand Up @@ -1248,9 +1249,9 @@ public static String buildDataUrl(String url, Integer size) {
if (m.find()) {
Store store = ApplicationContextHolder.get().getBean("filesystemStore", Store.class);
try (Store.ResourceHolder file = store.getResourceInternal(
m.group(1),
URLDecoder.decode(m.group(1), Constants.ENCODING),
MetadataResourceVisibility.PUBLIC,
m.group(2), true)) {
URLDecoder.decode(m.group(2), Constants.ENCODING), true)) {
image = ImageIO.read(file.getPath().toFile());
}
} else {
Expand Down Expand Up @@ -1607,7 +1608,7 @@ public static String escapeForJson(String value) {
public static String escapeForEcmaScript(String value) {
return StringEscapeUtils.escapeEcmaScript(value);
}

public static String getWebAnalyticsService() {
ApplicationContext applicationContext = ApplicationContextHolder.get();
WebAnalyticsConfiguration webAnalyticsConfiguration = applicationContext.getBean(WebAnalyticsConfiguration.class);
Expand Down

0 comments on commit b16dd58

Please sign in to comment.