tn5250j/src/org/tn5250j/tools/system OperatingSystem.java,1.2,1.3

"Kenneth J. Pouncey" <[email protected]> Wed, 23 Jun 2004 14:50:09 +0000
Newsgroups gmane.comp.java.tn5250j.cvs
Message-ID <[email protected]>
Update of /cvsroot/tn5250j/tn5250j/src/org/tn5250j/tools/system
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17734

Modified Files:
	OperatingSystem.java 
Log Message:
Add support for http: hotspot url display

Index: OperatingSystem.java
===================================================================
RCS file: /cvsroot/tn5250j/tn5250j/src/org/tn5250j/tools/system/OperatingSystem.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** OperatingSystem.java	13 Mar 2003 20:55:36 -0000	1.2
--- OperatingSystem.java	23 Jun 2004 14:50:06 -0000	1.3
***************
*** 144,150 ****
     {
        return java14;
!    } //}}}
  
     //{{{ Private members
     private static final int UNIX = 0x31337;
     private static final int WINDOWS_9x = 0x640;
--- 144,212 ----
     {
        return java14;
!    }
!    
!    /**
!     * From JavaWorld Tip 66 - http://www.javaworld.com/javaworld/javatips/jw-javatip66.html
!     * Display a file in the system browser.  If you want to display a
!     * file, you must include the absolute path name.
!     *
!     * @param url the file's url (the url must start with either "http://" or
!     * "file://").
!     */
!    public static void displayURL(String url) {
!        boolean windows = isWindows();
!        String cmd = null;
!        try {
!            if (windows) {
!                // cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
!                cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
!                Process p = Runtime.getRuntime().exec(cmd);
!            }
!            else {
!                // Under Unix, Netscape has to be running for the "-remote"
!                // command to work.  So, we try sending the command and
!                // check for an exit value.  If the exit command is 0,
!                // it worked, otherwise we need to start the browser.
!                // cmd = 'netscape -remote openURL(http://www.javaworld.com)'
!                cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
!                Process p = Runtime.getRuntime().exec(cmd);
!                try {
!                    // wait for exit code -- if it's 0, command worked,
!                    // otherwise we need to start the browser up.
!                    int exitCode = p.waitFor();
!                    if (exitCode != 0) {
!                        // Command failed, start up the browser
!                        // cmd = 'netscape http://www.javaworld.com'
!                        cmd = UNIX_PATH + " "  + url;
!                        p = Runtime.getRuntime().exec(cmd);
!                    }
!                }
!                catch(InterruptedException x) {
!                    System.err.println("Error bringing up browser, cmd='" +
!                    cmd + "'");
!                    System.err.println("Caught: " + x);
!                }
!            }
!        }
!        catch(java.io.IOException x) {
!            // couldn't exec browser
!            System.err.println("Could not invoke browser, command=" + cmd);
!            System.err.println("Caught: " + x);
!        }
!    }
!    
!  //}}}
  
     //{{{ Private members
+     // Used to identify the windows platform.
+     private static final String WIN_ID = "Windows";
+     // The default system browser under windows.
+     private static final String WIN_PATH = "rundll32";
+     // The flag to display a url.
+     private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
+     // The default browser under unix.
+     private static final String UNIX_PATH = "netscape";
+     // The flag to display a url.
+     private static final String UNIX_FLAG = "-remote openURL";   
     private static final int UNIX = 0x31337;
     private static final int WINDOWS_9x = 0x640;



-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com