diff options
author | Jose <jose@zeroc.com> | 2013-09-17 10:42:21 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2013-09-17 10:42:21 +0200 |
commit | 3478c013e2f3029af132f18b6abe8de8f541d4b1 (patch) | |
tree | dc020f2d84d27f59a88955a9f340eb8f084c64e5 /java/src/IceGridGUI/MainProxy.java | |
parent | Fixed ICE-5426 - bogus version check (diff) | |
download | ice-3478c013e2f3029af132f18b6abe8de8f541d4b1.tar.bz2 ice-3478c013e2f3029af132f18b6abe8de8f541d4b1.tar.xz ice-3478c013e2f3029af132f18b6abe8de8f541d4b1.zip |
Fixed (ICE-5427) - Fix icegridgui script for RHEL/SLES
Diffstat (limited to 'java/src/IceGridGUI/MainProxy.java')
-rw-r--r-- | java/src/IceGridGUI/MainProxy.java | 55 |
1 files changed, 45 insertions, 10 deletions
diff --git a/java/src/IceGridGUI/MainProxy.java b/java/src/IceGridGUI/MainProxy.java index 8b572633a00..642b88642e3 100644 --- a/java/src/IceGridGUI/MainProxy.java +++ b/java/src/IceGridGUI/MainProxy.java @@ -20,36 +20,71 @@ public class MainProxy // _args = java.util.Arrays.copyOf(args, args.length); - Class<?> cls = IceInternal.Util.findClass("com.javafx.main.Main", null); + String version = System.getProperty("java.version"); + + Class<?> cls = null; + if(version.startsWith("1.7")) + { + cls = IceInternal.Util.findClass("com.javafx.main.Main", null); + if(cls != null) + { + try + { + java.lang.reflect.Method main = cls.getMethod("main", new Class[]{String[].class}); + main.invoke(null, new Object[]{args}); + return; + } + catch(NoSuchMethodException ex) + { + ex.printStackTrace(); + JOptionPane.showMessageDialog(null, + "Unable to find method `main(String[] args)' in class `com.javafx.main.Main'", + "IceGrid Admin Error", + JOptionPane.ERROR_MESSAGE); + } + catch(IllegalAccessException ex) + { + ex.printStackTrace(); + JOptionPane.showMessageDialog(null, + "IllegalAccessException invoking method `main(String[] args)' in class `com.javafx.main.Main'", + "IceGrid Admin Error", + JOptionPane.ERROR_MESSAGE); + } + catch(java.lang.reflect.InvocationTargetException ex) + { + } + } + } + cls = IceInternal.Util.findClass("IceGridGUI.Main", null); if(cls == null) { JOptionPane.showMessageDialog(null, - "Unable to find class `com.javafx.main.Main'", + "Unable to find class `IceGridGUI.Main'", "IceGrid Admin Error", JOptionPane.ERROR_MESSAGE); return; } - try { java.lang.reflect.Method main = cls.getMethod("main", new Class[]{String[].class}); main.invoke(null, new Object[]{args}); + return; } catch(NoSuchMethodException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(null, - "Unable to find method `main(String[] args)' in class `com.javafx.main.Main'", - "IceGrid Admin Error", - JOptionPane.ERROR_MESSAGE); + "Unable to find method `main(String[] args)' in class `com.javafx.main.Main'", + "IceGrid Admin Error", + JOptionPane.ERROR_MESSAGE); } catch(IllegalAccessException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(null, - "IllegalAccessException invoking method `main(String[] args)' in class `com.javafx.main.Main'", - "IceGrid Admin Error", - JOptionPane.ERROR_MESSAGE); + "IllegalAccessException invoking method `main(String[] args)' in class `com.javafx.main.Main'", + "IceGrid Admin Error", + JOptionPane.ERROR_MESSAGE); } catch(java.lang.reflect.InvocationTargetException ex) { @@ -61,5 +96,5 @@ public class MainProxy return _args; } - private static String[] _args; + private static String[] _args = new String[]{}; }
\ No newline at end of file |