Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritrimble2007-05-09 19:17:47 +0000
committeritrimble2007-05-09 19:17:47 +0000
commit1475eb86527de4d4318ac57b2e70f2dd974ab49d (patch)
tree3788bd372c835ea2dd33329fcd032e0947440110 /jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils
parent3cb042bf80d9e016afa89f231f570bcafd87d61a (diff)
downloadwebtools.jsf-1475eb86527de4d4318ac57b2e70f2dd974ab49d.tar.gz
webtools.jsf-1475eb86527de4d4318ac57b2e70f2dd974ab49d.tar.xz
webtools.jsf-1475eb86527de4d4318ac57b2e70f2dd974ab49d.zip
Fix for bug# 180573.
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java37
1 files changed, 35 insertions, 2 deletions
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 35af19c9e..29305bf9f 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,6 +11,11 @@
*******************************************************************************/
package org.eclipse.jst.pagedesigner.utils;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWTException;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.sse.core.internal.util.URIResolver;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
@@ -52,8 +57,36 @@ public class ImageResolver {
*/
public static Image initializeImage(Element element, String attrName) {
String url = getResolvedURL(element, attrName);
- if (url == null)
+ if (url == null) {
return null;
- return new Image(null, url);
+ }
+ Image img = null;
+ int colonIndex = url.indexOf(":");
+ int slashIndex = url.indexOf("/");
+ if (colonIndex != -1 && (slashIndex != -1 && colonIndex < slashIndex)) {
+ //the url seems to have a protocol, so try to load it as a URL
+ try {
+ URL urlObj = new URL(url);
+ ImageDescriptor imgDesc = ImageDescriptor.createFromURL(urlObj);
+ img = imgDesc.createImage(false);
+ } catch(MalformedURLException mfe) {
+ //attempt to load as a file
+ try {
+ img = new Image(null, url);
+ } catch(SWTException se) {
+ //img remains null on return
+ }
+ } catch(SWTException se) {
+ //img remains null on return
+ }
+ } else {
+ //no protocol, so load it as a file
+ try {
+ img = new Image(null, url);
+ } catch(SWTException se) {
+ //img remains null on return
+ }
+ }
+ return img;
}
}

Back to the top