diff options
author | itrimble | 2007-05-09 19:17:47 +0000 |
---|---|---|
committer | itrimble | 2007-05-09 19:17:47 +0000 |
commit | 1475eb86527de4d4318ac57b2e70f2dd974ab49d (patch) | |
tree | 3788bd372c835ea2dd33329fcd032e0947440110 /jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils | |
parent | 3cb042bf80d9e016afa89f231f570bcafd87d61a (diff) | |
download | webtools.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.java | 37 |
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; } } |