JAL-3103 Switched to (a wrapper around) BrowserLauncher2
[jalview.git] / src / jalview / util / BrowserLauncher.java
1 package jalview.util;
2
3 import java.io.IOException;
4
5 import edu.stanford.ejalbert.exception.BrowserLaunchingInitializingException;
6 import edu.stanford.ejalbert.exception.UnsupportedOperatingSystemException;
7 import jalview.bin.Cache;
8 import jalview.bin.Console;
9
10 public class BrowserLauncher
11 {
12   private static String preferredBrowser = null;
13
14   public static void openURL(String url) throws IOException
15   {
16     if (Platform.isJS())
17     {
18       Platform.openURL(url);
19       return;
20     }
21     else
22     /**
23      * Java only
24      * 
25      * @j2sIgnore
26      */
27     {
28       edu.stanford.ejalbert.BrowserLauncher bl = null;
29       try
30       {
31         bl = new edu.stanford.ejalbert.BrowserLauncher();
32       } catch (BrowserLaunchingInitializingException e)
33       {
34         Console.warn(MessageManager.formatMessage(
35                 "exception.browser_unable_to_launch", e.getMessage()));
36       } catch (UnsupportedOperatingSystemException e)
37       {
38         Console.warn(MessageManager.formatMessage("exception."));
39         Console.debug(e.getMessage());
40       }
41       if (bl != null)
42       {
43         if (Platform.isMac() || preferredBrowser == null)
44         {
45           bl.openURLinBrowser(url);
46         }
47         else
48         {
49           System.err.println(
50                   "**** OPENURL (" + preferredBrowser + ", " + url + ")");
51           bl.openURLinBrowser(preferredBrowser, url);
52         }
53       }
54     }
55   }
56
57   public static void resetBrowser()
58   {
59     String defaultBrowser = Cache.getProperty("DEFAULT_BROWSER");
60     preferredBrowser = defaultBrowser;
61   }
62 }