01: //THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: //CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: //BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: //FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: //OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: //INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: //LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: //OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: //LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: //NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: //EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: //POSSIBILITY OF SUCH DAMAGE.
13: //
14: //Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.applications.designstudio.dependencyview;
16:
17: import java.net.URL;
18:
19: import edu.berkeley.guir.prefuse.render.ImageFactory;
20:
21: /** Overrides the method which locates image URL and enables the URL which starts with jar: */
22: public class SpecialImageFactory extends ImageFactory {
23: /**
24: * Returns the URL for a location specified as a resource string.
25: * @param location the resource location string
26: * @return the corresponding URL
27: */
28: protected URL getImageURL(String location) {
29: URL url = null;
30: if (location.startsWith("http:/")
31: || location.startsWith("ftp:/")
32: || location.startsWith("file:/")
33: || location.startsWith("jar:file:/")) {
34: try {
35: url = new URL(location);
36: } catch (Exception e) {
37: e.printStackTrace();
38: }
39: } else {
40: url = SpecialImageFactory.class.getResource(location);
41: if (url == null && !location.startsWith("/"))
42: url = SpecialImageFactory.class.getResource("/"
43: + location);
44: }
45: return url;
46: } //
47:
48: } // end of class ImageFactory
|