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);
 				}
 			}
 		}