X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.detached%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fdetached%2FAppLauncher.java;fp=org.argeo.slc.detached%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fdetached%2FAppLauncher.java;h=0000000000000000000000000000000000000000;hb=cdb5a9f10678f41914d6eeebd6620c0a84dbd208;hp=d2e1ff51eb62169ac44f59d057105d3214028c0a;hpb=7a8f034133c1112e187e2a2bfd2c56a8d2452345;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/AppLauncher.java b/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/AppLauncher.java deleted file mode 100644 index d2e1ff51e..000000000 --- a/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/AppLauncher.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.argeo.slc.detached; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -public class AppLauncher { - private Properties systemProperties = new Properties(); - private String mainClass = null; - private List arguments = new ArrayList(); - - public void launch() { - - Properties base = System.getProperties(); - Properties fake = new Properties(base); - - try { - if (mainClass == null) - throw new DetachedException( - "A main class name has to be specified."); - - System.getProperties().putAll(systemProperties); - - ClassLoader cl = Thread.currentThread().getContextClassLoader(); - Class clss = cl.loadClass(mainClass); - - String[] args = new String[arguments.size()]; - for (int i = 0; i < arguments.size(); i++) { - args[i] = arguments.get(i).toString(); - } - - Class[] mainArgsClasses = new Class[] { args.getClass() }; - Object[] mainArgs = { args }; - Method mainMethod = clss.getMethod("main", mainArgsClasses); - - System.setProperties(fake); - - mainMethod.invoke(null, mainArgs); - - } catch (Exception e) { - throw new DetachedException("Unexpected exception while launching " - + mainClass, e); - } finally { - System.setProperties(base); - } - - } - - public void setSystemProperties(Properties systemProperties) { - this.systemProperties = systemProperties; - } - - public void setMainClass(String mainClass) { - this.mainClass = mainClass; - } - - public void setArguments(List arguments) { - this.arguments = arguments; - } - -}