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