You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/03/02 20:38:02 UTC

svn commit: r513906 - in /incubator/tuscany/java/sca/runtime/standalone/launcher/src/main: java/org/apache/tuscany/launcher/Main.java resources/org/apache/tuscany/launcher/Main.properties

Author: jboynes
Date: Fri Mar  2 11:38:00 2007
New Revision: 513906

URL: http://svn.apache.org/viewvc?view=rev&rev=513906
Log:
improve command line error handling for launcher
add option to specify location of the scdl to use for the application

Modified:
    incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java
    incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/resources/org/apache/tuscany/launcher/Main.properties

Modified: incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java?view=diff&rev=513906&r1=513905&r2=513906
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java Fri Mar  2 11:38:00 2007
@@ -19,7 +19,6 @@
 package org.apache.tuscany.launcher;
 
 import java.io.File;
-import java.net.URI;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.text.MessageFormat;
@@ -28,7 +27,6 @@
 import org.apache.tuscany.runtime.standalone.DirectoryHelper;
 import org.apache.tuscany.runtime.standalone.StandaloneRuntime;
 import org.apache.tuscany.runtime.standalone.StandaloneRuntimeInfo;
-import org.osoa.sca.ComponentContext;
 
 /**
  * Main class for launcher runtime environment. <code>
@@ -55,33 +53,36 @@
             throw new AssertionError();
         }
 
-        StandaloneRuntimeInfo runtimeInfo = DirectoryHelper.createRuntimeInfo("launcher", Main.class);
-        StandaloneRuntime runtime = (StandaloneRuntime)DirectoryHelper.createRuntime(runtimeInfo);
-        runtime.initialize();
-
-        int status = deployAndRunApplication(args, runtime);
-        System.exit(status);
-    }
-
-    /**
-     * @deprecated Hack for deployment.
-     */
-    private static int deployAndRunApplication(String[] args, StandaloneRuntime runtime)
-        throws Exception {
+        File applicationFile = new File(args[0]);
+        if (!applicationFile.exists()) {
+            System.err.println(getMessage("org.apache.tuscany.launcher.NoComposite", applicationFile));
+            System.exit(2);
+        }
 
-        URI compositeUri = new URI("/test/composite");
-        URL applicationJar = new File(args[0]).toURL();
-        ClassLoader applicationClassLoader =
-            new URLClassLoader(new URL[] {applicationJar}, runtime.getHostClassLoader());
-        URL applicationScdl = applicationClassLoader.getResource("META-INF/sca/default.scdl");
-        
         String[] appArgs = new String[0];
         if(args.length > 1) {
             appArgs = new String[args.length - 1];
             System.arraycopy(args, 1, appArgs, 0, appArgs.length);
         }
-        return runtime.deployAndRun(applicationScdl, applicationClassLoader, appArgs);
 
+        StandaloneRuntimeInfo runtimeInfo = DirectoryHelper.createRuntimeInfo("launcher", Main.class);
+        StandaloneRuntime runtime = (StandaloneRuntime)DirectoryHelper.createRuntime(runtimeInfo);
+
+        URL applicationJar = applicationFile.toURL();
+        ClassLoader applicationClassLoader =
+            new URLClassLoader(new URL[] {applicationJar}, runtime.getHostClassLoader());
+        String applicationScdl = System.getProperty("launcher.scdl", "META-INF/sca/default.scdl");
+        URL applicationScdlURL = applicationClassLoader.getResource(applicationScdl);
+        if (applicationScdlURL == null) {
+            System.err.println(getMessage("org.apache.tuscany.launcher.NoApplicationSCDL", applicationScdl));
+            System.exit(2);
+        }
+
+        // boot the runtime
+        runtime.initialize();
+
+        int status = runtime.deployAndRun(applicationScdlURL, applicationClassLoader, appArgs);
+        System.exit(status);
     }
 
     private static void usage() {

Modified: incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/resources/org/apache/tuscany/launcher/Main.properties
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/resources/org/apache/tuscany/launcher/Main.properties?view=diff&rev=513906&r1=513905&r2=513906
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/resources/org/apache/tuscany/launcher/Main.properties (original)
+++ incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/resources/org/apache/tuscany/launcher/Main.properties Fri Mar  2 11:38:00 2007
@@ -19,3 +19,5 @@
 #
 org.apache.tuscany.launcher.Usage=usage: java [jvm-options] -jar launcher.jar <componentJar> [apparg1, apparg2, ...]
 org.apache.tuscany.launcher.NoComponent=No component found with id "{0}"
+org.apache.tuscany.launcher.NoComposite=No composite archive found: {0}
+org.apache.tuscany.launcher.NoApplicationSCDL=No application SCDL found: {0}



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org