- return CmsUiUtils.getDataPath(node);
- // String name = getResourceName(node);
- // ResourceManager resourceManager = RWT.getResourceManager();
- // if (!resourceManager.isRegistered(name)) {
- // InputStream inputStream = null;
- // Binary binary = getImageBinary(node);
- // if (binary == null)
- // return null;
- // try {
- // inputStream = binary.getStream();
- // resourceManager.register(name, inputStream);
- // } finally {
- // IOUtils.closeQuietly(inputStream);
- // JcrUtils.closeQuietly(binary);
- // }
- // if (log.isTraceEnabled())
- // log.trace("Registered image " + name);
- // }
- // return resourceManager.getLocation(name);
+ return getCleanDataPath(node);
+ }
+
+ /** Clean special character from the URL. */
+ protected String getCleanDataPath(Node node) throws RepositoryException {
+ String path = CmsUiUtils.getDataPath(node);
+ StringTokenizer st = new StringTokenizer(path, "/");
+ StringBuilder sb = new StringBuilder();
+ while (st.hasMoreElements()) {
+ sb.append('/');
+ String encoded = URLEncoder.encode(st.nextToken(), StandardCharsets.UTF_8);
+ encoded = encoded.replace("+", "%20");
+ sb.append(encoded);
+
+ }
+ return sb.toString();