Bug 307801 - [WPE] WPE does not render Images with URL encoding in their path in the preview pane
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java
index f934311..1fd8672 100644
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java
+++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java
@@ -11,8 +11,10 @@
*******************************************************************************/
package org.eclipse.jst.pagedesigner.utils;
+import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URLDecoder;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWTException;
@@ -60,6 +62,14 @@
if (url == null) {
return null;
}
+ //Bug 307801 - [WPE] WPE does not render Images with URL encoding in their path in the preview pane
+ try {
+ url = URLDecoder.decode(url, "UTF-8"); //$NON-NLS-1$
+ } catch(UnsupportedEncodingException uee) {
+ //we tried to decode using recommended encoding, we failed
+ } catch(IllegalArgumentException iae) {
+ //we tried to decode using recommended encoding, we failed
+ }
Image img = null;
int colonIndex = url.indexOf(":"); //$NON-NLS-1$
int slashIndex = url.indexOf("/"); //$NON-NLS-1$
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java
index 08f3fdc..2433b11 100644
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java
+++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java
@@ -16,6 +16,8 @@
import java.io.IOException;
import java.io.PrintStream;
import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.Iterator;
@@ -364,12 +366,18 @@
Node attrNode = attrMap.item(i);
if (attrNode instanceof Attr) {
Attr attr = (Attr) attrNode;
- attr.setNodeValue(getValueOFEP(attr.getNodeValue()));
- attr.setNodeValue(PathUtil.convertToAbsolutePath(attr
- .getNodeValue(), null));
- //TODO: dead?
-// StringBuffer buf = new StringBuffer();
-// String attrValue = attr.getNodeValue();
+ String value = attr.getNodeValue();
+ value = getValueOFEP(value);
+ //Bug 307801 - [WPE] WPE does not render Images with URL encoding in their path in the preview pane
+ try {
+ value = URLDecoder.decode(value, "UTF-8"); //$NON-NLS-1$
+ } catch(UnsupportedEncodingException uee) {
+ //we tried to decode using recommended encoding, we failed
+ } catch(IllegalArgumentException iae) {
+ //we tried to decode using recommended encoding, we failed
+ }
+ value = PathUtil.convertToAbsolutePath(value, null);
+ attr.setNodeValue(value);
}
}
}