diff --git a/core/src/main/java/org/fao/geonet/util/XslUtil.java b/core/src/main/java/org/fao/geonet/util/XslUtil.java index 1175c12fd5b..067d3cc4b8e 100644 --- a/core/src/main/java/org/fao/geonet/util/XslUtil.java +++ b/core/src/main/java/org/fao/geonet/util/XslUtil.java @@ -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; @@ -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.*; @@ -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 { @@ -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);