[jboss-svn-commits] JBL Code SVN: r20723 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 24 04:19:58 EDT 2008


Author: arhan
Date: 2008-06-24 04:19:58 -0400 (Tue, 24 Jun 2008)
New Revision: 20723

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/JettyLauncher.java
Log:
added Jetty launcher in order to start Guvnor as a usual application

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/JettyLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/JettyLauncher.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/JettyLauncher.java	2008-06-24 08:19:58 UTC (rev 20723)
@@ -0,0 +1,44 @@
+package org.drools.guvnor;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.lang.reflect.Method;
+
+/**
+ *
+ */
+public class JettyLauncher {
+
+    public void launch(String[] args) throws Exception {
+        File jettyConf;
+        if (args.length == 1) {
+            jettyConf = new File(args[0]);
+            if (!jettyConf.exists()) {
+                throw new FileNotFoundException("Jetty config file " + args[1] + " not found!");
+            }
+        } else {
+            jettyConf = new File("jetty.xml");
+            if (!jettyConf.exists()) {
+                throw new FileNotFoundException("jetty.xml must present in working directory!");
+            }
+        }
+
+        try {
+            Method mainMethod = getJettyServerClassName().getMethod("main", new Class[]{String[].class});
+            mainMethod.invoke(null, new Object[]{new String[]{jettyConf.getAbsolutePath()}});
+        }
+        catch (ClassNotFoundException e) {
+            System.err.println("You don't have Jetty in the classpath, cannot proceed!");
+        }
+    }
+
+    private Class getJettyServerClassName() throws ClassNotFoundException {
+        try {
+            return Class.forName("org.mortbay.start.Main");// jetty 5
+        }
+        catch (ClassNotFoundException e) {
+            return Class.forName("org.mortbay.jetty.Server");// jetty 4 and early versions
+        }
+    }
+
+}




More information about the jboss-svn-commits mailing list