JAL-3103 Put jalview.jar first in getdown for .properties files. Remove now-not-neede...
[jalview.git] / src / jalview / util / BrowserLauncher.java
1 package jalview.util;
2
3 import edu.stanford.ejalbert.exception.BrowserLaunchingInitializingException;
4 import edu.stanford.ejalbert.exception.UnsupportedOperatingSystemException;
5 import jalview.bin.Cache;
6 import jalview.bin.Console;
7
8 public class BrowserLauncher extends edu.stanford.ejalbert.BrowserLauncher
9 {
10   private static BrowserLauncher INSTANCE = null;
11
12   // get singleton BrowserLauncher instance
13   public static BrowserLauncher getInstance()
14   {
15     if (INSTANCE == null)
16     {
17       try
18       {
19         INSTANCE = new BrowserLauncher();
20       } catch (BrowserLaunchingInitializingException e)
21       {
22         Console.warn(MessageManager.formatMessage(
23                 "exception.browser_unable_to_launch", e.getMessage()));
24       } catch (UnsupportedOperatingSystemException e)
25       {
26         Console.warn(MessageManager.formatMessage("exception."));
27         Console.debug(e.getMessage());
28       }
29     }
30     return INSTANCE;
31   }
32
33   public BrowserLauncher() throws BrowserLaunchingInitializingException,
34           UnsupportedOperatingSystemException
35   {
36     super();
37   }
38
39   private static String preferredBrowser = null;
40
41   public static void openURL(String url)
42   {
43     if (Platform.isJS())
44     {
45       Platform.openURL(url);
46       return;
47     }
48     else
49     /**
50      * Java only
51      * 
52      * @j2sIgnore
53      */
54     {
55       BrowserLauncher bl = getInstance();
56       if (bl != null)
57       {
58         if (Platform.isMac() || preferredBrowser == null)
59         {
60           bl.openURLinBrowser(url);
61         }
62         else
63         {
64           bl.openURLinBrowser(preferredBrowser, url);
65         }
66       }
67       else
68       {
69         Console.warn("Could not open URL '" + url + "'");
70       }
71     }
72   }
73
74   public static void resetBrowser()
75   {
76     String defaultBrowser = Cache.getProperty("DEFAULT_BROWSER");
77     preferredBrowser = defaultBrowser;
78   }
79 }