[jboss-cvs] JBossAS SVN: r80627 - in trunk: bootstrap/src/main/org/jboss and 19 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 7 02:25:45 EST 2008


Author: ALRubinger
Date: 2008-11-07 02:25:45 -0500 (Fri, 07 Nov 2008)
New Revision: 80627

Added:
   trunk/bootstrap/src/main/org/jboss/Version.java
   trunk/bootstrap/src/main/org/jboss/system/
   trunk/bootstrap/src/main/org/jboss/system/server/
   trunk/bootstrap/src/main/org/jboss/system/server/Server.java
   trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java
   trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java
Removed:
   trunk/bootstrap/src/main/org/jboss/system/server/Server.java
   trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java
   trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java
   trunk/bootstrap/src/main/org/jboss/system/server/ServerLoader.java
   trunk/main/src/main/org/jboss/Version.java
   trunk/main/src/main/org/jboss/system/server/Server.java
   trunk/main/src/main/org/jboss/system/server/ServerConfig.java
   trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java
Modified:
   trunk/bootstrap/.classpath
   trunk/bootstrap/build.xml
   trunk/bootstrap/pom.xml
   trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java
   trunk/build/build.xml
   trunk/cluster/build.xml
   trunk/cluster/pom.xml
   trunk/connector/build.xml
   trunk/connector/pom.xml
   trunk/console/build.xml
   trunk/console/pom.xml
   trunk/embedded/pom.xml
   trunk/iiop/build.xml
   trunk/jbossmq/build.xml
   trunk/jbossmq/pom.xml
   trunk/main/.classpath
   trunk/main/build.xml
   trunk/main/pom.xml
   trunk/main/src/main/org/jboss/system/server/ServerLoader.java
   trunk/management/build.xml
   trunk/management/pom.xml
   trunk/server/build.xml
   trunk/system-jmx/build.xml
   trunk/system-jmx/pom.xml
   trunk/system/.classpath
   trunk/system/pom.xml
   trunk/tomcat/build.xml
   trunk/varia/build.xml
   trunk/varia/pom.xml
Log:
[JBAS-6169] Refactoring to reverse the dependency between "bootstrap" and "main".  Sources moved have retained their original package names for the time being.

Modified: trunk/bootstrap/.classpath
===================================================================
--- trunk/bootstrap/.classpath	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/bootstrap/.classpath	2008-11-07 07:25:45 UTC (rev 80627)
@@ -2,7 +2,6 @@
 <classpath>
 	<classpathentry kind="src" path="src/main"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry exported="true" kind="src" path="/main"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar" sourcepath="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jboss-reflect/lib/jboss-reflect.jar" sourcepath="/thirdparty/jboss/jboss-reflect/lib/jboss-reflect-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jboss-mdr/lib/jboss-mdr.jar" sourcepath="/thirdparty/jboss/jboss-mdr/lib/jboss-mdr.sources.jar"/>

Modified: trunk/bootstrap/build.xml
===================================================================
--- trunk/bootstrap/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/bootstrap/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -2,7 +2,6 @@
 <!DOCTYPE project [
    <!ENTITY buildmagic SYSTEM "../tools/etc/buildmagic/buildmagic.ent">
    <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
-   <!ENTITY modules SYSTEM "../tools/etc/buildmagic/modules.ent">
    <!ENTITY targets SYSTEM "../tools/etc/buildmagic/targets.ent">
 ]>
 
@@ -75,12 +74,9 @@
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="sun.jaxb.classpath"/>
     </path>
-	
-    &modules;
 
     <!-- The combined dependant module classpath -->
     <path id="dependentmodule.classpath">
-      <path refid="jboss.main.classpath"/>
     </path>
 
     <!-- ===== -->

Modified: trunk/bootstrap/pom.xml
===================================================================
--- trunk/bootstrap/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/bootstrap/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -23,10 +23,6 @@
   <dependencies>
     <!-- Compile (global dependencies) -->
     <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.jboss.man</groupId>
       <artifactId>jboss-managed</artifactId>
     </dependency>
@@ -44,4 +40,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Copied: trunk/bootstrap/src/main/org/jboss/Version.java (from rev 80565, trunk/main/src/main/org/jboss/Version.java)
===================================================================
--- trunk/bootstrap/src/main/org/jboss/Version.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/Version.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -0,0 +1,303 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * Provides access to JBoss version (and build) properties.
+ *
+ * @author <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ * @author Scott.Stark at jboss.org
+ * @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
+ * @version $Revision: 63730 $
+ */
+public final class Version
+{
+   public final static String VERSION_MAJOR = "version.major";
+   public final static String VERSION_MINOR = "version.minor";
+   public final static String VERSION_REVISION = "version.revision";
+   public final static String VERSION_TAG = "version.tag";
+   public final static String VERSION_NAME = "version.name";
+   public final static String VERSION_CVSTAG = "version.cvstag";
+
+   public final static String BUILD_NUMBER = "build.number";
+   public final static String BUILD_ID = "build.id";
+   public final static String BUILD_DATE = "build.day";
+   public final static String BUILD_JVM_VERSION = "java.vm.version";
+   public final static String BUILD_JVM_VENDOR = "java.vendor";
+   public final static String BUILD_OS = "os.name";
+   public final static String BUILD_OS_ARCH = "os.arch";
+   public final static String BUILD_OS_VERSION = "os.version";
+
+   /**
+    * The single instance.
+    */
+   private static Version instance = null;
+
+   /**
+    * The version properties.
+    */
+   private Properties props;
+
+   /**
+    * Do not allow direct public construction.
+    */
+   private Version()
+   {
+      props = loadProperties();
+   }
+
+   /**
+    * Get the single <tt>Version</tt> instance.
+    *
+    * @return The single <tt>Version</tt> instance.
+    */
+   public static Version getInstance()
+   {
+      if (instance == null)
+      {
+         instance = new Version();
+      }
+      return instance;
+   }
+
+   /**
+    * Returns an unmodifiable map of version properties.
+    *
+    * @return An unmodifiable map of version properties.
+    */
+   public Map<Object, Object> getProperties()
+   {
+      return Collections.unmodifiableMap(props);
+   }
+
+   /**
+    * Returns the value for the given property name.
+    *
+    * @param name - The name of the property.
+    * @return The property value or null if the property is not set.
+    */
+   public String getProperty(final String name)
+   {
+      return props.getProperty(name);
+   }
+
+   /**
+    * Returns the major number of the version.
+    *
+    * @return The major number of the version.
+    */
+   public int getMajor()
+   {
+      return getIntProperty(VERSION_MAJOR);
+   }
+
+   /**
+    * Returns the minor number of the version.
+    *
+    * @return The minor number of the version.
+    */
+   public int getMinor()
+   {
+      return getIntProperty(VERSION_MINOR);
+   }
+
+   /**
+    * Returns the revision number of the version.
+    *
+    * @return The revision number of the version.
+    */
+   public int getRevision()
+   {
+      return getIntProperty(VERSION_REVISION);
+   }
+
+   /**
+    * Returns the tag of the version.
+    *
+    * @return The tag of the version.
+    */
+   public String getTag()
+   {
+      return props.getProperty(VERSION_TAG);
+   }
+   /**
+    * Returns the CVS tag of the version.
+    *
+    * @return The CVS tag of the version.
+    */
+   public String getCvsTag()
+   {
+      return props.getProperty(VERSION_CVSTAG);
+   }
+
+   /**
+    * Returns the name number of the version.
+    *
+    * @return The name of the version.
+    */
+   public String getName()
+   {
+      return props.getProperty(VERSION_NAME);
+   }
+
+   /**
+    * Returns the build identifier for this version.
+    *
+    * @return The build identifier for this version.
+    */
+   public String getBuildID()
+   {
+      return props.getProperty(BUILD_ID);
+   }
+
+   /**
+    * Returns the build number for this version.
+    *
+    * @return The build number for this version.
+    */
+   public String getBuildNumber()
+   {
+      return props.getProperty(BUILD_NUMBER);
+   }
+
+   /**
+    * Returns the build date for this version.
+    *
+    * @return The build date for this version.
+    */
+   public String getBuildDate()
+   {
+      return props.getProperty(BUILD_DATE);
+   }
+
+   /** Returns the BUILD_JVM_VERSION (BUILD_JVM_VENDOR) which should look like:
+    * 1.4.2_05-b04 (Sun Microsystems Inc.)
+    * @return the jvm
+    */ 
+   public String getBuildJVM()
+   {
+      String vm = props.getProperty(BUILD_JVM_VERSION);
+      String vendor = props.getProperty(BUILD_JVM_VENDOR);
+      return vm + '(' + vendor + ')';
+   }
+
+   /** Returns the BUILD_OS (BUILD_OS_ARCH,BUILD_OS_VERSION) which should look
+    * like:
+    * Windows XP (x86,5.1)
+    * Linux (i386,2.4.21-4.ELsmp)
+    * @return the OS
+    */ 
+   public String getBuildOS()
+   {
+      String os = props.getProperty(BUILD_OS);
+      String arch = props.getProperty(BUILD_OS_ARCH);
+      String version = props.getProperty(BUILD_OS_VERSION);
+      return os + '(' + arch +',' + version + ')';
+   }
+
+   /**
+    * Returns the full version number, e.g. 5.0.0.GA
+    * 
+    * @return The full version number as string
+    */
+   public String getVersionNumber()
+   {
+      StringBuffer buff = new StringBuffer();
+      
+      buff.append(getMajor()).append(".");
+      buff.append(getMinor()).append(".");
+      buff.append(getRevision()).append(".");
+      buff.append(getTag());
+      
+      return buff.toString();      
+   }
+   
+   /**
+    * Returns the version information as a string.
+    *
+    * @return Basic information as a string.
+    */
+   public String toString()
+   {
+      StringBuffer buff = new StringBuffer();
+      
+      buff.append(getVersionNumber());
+      buff.append(" (build: SVNTag=");
+      buff.append(getCvsTag());
+      buff.append(" date=");
+      buff.append(getBuildID());
+      buff.append(")");
+      
+      return buff.toString();
+   }
+
+   /**
+    * Returns a property value as an int.
+    *
+    * @param name - The name of the property.
+    * @return The property value, or -1 if there was a problem converting
+    *         it to an int.
+    */
+   private int getIntProperty(final String name)
+   {
+      try
+      {
+         return Integer.valueOf(props.getProperty(name)).intValue();
+      }
+      catch (Exception e)
+      {
+         return -1;
+      }
+   }
+
+   /**
+    * Load the version properties from a resource.
+    */
+   private Properties loadProperties()
+   {
+      props = new Properties();
+
+      try
+      {
+         InputStream in =
+            Version.class.getResourceAsStream("/org/jboss/version.properties");
+         if( in != null )
+         {
+            props.load(in);
+            in.close();
+         }
+      }
+      catch (IOException e)
+      {
+         throw new Error("Missing version.properties");
+      }
+
+      return props;
+   }
+}

Modified: trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -24,6 +24,7 @@
 import java.io.File;
 import java.lang.reflect.Method;
 import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
@@ -38,7 +39,6 @@
 import org.jboss.bootstrap.spi.Bootstrap;
 import org.jboss.logging.Logger;
 import org.jboss.net.protocol.URLStreamHandlerFactory;
-import org.jboss.system.NoAnnotationURLClassLoader;
 import org.jboss.system.server.Server;
 import org.jboss.system.server.ServerConfig;
 import org.jboss.util.StopWatch;
@@ -210,19 +210,7 @@
       
       // log the boot classloader
       ClassLoader cl = getClass().getClassLoader();
-      log.debug("Server loaded through: " + cl.getClass().getName());      
-
-      // log the boot URLs
-      if (cl instanceof NoAnnotationURLClassLoader)
-      {
-         NoAnnotationURLClassLoader nacl = (NoAnnotationURLClassLoader)cl;
-         URL[] bootURLs = nacl.getAllURLs();
-         log.debug("Boot URLs:");
-         for (int i = 0; i < bootURLs.length; i++)
-         {
-            log.debug("  " + bootURLs[i]);
-         }
-      }
+      log.debug("Server loaded through: " + cl.getClass().getName());
       
       // Log the basic configuration elements
       log.info("Home Dir: " + config.getHomeDir());

Copied: trunk/bootstrap/src/main/org/jboss/system/server (from rev 80565, trunk/main/src/main/org/jboss/system/server)

Deleted: trunk/bootstrap/src/main/org/jboss/system/server/Server.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/Server.java	2008-11-05 21:57:05 UTC (rev 80565)
+++ trunk/bootstrap/src/main/org/jboss/system/server/Server.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,141 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.system.server;
-
-import java.util.Date;
-import java.util.Properties;
-
-/**
- * The interface of the server loaded by the ServerLoader
- * @see ServerLoader
- *
- * @author Jason Dillon
- * @author Scott.Stark at jboss.org
- * @version $Revision: 63730 $
- */
-public interface Server
-{
-   /** The JMX notification event type sent on end of server startup */
-   public final String START_NOTIFICATION_TYPE = "org.jboss.system.server.started";
-   /** The JMX notification event type sent on begin of the server shutdown */
-   public final String STOP_NOTIFICATION_TYPE = "org.jboss.system.server.stopped";
-
-   /** @return The server start date */
-   Date getStartDate();
-   
-   /** @return The server version */
-   String getVersion();
-
-   /** @return The server version code name */
-   String getVersionName();
-
-   /** @return The full server version number */
-   String getVersionNumber();
-
-   /** @return The date the server was build (compiled) */
-   String getBuildNumber();
-
-   /** @return The JVM used to build the server */
-   String getBuildJVM();
-
-   /** @return The Operating System used to build the server */
-   String getBuildOS();
-
-   /** @return The build id */
-   String getBuildID();
-
-   /** @return The date the server was build */
-   String getBuildDate();
-   
-   /** @return A flag indicating if shutdown has been called */
-   boolean isInShutdown();
-
-   // Operations ----------------------------------------------------
-   
-
-   /**
-    * Initialize the Server instance.
-    *
-    * @param props     The configuration properties for the server.
-    *
-    * @throws IllegalStateException    Already initialized.
-    * @throws Exception                Failed to initialize.
-    */
-   void init(Properties props) throws IllegalStateException, Exception;
-
-   /**
-    * Get the typed server configuration object which the
-    * server has been initalized to use.
-    *
-    * @return          Typed server configuration object.
-    *
-    * @throws IllegalStateException    Not initialized.
-    */
-   ServerConfig getConfig() throws IllegalStateException;
-
-   /**
-    * Start the Server instance.
-    *
-    * @throws IllegalStateException    Already started or not initialized.
-    * @throws Exception                Failed to start.
-    */
-   void start() throws IllegalStateException, Exception;
-
-   /**
-    * Check if the server is started.
-    *
-    * @return   True if the server is started, else false.
-    */
-   boolean isStarted();
-
-   /**
-    * Shutdown the Server instance and run shutdown hooks.  
-    *
-    * <p>If the exit on shutdown flag is true, then {@link #exit()} 
-    *    is called, else only the shutdown hook is run.
-    *
-    * @throws IllegalStateException    No started.
-    */
-   void shutdown() throws IllegalStateException;
-
-   /**
-    * Shutdown the server, the JVM and run shutdown hooks.
-    *
-    * @param exitcode   The exit code returned to the operating system.
-    */
-   void exit(int exitcode);
-   /**
-    * Shutdown the server, the JVM and run shutdown hooks. Exits with code 1.
-    */
-   void exit();
-
-   /** 
-    * Forcibly terminates the currently running Java virtual machine.
-    *
-    * @param exitcode   The exit code returned to the operating system.
-    */
-   void halt(int exitcode);
-   /**
-    * Forcibly terminates the currently running Java virtual machine. Exits with code 1.
-    */
-   void halt();
-}

Copied: trunk/bootstrap/src/main/org/jboss/system/server/Server.java (from rev 80626, trunk/main/src/main/org/jboss/system/server/Server.java)
===================================================================
--- trunk/bootstrap/src/main/org/jboss/system/server/Server.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/system/server/Server.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -0,0 +1,141 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.system.server;
+
+import java.util.Date;
+import java.util.Properties;
+
+/**
+ * The interface of the server loaded by the ServerLoader
+ * @see ServerLoader
+ *
+ * @author Jason Dillon
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 63730 $
+ */
+public interface Server
+{
+   /** The JMX notification event type sent on end of server startup */
+   public final String START_NOTIFICATION_TYPE = "org.jboss.system.server.started";
+   /** The JMX notification event type sent on begin of the server shutdown */
+   public final String STOP_NOTIFICATION_TYPE = "org.jboss.system.server.stopped";
+
+   /** @return The server start date */
+   Date getStartDate();
+   
+   /** @return The server version */
+   String getVersion();
+
+   /** @return The server version code name */
+   String getVersionName();
+
+   /** @return The full server version number */
+   String getVersionNumber();
+
+   /** @return The date the server was build (compiled) */
+   String getBuildNumber();
+
+   /** @return The JVM used to build the server */
+   String getBuildJVM();
+
+   /** @return The Operating System used to build the server */
+   String getBuildOS();
+
+   /** @return The build id */
+   String getBuildID();
+
+   /** @return The date the server was build */
+   String getBuildDate();
+   
+   /** @return A flag indicating if shutdown has been called */
+   boolean isInShutdown();
+
+   // Operations ----------------------------------------------------
+   
+
+   /**
+    * Initialize the Server instance.
+    *
+    * @param props     The configuration properties for the server.
+    *
+    * @throws IllegalStateException    Already initialized.
+    * @throws Exception                Failed to initialize.
+    */
+   void init(Properties props) throws IllegalStateException, Exception;
+
+   /**
+    * Get the typed server configuration object which the
+    * server has been initalized to use.
+    *
+    * @return          Typed server configuration object.
+    *
+    * @throws IllegalStateException    Not initialized.
+    */
+   ServerConfig getConfig() throws IllegalStateException;
+
+   /**
+    * Start the Server instance.
+    *
+    * @throws IllegalStateException    Already started or not initialized.
+    * @throws Exception                Failed to start.
+    */
+   void start() throws IllegalStateException, Exception;
+
+   /**
+    * Check if the server is started.
+    *
+    * @return   True if the server is started, else false.
+    */
+   boolean isStarted();
+
+   /**
+    * Shutdown the Server instance and run shutdown hooks.  
+    *
+    * <p>If the exit on shutdown flag is true, then {@link #exit()} 
+    *    is called, else only the shutdown hook is run.
+    *
+    * @throws IllegalStateException    No started.
+    */
+   void shutdown() throws IllegalStateException;
+
+   /**
+    * Shutdown the server, the JVM and run shutdown hooks.
+    *
+    * @param exitcode   The exit code returned to the operating system.
+    */
+   void exit(int exitcode);
+   /**
+    * Shutdown the server, the JVM and run shutdown hooks. Exits with code 1.
+    */
+   void exit();
+
+   /** 
+    * Forcibly terminates the currently running Java virtual machine.
+    *
+    * @param exitcode   The exit code returned to the operating system.
+    */
+   void halt(int exitcode);
+   /**
+    * Forcibly terminates the currently running Java virtual machine. Exits with code 1.
+    */
+   void halt();
+}

Deleted: trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerConfig.java	2008-11-05 21:57:05 UTC (rev 80565)
+++ trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,554 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.system.server;
-
-import java.io.File;
-import java.net.URL;
-
-/**
- * The interface of the basic <em>typed</em> JBoss server configuration.
- *
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- * @author Scott.Stark at jboss.org 
- * @author Dimitris.Andreadis at jboss.org
- * @version $Revision: 63730 $
- */
-public interface ServerConfig
-{
-   
-   /** The default partition name */
-   String DEFAULT_PARITION_NAME = "DefaultPartition";
-   
-   /** The partition name property */
-   String PARTITION_NAME_PROPERTY = "jboss.partition.name";
-
-   /** The udp address property */
-   String PARTITION_UDP_PROPERTY = "jboss.partition.udpGroup";
-   
-   /** The udp port property */
-   String PARTITION_UDP_PORT_PROPERTY = "jboss.jgroups.udp.mcast_port";
-   
-   /** Whether to load native libraries */
-   String NATIVE_LOAD_PROPERTY = "jboss.native.load";
-   
-   /** The location of native libraries property */
-   String NATIVE_DIR_PROPERTY = "jboss.native.dir";
-
-   /////////////////////////////////////////////////////////////////////////
-   //                      Bootstrap Specific Config                      //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying a comma seperated list of the basenames of
-    * to the boot libraries required load the core system.
-    *
-    * <p>These libraries will be loaded from <tt>LIBRARY_URL</tt>.
-    */
-   String BOOT_LIBRARY_LIST = "jboss.boot.library.list";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the class type of the server to create.
-    */
-   String SERVER_TYPE = "jboss.server.type";
-
-   /**
-    * The bootstrap url
-    *
-    * <p>If not set then the server will default to {@link #SERVER_CONFIG_URL}/bootstrap.xml.
-    */
-   String BOOTSTRAP_URL = "jboss.bootstrap.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the root deployment filename (relative to the server
-    * config URL that will be deployed to finalize the boot strap process.
-    *
-    * <p>If not set then the server will default to {@link #DEFAULT_ROOT_DEPLOYMENT_FILENAME}.
-    */
-   String ROOT_DEPLOYMENT_FILENAME = "jboss.server.root.deployment.filename";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                   Configuration Value Identifiers                   //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the home directory for JBoss.
-    */
-   String HOME_DIR = "jboss.home.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the home URL for JBoss.
-    *
-    * <p>If not set then the value of HOME_DIR will converted into a URL.
-    */
-   String HOME_URL = "jboss.home.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read library files
-    * from.
-    *
-    * <p>Defaults to <tt><em>HOME_URL</em>/lib</tt>/
-    */
-   String LIBRARY_URL = "jboss.lib.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read patch library files
-    * from.
-    *
-    * <p>If this value is a <tt>file</tt> URL, then all .zip and .jar files
-    * inside will be prepended to the classpath.  Otherwise the URL will be
-    * added to the classpath.  If not set then the no patch files will be
-    * loaded.
-    */
-   String PATCH_URL = "jboss.patch.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the name of the server which will be used to
-    * calculate the servers home directory and url.
-    *
-    * <p>Defaults to <tt>default</tt>.
-    */
-   String SERVER_NAME = "jboss.server.name";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the base directory for calculating server
-    * home directories.
-    *
-    * <p>Defaults to <tt><em>HOME_DIR</em>/server</tt>.
-    */
-   String SERVER_BASE_DIR = "jboss.server.base.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server home directory for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_BASE_DIR</em>/<em>SERVER_NAME</em></tt>.
-    */
-   String SERVER_HOME_DIR = "jboss.server.home.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server log directory for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/<em>log</em></tt>.
-    */
-   String SERVER_LOG_DIR = "jboss.server.log.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the directory which JBoss will use for
-    * temporary file storage.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/tmp</tt> .
-    */
-   String SERVER_TEMP_DIR = "jboss.server.temp.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the directory which JBoss will use for
-    * persistent data file storage.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/data</tt>.
-    */
-   String SERVER_DATA_DIR = "jboss.server.data.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the base URL for calculating server
-    * home URLs.
-    *
-    * <p>Defaults to <tt><em>HOME_URL</em>/server</tt>.
-    */
-   String SERVER_BASE_URL = "jboss.server.base.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server home URL for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/<em>SERVER_NAME</em></tt>.
-    */
-   String SERVER_HOME_URL = "jboss.server.home.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server configuration URL.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/conf</tt> .
-    */
-   String SERVER_CONFIG_URL = "jboss.server.config.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read server specific
-    * library files from.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/lib</tt>/
-    */
-   String SERVER_LIBRARY_URL = "jboss.server.lib.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying a library directory shared by the various
-    * server configurations.
-    * 
-    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/lib/</tt>.
-    */
-   String SHARED_LIBRARY_URL = "jboss.shared.lib.url";
-   
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the bind address for all jboss services
-    *
-    */
-   String SERVER_BIND_ADDRESS = "jboss.bind.address";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying whether or not the server should exit the
-    * JVM on shutdown.
-    *
-    * <p>If not set then the server will default to exiting on shutdown.
-    */
-   String EXIT_ON_SHUTDOWN = "jboss.server.exitonshutdown";
-
-   /**
-    * Constant that holds the name of the environment property for
-    * specifying whether or not the server should shutdown
-    * synchronously (true) or asynchronously (false).
-    *
-    * <p>If not set then the server will default to asynchronous shutdown.
-    */
-   String BLOCKING_SHUTDOWN = "jboss.server.blockingshutdown";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying whether or not to install the lifethread
-    *
-    * <p>If not set then the server will default to installing the lifethread.
-    */
-   String INSTALL_LIFE_THREAD = "jboss.server.lifethread";
-
-   /**
-    * Constant that holds the name of the environment property for
-    * specifying whether or not the server should log and ignore
-    * exceptions when setting the URLStreamHandlerFactory.
-    *
-    * <p>If not set then the server will default to asynchronous shutdown.
-    */
-   String REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = "jboss.server.requirejbossurlstreamhandlerfactory";
-   
-   /**
-    * Constant that holds the name of the environment property for specifying
-    * whether or not to use as the main jboss server the MBeanServer returned
-    * from ManagementFactory.getPlatformMBeanServer(), when running under jdk1.5+
-    * 
-    * <p>If not set then jboss will instantiate its own MBeanServer
-    */
-   String PLATFORM_MBEANSERVER = "jboss.platform.mbeanserver";   
-
-   /////////////////////////////////////////////////////////////////////////
-   //                            Path Suffixes                            //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * The suffix used when generating the default value for {@link #LIBRARY_URL}
-    * and {@link #SERVER_LIBRARY_URL}.
-    */
-   String LIBRARY_URL_SUFFIX = "lib/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_CONFIG_URL}.
-    */
-   String SERVER_CONFIG_URL_SUFFIX = "conf/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_BASE_DIR}.
-    */
-   String SERVER_BASE_DIR_SUFFIX = "server";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_BASE_URL}.
-    */
-   String SERVER_BASE_URL_SUFFIX = "server/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_DATA_DIR}.
-    */
-   String SERVER_DATA_DIR_SUFFIX = "data";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_LOG_DIR}.
-    */
-   String SERVER_LOG_DIR_SUFFIX = "log";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_TEMP_DIR}.
-    */
-   String SERVER_TEMP_DIR_SUFFIX = "tmp";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                               Defaults                              //
-   /////////////////////////////////////////////////////////////////////////
-
-   /** The default value for {@link #SERVER_NAME}. */
-   String DEFAULT_SERVER_NAME = "default";
-
-   /** The default value for {@link #EXIT_ON_SHUTDOWN}. */
-   boolean DEFAULT_EXIT_ON_SHUTDOWN = true;
-
-   /** The default value for {@link #BLOCKING_SHUTDOWN}. */
-   boolean DEFAULT_BLOCKING_SHUTDOWN = false;
-
-   /** The default value for {@link #INSTALL_LIFE_THREAD}. */
-   boolean DEFAULT_INSTALL_LIFE_THREAD = true;
-
-   /** The default value for {@link #REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY}. */
-   boolean DEFAULT_REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = true;
-   
-   /** The default value for {@link #PLATFORM_MBEANSERVER}. */
-   boolean DEFAULT_PLATFORM_MBEANSERVER = false;
-
-   /** The default value for {@link #ROOT_DEPLOYMENT_FILENAME}. */
-   String DEFAULT_ROOT_DEPLOYMENT_FILENAME = "jboss-service.xml";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                         Typed Access Methods                        //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Get the bootstrap url
-    *
-    * @return the bootstrap url
-    */
-   URL getBootstrapURL();
-
-   /**
-    * Get the local home directory which the server is running from.
-    *
-    * @return    The local server home directory.
-    */
-   File getHomeDir();
-
-   /**
-    * Get the home URL which the server is running from.
-    *
-    * @return    The home URL which the server is running from.
-    */
-   URL getHomeURL();
-
-   /**
-    * Get the library URL for the server.
-    *
-    * @return    The library URL for the server.
-    */
-   URL getLibraryURL();
-
-   /**
-    * Get the patch URL for the server.
-    *
-    * @return    The patch URL for the server.
-    */
-   URL getPatchURL();
-
-   /**
-    * Get the name of the server.
-    *
-    * @return    The name of the server.
-    */
-   String getServerName();
-
-   /**
-    * Get the base directory for calculating server home directories.
-    *
-    * @return    Base server home directory.
-    */
-   File getServerBaseDir();
-
-   /**
-    * Get the server home directory.
-    *
-    * @return    Server home directory.
-    */
-   File getServerHomeDir();
-
-   /**
-    * Get the directory where log files will be stored.
-    *
-    * @return    The directory where the server writes log files.
-    */
-   File getServerLogDir();
-
-   /**
-    * Get the directory where temporary files will be stored.
-    *
-    * @return    The directory where the server stores temporary files.
-    */
-   File getServerTempDir();
-
-   /**
-    * Get the directory where local data will be stored.
-    *
-    * @return    The directory where the server stores local data.
-    */
-   File getServerDataDir();
-
-   /**
-    * Get the base directory for calculating server home URLs.
-    *
-    * @return    Base server home URL.
-    */
-   URL getServerBaseURL();
-
-   /**
-    * Get the server home URL.
-    *
-    * @return    Server home URL.
-    */
-   URL getServerHomeURL();
-
-   /**
-    * Get the server library URL.
-    *
-    * @return    Server library URL.
-    */
-   URL getServerLibraryURL();
-
-   /**
-    * Get the server configuration URL.
-    *
-    * @return    Server configuration URL.
-    */
-   URL getServerConfigURL();
-
-   /**
-    * Get the shared library URL.
-    * 
-    * @return Shared library URL.
-    */
-   URL getSharedLibraryURL();
-   
-   /**
-    * Get the current value of the flag that indicates if we are
-    * using the platform MBeanServer as the main jboss server.
-    * Both the {@link ServerConfig#PLATFORM_MBEANSERVER}
-    * property must be set, and the jvm must be jdk1.5+
-    * 
-    * @return true if jboss runs on the jvm platfrom MBeanServer
-    */
-   boolean getPlatformMBeanServer();
-    
-   /**
-    * Enable or disable exiting the JVM when {@link Server#shutdown()} is called.
-    * If enabled, then shutdown calls {@link Server#exit()}.  If disabled, then
-    * only the shutdown hook will be run.
-    *
-    * @param flag    True to enable calling exit on shutdown.
-    */
-   void setExitOnShutdown(boolean flag);
-
-   /**
-    * Get the current value of the exit on shutdown flag.
-    *
-    * @return    The current value of the exit on shutdown flag.
-    */
-   boolean getExitOnShutdown();
-
-
-   /**
-    * Get the BlockingShutdown value.
-    * @return the BlockingShutdown value.
-    */
-   boolean getBlockingShutdown();
-
-   /**
-    * Set the BlockingShutdown value.
-    * @param blockingShutdown The new BlockingShutdown value.
-    */
-   void setBlockingShutdown(boolean blockingShutdown);
-
-   /**
-    * Whether to install the lifethread
-    *
-    * @return true to install the life thread
-    */
-   boolean isInstallLifeThread();
-
-   /**
-    * Get the RequireJBossURLStreamHandlerFactory value.
-    * @return the RequireJBossURLStreamHandlerFactory value.
-    */
-   boolean getRequireJBossURLStreamHandlerFactory();
-
-   /**
-    * Set the RequireJBossURLStreamHandlerFactory value.
-    * @param requireJBossURLStreamHandlerFactory The new RequireJBossURLStreamHandlerFactory value.
-    */
-   void setRequireJBossURLStreamHandlerFactory(boolean requireJBossURLStreamHandlerFactory);
-
-   /**
-    * Set the filename of the root deployable that will be used to finalize
-    * the bootstrap process.
-    *
-    * @param filename    The filename of the root deployable.
-    */
-   void setRootDeploymentFilename(String filename);
-
-   /**
-    * Get the filename of the root deployable that will be used to finalize
-    * the bootstrap process.
-    *
-    * @return    The filename of the root deployable.
-    */
-   String getRootDeploymentFilename();
-
-   /**
-    * Get the native dir for unpacking
-    * 
-    * @return the directory
-    */
-   File getServerNativeDir();
-
-   /**
-    * Get the temporary deployment dir for unpacking
-    * 
-    * @return the directory
-    */   
-   File getServerTempDeployDir();
-
-   /**
-    * Get the server Specification-Version
-    * 
-    * @return the spec version
-    */
-   String getSpecificationVersion();
-}

Copied: trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java (from rev 80626, trunk/main/src/main/org/jboss/system/server/ServerConfig.java)
===================================================================
--- trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/system/server/ServerConfig.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -0,0 +1,554 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.system.server;
+
+import java.io.File;
+import java.net.URL;
+
+/**
+ * The interface of the basic <em>typed</em> JBoss server configuration.
+ *
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ * @author Scott.Stark at jboss.org 
+ * @author Dimitris.Andreadis at jboss.org
+ * @version $Revision: 63730 $
+ */
+public interface ServerConfig
+{
+   
+   /** The default partition name */
+   String DEFAULT_PARITION_NAME = "DefaultPartition";
+   
+   /** The partition name property */
+   String PARTITION_NAME_PROPERTY = "jboss.partition.name";
+
+   /** The udp address property */
+   String PARTITION_UDP_PROPERTY = "jboss.partition.udpGroup";
+   
+   /** The udp port property */
+   String PARTITION_UDP_PORT_PROPERTY = "jboss.jgroups.udp.mcast_port";
+   
+   /** Whether to load native libraries */
+   String NATIVE_LOAD_PROPERTY = "jboss.native.load";
+   
+   /** The location of native libraries property */
+   String NATIVE_DIR_PROPERTY = "jboss.native.dir";
+
+   /////////////////////////////////////////////////////////////////////////
+   //                      Bootstrap Specific Config                      //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying a comma seperated list of the basenames of
+    * to the boot libraries required load the core system.
+    *
+    * <p>These libraries will be loaded from <tt>LIBRARY_URL</tt>.
+    */
+   String BOOT_LIBRARY_LIST = "jboss.boot.library.list";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the class type of the server to create.
+    */
+   String SERVER_TYPE = "jboss.server.type";
+
+   /**
+    * The bootstrap url
+    *
+    * <p>If not set then the server will default to {@link #SERVER_CONFIG_URL}/bootstrap.xml.
+    */
+   String BOOTSTRAP_URL = "jboss.bootstrap.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the root deployment filename (relative to the server
+    * config URL that will be deployed to finalize the boot strap process.
+    *
+    * <p>If not set then the server will default to {@link #DEFAULT_ROOT_DEPLOYMENT_FILENAME}.
+    */
+   String ROOT_DEPLOYMENT_FILENAME = "jboss.server.root.deployment.filename";
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                   Configuration Value Identifiers                   //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the home directory for JBoss.
+    */
+   String HOME_DIR = "jboss.home.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the home URL for JBoss.
+    *
+    * <p>If not set then the value of HOME_DIR will converted into a URL.
+    */
+   String HOME_URL = "jboss.home.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the URL where JBoss will read library files
+    * from.
+    *
+    * <p>Defaults to <tt><em>HOME_URL</em>/lib</tt>/
+    */
+   String LIBRARY_URL = "jboss.lib.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the URL where JBoss will read patch library files
+    * from.
+    *
+    * <p>If this value is a <tt>file</tt> URL, then all .zip and .jar files
+    * inside will be prepended to the classpath.  Otherwise the URL will be
+    * added to the classpath.  If not set then the no patch files will be
+    * loaded.
+    */
+   String PATCH_URL = "jboss.patch.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the name of the server which will be used to
+    * calculate the servers home directory and url.
+    *
+    * <p>Defaults to <tt>default</tt>.
+    */
+   String SERVER_NAME = "jboss.server.name";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the base directory for calculating server
+    * home directories.
+    *
+    * <p>Defaults to <tt><em>HOME_DIR</em>/server</tt>.
+    */
+   String SERVER_BASE_DIR = "jboss.server.base.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the server home directory for JBoss.
+    *
+    * <p>Defaults to <tt><em>SERVER_BASE_DIR</em>/<em>SERVER_NAME</em></tt>.
+    */
+   String SERVER_HOME_DIR = "jboss.server.home.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the server log directory for JBoss.
+    *
+    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/<em>log</em></tt>.
+    */
+   String SERVER_LOG_DIR = "jboss.server.log.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the directory which JBoss will use for
+    * temporary file storage.
+    *
+    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/tmp</tt> .
+    */
+   String SERVER_TEMP_DIR = "jboss.server.temp.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the directory which JBoss will use for
+    * persistent data file storage.
+    *
+    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/data</tt>.
+    */
+   String SERVER_DATA_DIR = "jboss.server.data.dir";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the base URL for calculating server
+    * home URLs.
+    *
+    * <p>Defaults to <tt><em>HOME_URL</em>/server</tt>.
+    */
+   String SERVER_BASE_URL = "jboss.server.base.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the server home URL for JBoss.
+    *
+    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/<em>SERVER_NAME</em></tt>.
+    */
+   String SERVER_HOME_URL = "jboss.server.home.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the server configuration URL.
+    *
+    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/conf</tt> .
+    */
+   String SERVER_CONFIG_URL = "jboss.server.config.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the URL where JBoss will read server specific
+    * library files from.
+    *
+    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/lib</tt>/
+    */
+   String SERVER_LIBRARY_URL = "jboss.server.lib.url";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying a library directory shared by the various
+    * server configurations.
+    * 
+    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/lib/</tt>.
+    */
+   String SHARED_LIBRARY_URL = "jboss.shared.lib.url";
+   
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying the bind address for all jboss services
+    *
+    */
+   String SERVER_BIND_ADDRESS = "jboss.bind.address";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying whether or not the server should exit the
+    * JVM on shutdown.
+    *
+    * <p>If not set then the server will default to exiting on shutdown.
+    */
+   String EXIT_ON_SHUTDOWN = "jboss.server.exitonshutdown";
+
+   /**
+    * Constant that holds the name of the environment property for
+    * specifying whether or not the server should shutdown
+    * synchronously (true) or asynchronously (false).
+    *
+    * <p>If not set then the server will default to asynchronous shutdown.
+    */
+   String BLOCKING_SHUTDOWN = "jboss.server.blockingshutdown";
+
+   /**
+    * Constant that holds the name of the environment property
+    * for specifying whether or not to install the lifethread
+    *
+    * <p>If not set then the server will default to installing the lifethread.
+    */
+   String INSTALL_LIFE_THREAD = "jboss.server.lifethread";
+
+   /**
+    * Constant that holds the name of the environment property for
+    * specifying whether or not the server should log and ignore
+    * exceptions when setting the URLStreamHandlerFactory.
+    *
+    * <p>If not set then the server will default to asynchronous shutdown.
+    */
+   String REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = "jboss.server.requirejbossurlstreamhandlerfactory";
+   
+   /**
+    * Constant that holds the name of the environment property for specifying
+    * whether or not to use as the main jboss server the MBeanServer returned
+    * from ManagementFactory.getPlatformMBeanServer(), when running under jdk1.5+
+    * 
+    * <p>If not set then jboss will instantiate its own MBeanServer
+    */
+   String PLATFORM_MBEANSERVER = "jboss.platform.mbeanserver";   
+
+   /////////////////////////////////////////////////////////////////////////
+   //                            Path Suffixes                            //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * The suffix used when generating the default value for {@link #LIBRARY_URL}
+    * and {@link #SERVER_LIBRARY_URL}.
+    */
+   String LIBRARY_URL_SUFFIX = "lib/";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_CONFIG_URL}.
+    */
+   String SERVER_CONFIG_URL_SUFFIX = "conf/";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_BASE_DIR}.
+    */
+   String SERVER_BASE_DIR_SUFFIX = "server";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_BASE_URL}.
+    */
+   String SERVER_BASE_URL_SUFFIX = "server/";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_DATA_DIR}.
+    */
+   String SERVER_DATA_DIR_SUFFIX = "data";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_LOG_DIR}.
+    */
+   String SERVER_LOG_DIR_SUFFIX = "log";
+
+   /**
+    * The suffix used when generating the default value for {@link #SERVER_TEMP_DIR}.
+    */
+   String SERVER_TEMP_DIR_SUFFIX = "tmp";
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                               Defaults                              //
+   /////////////////////////////////////////////////////////////////////////
+
+   /** The default value for {@link #SERVER_NAME}. */
+   String DEFAULT_SERVER_NAME = "default";
+
+   /** The default value for {@link #EXIT_ON_SHUTDOWN}. */
+   boolean DEFAULT_EXIT_ON_SHUTDOWN = true;
+
+   /** The default value for {@link #BLOCKING_SHUTDOWN}. */
+   boolean DEFAULT_BLOCKING_SHUTDOWN = false;
+
+   /** The default value for {@link #INSTALL_LIFE_THREAD}. */
+   boolean DEFAULT_INSTALL_LIFE_THREAD = true;
+
+   /** The default value for {@link #REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY}. */
+   boolean DEFAULT_REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = true;
+   
+   /** The default value for {@link #PLATFORM_MBEANSERVER}. */
+   boolean DEFAULT_PLATFORM_MBEANSERVER = false;
+
+   /** The default value for {@link #ROOT_DEPLOYMENT_FILENAME}. */
+   String DEFAULT_ROOT_DEPLOYMENT_FILENAME = "jboss-service.xml";
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                         Typed Access Methods                        //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Get the bootstrap url
+    *
+    * @return the bootstrap url
+    */
+   URL getBootstrapURL();
+
+   /**
+    * Get the local home directory which the server is running from.
+    *
+    * @return    The local server home directory.
+    */
+   File getHomeDir();
+
+   /**
+    * Get the home URL which the server is running from.
+    *
+    * @return    The home URL which the server is running from.
+    */
+   URL getHomeURL();
+
+   /**
+    * Get the library URL for the server.
+    *
+    * @return    The library URL for the server.
+    */
+   URL getLibraryURL();
+
+   /**
+    * Get the patch URL for the server.
+    *
+    * @return    The patch URL for the server.
+    */
+   URL getPatchURL();
+
+   /**
+    * Get the name of the server.
+    *
+    * @return    The name of the server.
+    */
+   String getServerName();
+
+   /**
+    * Get the base directory for calculating server home directories.
+    *
+    * @return    Base server home directory.
+    */
+   File getServerBaseDir();
+
+   /**
+    * Get the server home directory.
+    *
+    * @return    Server home directory.
+    */
+   File getServerHomeDir();
+
+   /**
+    * Get the directory where log files will be stored.
+    *
+    * @return    The directory where the server writes log files.
+    */
+   File getServerLogDir();
+
+   /**
+    * Get the directory where temporary files will be stored.
+    *
+    * @return    The directory where the server stores temporary files.
+    */
+   File getServerTempDir();
+
+   /**
+    * Get the directory where local data will be stored.
+    *
+    * @return    The directory where the server stores local data.
+    */
+   File getServerDataDir();
+
+   /**
+    * Get the base directory for calculating server home URLs.
+    *
+    * @return    Base server home URL.
+    */
+   URL getServerBaseURL();
+
+   /**
+    * Get the server home URL.
+    *
+    * @return    Server home URL.
+    */
+   URL getServerHomeURL();
+
+   /**
+    * Get the server library URL.
+    *
+    * @return    Server library URL.
+    */
+   URL getServerLibraryURL();
+
+   /**
+    * Get the server configuration URL.
+    *
+    * @return    Server configuration URL.
+    */
+   URL getServerConfigURL();
+
+   /**
+    * Get the shared library URL.
+    * 
+    * @return Shared library URL.
+    */
+   URL getSharedLibraryURL();
+   
+   /**
+    * Get the current value of the flag that indicates if we are
+    * using the platform MBeanServer as the main jboss server.
+    * Both the {@link ServerConfig#PLATFORM_MBEANSERVER}
+    * property must be set, and the jvm must be jdk1.5+
+    * 
+    * @return true if jboss runs on the jvm platfrom MBeanServer
+    */
+   boolean getPlatformMBeanServer();
+    
+   /**
+    * Enable or disable exiting the JVM when {@link Server#shutdown()} is called.
+    * If enabled, then shutdown calls {@link Server#exit()}.  If disabled, then
+    * only the shutdown hook will be run.
+    *
+    * @param flag    True to enable calling exit on shutdown.
+    */
+   void setExitOnShutdown(boolean flag);
+
+   /**
+    * Get the current value of the exit on shutdown flag.
+    *
+    * @return    The current value of the exit on shutdown flag.
+    */
+   boolean getExitOnShutdown();
+
+
+   /**
+    * Get the BlockingShutdown value.
+    * @return the BlockingShutdown value.
+    */
+   boolean getBlockingShutdown();
+
+   /**
+    * Set the BlockingShutdown value.
+    * @param blockingShutdown The new BlockingShutdown value.
+    */
+   void setBlockingShutdown(boolean blockingShutdown);
+
+   /**
+    * Whether to install the lifethread
+    *
+    * @return true to install the life thread
+    */
+   boolean isInstallLifeThread();
+
+   /**
+    * Get the RequireJBossURLStreamHandlerFactory value.
+    * @return the RequireJBossURLStreamHandlerFactory value.
+    */
+   boolean getRequireJBossURLStreamHandlerFactory();
+
+   /**
+    * Set the RequireJBossURLStreamHandlerFactory value.
+    * @param requireJBossURLStreamHandlerFactory The new RequireJBossURLStreamHandlerFactory value.
+    */
+   void setRequireJBossURLStreamHandlerFactory(boolean requireJBossURLStreamHandlerFactory);
+
+   /**
+    * Set the filename of the root deployable that will be used to finalize
+    * the bootstrap process.
+    *
+    * @param filename    The filename of the root deployable.
+    */
+   void setRootDeploymentFilename(String filename);
+
+   /**
+    * Get the filename of the root deployable that will be used to finalize
+    * the bootstrap process.
+    *
+    * @return    The filename of the root deployable.
+    */
+   String getRootDeploymentFilename();
+
+   /**
+    * Get the native dir for unpacking
+    * 
+    * @return the directory
+    */
+   File getServerNativeDir();
+
+   /**
+    * Get the temporary deployment dir for unpacking
+    * 
+    * @return the directory
+    */   
+   File getServerTempDeployDir();
+
+   /**
+    * Get the server Specification-Version
+    * 
+    * @return the spec version
+    */
+   String getSpecificationVersion();
+}

Deleted: trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java	2008-11-05 21:57:05 UTC (rev 80565)
+++ trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,146 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.system.server;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
- * Utilities for accessing server configuration
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version <tt>$Revision: 57108 $</tt>
- */
-public class ServerConfigUtil
-{
-   private static final String ANY = "0.0.0.0";
-   
-   /**
-    * Retrieve the default bind address for the server
-    * 
-    * @return the default bind adress
-    */
-   public static String getDefaultBindAddress()
-   {
-      return System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
-   }
-
-   /**
-    * Retrieve the default bind address, but only if it is specific
-    * 
-    * @return the specific bind address
-    */
-   public static String getSpecificBindAddress()
-   {
-      String address = System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
-      if (address == null || address.equals(ANY))
-         return null;
-      return address;
-   }
-
-   /**
-    * Fix the remote inet address.
-    * 
-    * If we pass the address to the client we don't want to
-    * tell it to connect to 0.0.0.0, use our host name instead
-    * @param address the passed address
-    * @return the fixed address
-    */
-   public static InetAddress fixRemoteAddress(InetAddress address)
-   {
-      try
-      {
-         if (address == null || InetAddress.getByName(ANY).equals(address))
-            return InetAddress.getLocalHost();
-      }
-      catch (UnknownHostException ignored)
-      {
-      }
-      return address;
-   }
-
-   /**
-    * Fix the remote address.
-    * 
-    * If we pass the address to the client we don't want to
-    * tell it to connect to 0.0.0.0, use our host name instead
-    * @param address the passed address
-    * @return the fixed address
-    */
-   public static String fixRemoteAddress(String address)
-   {
-      try
-      {
-         if (address == null || ANY.equals(address))
-            return InetAddress.getLocalHost().getHostName();
-      }
-      catch (UnknownHostException ignored)
-      {
-      }
-      return address;
-   }
-
-   /**
-    * Get the default partition name
-    * 
-    * @return the default partition name
-    */
-   public static String getDefaultPartitionName()
-   {
-      return System.getProperty(ServerConfig.PARTITION_NAME_PROPERTY, ServerConfig.DEFAULT_PARITION_NAME);
-   }
-
-   /**
-    * Whether to load native directories
-    * 
-    * @return true when loading native directories
-    */
-   public static boolean isLoadNative()
-   {
-      return Boolean.getBoolean(ServerConfig.NATIVE_LOAD_PROPERTY);
-   }
-
-   /**
-    * Utility to get a shortened url relative to the server home if possible
-    * 
-    * @param longUrl
-    * @return the short url
-    */
-   public static String shortUrlFromServerHome(String longUrl)
-   {
-      String serverHomeUrl = System.getProperty(org.jboss.system.server.ServerConfig.SERVER_HOME_URL);
-
-      if (longUrl == null || serverHomeUrl == null)
-          return longUrl;
-
-      if (longUrl.startsWith(serverHomeUrl))
-        return ".../" + longUrl.substring(serverHomeUrl.length());
-      else
-      {
-         String jarServerHomeUrl = "jar:" + serverHomeUrl;
-         if (longUrl.startsWith(jarServerHomeUrl))
-            return ".../" + longUrl.substring(jarServerHomeUrl.length());
-         else
-            return longUrl;
-      }
-   }
-}

Copied: trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java (from rev 80626, trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java)
===================================================================
--- trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/system/server/ServerConfigUtil.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -0,0 +1,146 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.system.server;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * Utilities for accessing server configuration
+ *
+ * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @version <tt>$Revision: 57108 $</tt>
+ */
+public class ServerConfigUtil
+{
+   private static final String ANY = "0.0.0.0";
+   
+   /**
+    * Retrieve the default bind address for the server
+    * 
+    * @return the default bind adress
+    */
+   public static String getDefaultBindAddress()
+   {
+      return System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
+   }
+
+   /**
+    * Retrieve the default bind address, but only if it is specific
+    * 
+    * @return the specific bind address
+    */
+   public static String getSpecificBindAddress()
+   {
+      String address = System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
+      if (address == null || address.equals(ANY))
+         return null;
+      return address;
+   }
+
+   /**
+    * Fix the remote inet address.
+    * 
+    * If we pass the address to the client we don't want to
+    * tell it to connect to 0.0.0.0, use our host name instead
+    * @param address the passed address
+    * @return the fixed address
+    */
+   public static InetAddress fixRemoteAddress(InetAddress address)
+   {
+      try
+      {
+         if (address == null || InetAddress.getByName(ANY).equals(address))
+            return InetAddress.getLocalHost();
+      }
+      catch (UnknownHostException ignored)
+      {
+      }
+      return address;
+   }
+
+   /**
+    * Fix the remote address.
+    * 
+    * If we pass the address to the client we don't want to
+    * tell it to connect to 0.0.0.0, use our host name instead
+    * @param address the passed address
+    * @return the fixed address
+    */
+   public static String fixRemoteAddress(String address)
+   {
+      try
+      {
+         if (address == null || ANY.equals(address))
+            return InetAddress.getLocalHost().getHostName();
+      }
+      catch (UnknownHostException ignored)
+      {
+      }
+      return address;
+   }
+
+   /**
+    * Get the default partition name
+    * 
+    * @return the default partition name
+    */
+   public static String getDefaultPartitionName()
+   {
+      return System.getProperty(ServerConfig.PARTITION_NAME_PROPERTY, ServerConfig.DEFAULT_PARITION_NAME);
+   }
+
+   /**
+    * Whether to load native directories
+    * 
+    * @return true when loading native directories
+    */
+   public static boolean isLoadNative()
+   {
+      return Boolean.getBoolean(ServerConfig.NATIVE_LOAD_PROPERTY);
+   }
+
+   /**
+    * Utility to get a shortened url relative to the server home if possible
+    * 
+    * @param longUrl
+    * @return the short url
+    */
+   public static String shortUrlFromServerHome(String longUrl)
+   {
+      String serverHomeUrl = System.getProperty(org.jboss.system.server.ServerConfig.SERVER_HOME_URL);
+
+      if (longUrl == null || serverHomeUrl == null)
+          return longUrl;
+
+      if (longUrl.startsWith(serverHomeUrl))
+        return ".../" + longUrl.substring(serverHomeUrl.length());
+      else
+      {
+         String jarServerHomeUrl = "jar:" + serverHomeUrl;
+         if (longUrl.startsWith(jarServerHomeUrl))
+            return ".../" + longUrl.substring(jarServerHomeUrl.length());
+         else
+            return longUrl;
+      }
+   }
+}

Deleted: trunk/bootstrap/src/main/org/jboss/system/server/ServerLoader.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerLoader.java	2008-11-05 21:57:05 UTC (rev 80565)
+++ trunk/bootstrap/src/main/org/jboss/system/server/ServerLoader.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,345 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.system.server;
-
-// $Id: ServerLoader.java 64043 2007-07-13 16:59:19Z adrian at jboss.org $
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.jboss.system.NoAnnotationURLClassLoader;
-
-/**
- * A helper class to load a JBoss server instance.
- *
- * <p>Basic usage is something like this:
- * <pre>
- *    // setup the basic server config properties
- *    Properties props = new Properties(System.getProperties());
- *    props.put(ServerConfig.SERVER_LIBRARY_URL, "http://myserver.com/myjboss/lib/");
- *    // set some more properties
- *
- *    // create a new loader to do the dirty work
- *    ServerLoader loader = new ServerLoader(props);
- *
- *    // add the jaxp & jmx library to use
- *    loader.addLibrary("crimson.jar");
- *    loader.addLibrary("jboss-jmx-core.jar");
- *
- *    // load and initialize the server instance
- *    ClassLoader parent = Thread.currentThread().getContextClassLoader();
- *    Server server = loader.load(parent);
- *    server.init(props);
- *
- *    // start up the server
- *    server.start();
- *
- *    // go make some coffee, drink a beer or play GTA3
- *    // ...
- *
- *    // shutdown and go to sleep
- *    server.shutdown();
- * </pre>
- * @version <tt>$Revision: 64043 $</tt>
- * @author <a href="mailto:jason at planet57.com">Jason Dillon</a>
- * @author <a href="mailto:adrian.brock at happeningtimes.com">Adrian Brock</a>
- * @author Scott.Stark at jboss.org
- * @author Thomas.Diesler at jboss.org
- */
-public class ServerLoader
-{
-   /**
-    * The default list of boot libraries.  Does not include
-    * the JAXP or JMX impl, users of this class should add the
-    * proper libraries.
-    * TODO: use vfs to list the root directory
-    */
-   public static final String[] DEFAULT_BOOT_LIBRARY_LIST = {
-      // Logging
-      "log4j-boot.jar",
-      "jboss-logging-spi.jar",
-      "jboss-logging-log4j.jar",
-      "jboss-logging-jdk.jar",
-      // Common jars      
-      "jboss-common-core.jar",
-      "jboss-xml-binding.jar",
-      "jaxb-api.jar",
-      // Bootstrap
-      "jboss-bootstrap.jar",
-      // Microcontainer
-      "javassist.jar",
-      "jboss-reflect.jar",
-      "jboss-mdr.jar",
-      "jboss-dependency.jar",
-      "jboss-kernel.jar",
-      "jboss-metatype.jar",
-      "jboss-managed.jar",
-      // Fixme ClassLoading
-      "jboss-vfs.jar",
-      "jboss-classloading-spi.jar",
-      "jboss-classloader.jar",
-      "jboss-classloading.jar",
-      "jboss-classloading-vfs.jar",
-      // Fixme aop
-      "jboss-aop.jar",
-      "jboss-aop-mc-int.jar",
-      "trove.jar",
-   };
-
-   /** The default server type. */
-   public static final String DEFAULT_SERVER_TYPE = "org.jboss.bootstrap.microcontainer.ServerImpl";
-
-   /**
-    * Configuration properties.
-    */
-   protected Properties props;
-
-   /**
-    * The URL where libraries are read from.
-    */
-   protected URL libraryURL;
-
-   /**
-    * A list of extra URLs to add to the classpath when loading
-    * the server.
-    */
-   protected List<URL> extraClasspath = new LinkedList<URL>();
-
-   /**
-    * Construct a <tt>ServerLoader</tt>.
-    *
-    * @param props    Configuration properties.
-    *
-    * @throws Exception    Invalid configuration
-    */
-   public ServerLoader(final Properties props) throws Exception
-   {
-      if (props == null)
-         throw new IllegalArgumentException("props is null");
-
-      this.props = props;
-
-      // must have HOME_URL, or we can't continue
-      URL homeURL = getURL(ServerConfig.HOME_URL);
-      if (homeURL == null)
-      {
-         throw new Exception("Missing configuration value for: "
-            + ServerConfig.HOME_URL);
-      }
-
-      libraryURL = getURL(ServerConfig.LIBRARY_URL);
-      if (libraryURL == null)
-      {
-         // need library url to make boot urls list
-         libraryURL = new URL(homeURL, ServerConfig.LIBRARY_URL_SUFFIX);
-      }
-
-      // If the home URL begins with http add the webav and httpclient jars
-      if( homeURL.getProtocol().startsWith("http") == true )
-      {
-         this.addLibrary("webdavlib.jar");
-         this.addLibrary("commons-httpclient.jar");
-         this.addLibrary("commons-logging.jar");
-      }
-   }
-
-   /**
-    * Add an extra library to the end of list of libraries
-    * which will be loaded from the library URL when loading
-    * the Server class.
-    *
-    * @param filename   A filename (no directory parts)
-    *
-    * @throws MalformedURLException   Could not generate URL from library URL + filename
-    */
-   public void addLibrary(final String filename) throws MalformedURLException
-   {
-      if (filename == null)
-         throw new IllegalArgumentException("filename is null");
-
-      URL jarURL = new URL(libraryURL, filename);
-      extraClasspath.add(jarURL);
-   }
-
-   /**
-    * Add a list of comma seperated library file names.
-    *
-    * @param filenames   A list of comma seperated filenames (with no directory parts)
-    *
-    * @throws MalformedURLException   Could not generate URL from library URL + filename
-    */
-   public void addLibraries(final String filenames) throws MalformedURLException
-   {
-      if (filenames == null)
-         throw new IllegalArgumentException("filenames is null");
-
-      StringTokenizer stok = new StringTokenizer(filenames, ",");
-      while (stok.hasMoreElements())
-      {
-         addLibrary(stok.nextToken().trim());
-      }
-   }
-
-   /**
-    * Add an extra URL to the classpath used to load the server.
-    *
-    * @param url    A URL to add to the classpath.
-    */
-   public void addURL(final URL url)
-   {
-      if (url == null)
-         throw new IllegalArgumentException("url is null");
-
-      extraClasspath.add(url);
-   }
-
-   /**
-    * Add the jars from the lib/endorsed dir if it exists.
-    * Note, the path must exist locally for this to work.
-    * @throws MalformedURLException  Could not generate URL from library URL + filename
-    */
-   public void addEndorsedJars() throws MalformedURLException
-   {
-      File endorsedDir = new File(libraryURL.getPath() + "/endorsed");
-      if (endorsedDir.exists())
-      {
-         String [] list = endorsedDir.list();
-         for (int i = 0; list != null && i < list.length; i++)
-         {
-            String jarname = list[i];
-            addLibrary("endorsed/" + jarname);
-         }
-      }
-   }
-
-   /**
-    * Get a URL from configuration or system properties.
-    * 
-    * @param name the system property
-    * @return the url
-    * @throws MalformedURLException for a bad url
-    */
-   protected URL getURL(final String name) throws MalformedURLException
-   {
-      String value = props.getProperty(name, null);
-      if (value != null)
-      {
-         if (!value.endsWith("/")) value += "/";
-         return new URL(value);
-      }
-      return null;
-   }
-
-   /**
-    * Returns an array of URLs which will be used to load the
-    * core system and construct a new Server object instance.
-    * @return the urls
-    * @throws MalformedURLException for a bad url
-    */
-   protected URL[] getBootClasspath() throws MalformedURLException
-   {
-      List<URL> list = new LinkedList<URL>();
-
-      // prepend users classpath to allow for overrides
-      list.addAll(extraClasspath);
-
-      String value = props.getProperty(ServerConfig.BOOT_LIBRARY_LIST);
-      if( value != null )
-      {
-         StringTokenizer stok = new StringTokenizer(value, ",");
-         while (stok.hasMoreElements())
-         {
-            URL url = new URL(libraryURL, stok.nextToken().trim());
-            list.add(url);
-         }
-      }
-      else
-      {
-         for(String jar : DEFAULT_BOOT_LIBRARY_LIST)
-         {
-            URL url = new URL(libraryURL, jar);
-            list.add(url);            
-         }
-      }
-
-      return list.toArray(new URL[list.size()]);
-   }
-
-   /**
-    * Load a {@link Server} instance.
-    *
-    * @parent    The parent of any class loader created during boot.
-    * @return    An uninitialized (and unstarted) Server instance.
-    *
-    * @param parent the parent classloader
-    * @throws Exception   Failed to load or create Server instance.
-    */
-   public Server load(final ClassLoader parent) throws Exception
-   {
-      Server server;
-      ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
-
-      try
-      {
-         // get the boot lib list
-         URL[] urls = getBootClasspath();
-         URLClassLoader classLoader = new NoAnnotationURLClassLoader(urls, parent);
-         Thread.currentThread().setContextClassLoader(classLoader);
-
-         // construct a new Server instance
-         String typename = props.getProperty(ServerConfig.SERVER_TYPE, DEFAULT_SERVER_TYPE);
-         server = createServer(typename, classLoader);
-      }
-      finally
-      {
-         Thread.currentThread().setContextClassLoader(oldCL);
-      }
-
-      // thats all folks, have fun
-      return server;
-   }
-
-   /**
-    * Construct a new instance of Server, loading all required classes from
-    * the given ClassLoader.
-    * @param typename - the fqcn of the Server implementation
-    * @param loader - the ClassLoader to load typename with
-    * @return the server
-    * @throws Exception for any error 
-    */
-   protected Server createServer(final String typename, final ClassLoader loader)
-      throws Exception
-   {
-      // load the class first
-      Class<?> type = loader.loadClass(typename);
-      
-      // and then create a new instance
-      Server server = (Server) type.newInstance();
-      return server;
-   }
-}

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/build/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -122,7 +122,7 @@
       </group>
 
       <group name="core">
-        <include modules="main, bootstrap, j2se, mbeans, jmx, system, system-jmx"/>
+        <include modules="bootstrap, main, j2se, mbeans, jmx, system, system-jmx"/>
       </group>
 
       <group name="basic">

Modified: trunk/cluster/build.xml
===================================================================
--- trunk/cluster/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/cluster/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -102,7 +102,7 @@
     &modules;
     <!-- The combined dependent module classpath -->
     <path id="dependentmodule.classpath">
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.jnpserver.classpath"/>

Modified: trunk/cluster/pom.xml
===================================================================
--- trunk/cluster/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/cluster/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -113,7 +113,7 @@
     
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     
     <dependency>
@@ -133,4 +133,4 @@
     
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/connector/build.xml
===================================================================
--- trunk/connector/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/connector/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -111,7 +111,7 @@
       <path refid="jboss.jboss.security.spi.classpath"/>
       <path refid="jboss.security.int.classpath"/>
       <path refid="jboss.server.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.j2se.classpath"/>

Modified: trunk/connector/pom.xml
===================================================================
--- trunk/connector/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/connector/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -124,7 +124,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss.man</groupId>

Modified: trunk/console/build.xml
===================================================================
--- trunk/console/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/console/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -99,7 +99,7 @@
       <path refid="jboss.jbosssx.classpath"/>
       <path refid="jboss.server.classpath"/>
       <path refid="jboss.mq.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.varia.classpath"/>

Modified: trunk/console/pom.xml
===================================================================
--- trunk/console/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/console/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -107,7 +107,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
@@ -123,4 +123,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/embedded/pom.xml
===================================================================
--- trunk/embedded/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/embedded/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -174,7 +174,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss</groupId>
@@ -182,4 +182,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/iiop/build.xml
===================================================================
--- trunk/iiop/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/iiop/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -97,7 +97,8 @@
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="jboss.common.logging.log4j.classpath"/>
       <path refid="jboss.common.logging.jdk.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
+    	<path refid="jboss.main.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.jnpserver.classpath"/>

Modified: trunk/jbossmq/build.xml
===================================================================
--- trunk/jbossmq/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/jbossmq/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -83,7 +83,7 @@
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="jboss.common.logging.log4j.classpath"/>
       <path refid="jboss.common.logging.jdk.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.jnpserver.classpath"/>

Modified: trunk/jbossmq/pom.xml
===================================================================
--- trunk/jbossmq/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/jbossmq/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -86,7 +86,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>apache-xerces</groupId>
@@ -123,4 +123,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/main/.classpath
===================================================================
--- trunk/main/.classpath	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/.classpath	2008-11-07 07:25:45 UTC (rev 80627)
@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src/main"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/gnu-getopt/lib/getopt.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/bootstrap"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>
 </classpath>

Modified: trunk/main/build.xml
===================================================================
--- trunk/main/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -2,6 +2,7 @@
 <!DOCTYPE project [
    <!ENTITY buildmagic SYSTEM "../tools/etc/buildmagic/buildmagic.ent">
    <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+   <!ENTITY modules SYSTEM "../tools/etc/buildmagic/modules.ent">
    <!ENTITY targets SYSTEM "../tools/etc/buildmagic/targets.ent">
 ]>
 
@@ -72,9 +73,12 @@
 	<property name="myclasspath" refid="gnu.getopt.classpath"/>
 	<!-- Emit the property to the ant console -->
 	<echo message="Classpath = ${myclasspath}"/>
+  	
+  	&modules;
 
     <!-- The combined dependant module classpath -->
     <path id="dependentmodule.classpath">
+    	<path refid="jboss.bootstrap.classpath"/>
     </path>
 
     <!-- ===== -->
@@ -148,6 +152,15 @@
     <jar jarfile="${build.lib}/${jar.client.name}" manifest="${build.etc}/default.mf">
        <fileset dir="${build.classes}" includes="${jar.client.includes}"/>
     </jar>
+  	
+  	<!-- Inflate out contents of the Bootstrap JAR into a Temp Directory -->
+  	<property name="inflated.dir" value="tmp-bootstrap" />
+  	<mkdir dir="${inflated.dir}"/>
+  	<unjar dest="${inflated.dir}">
+  	  <fileset dir="../bootstrap/output/lib">
+  	    <include name="jboss-bootstrap.jar"/>
+  	  </fileset>
+    </unjar>
 
     <!-- Build run.jar -->
     <jar jarfile="${build.lib}/run.jar" manifest="${build.etc}/run.mf">
@@ -159,12 +172,21 @@
         <include name="jdklogger.xml"/>
         <include name="org/jboss/version.properties"/>
       </fileset>
+    	<!-- Add some classes from Bootstrap -->
+      <fileset dir="${inflated.dir}">
+         <include name="org/jboss/system/server/Server.class"/>
+      	 <include name="org/jboss/system/server/ServerConfig.class"/>
+      	 <include name="org/jboss/system/server/ServerConfigUtil.class"/>
+      </fileset>
 
       <!-- Include getopt -->
       <zipfileset src="${gnu.getopt.lib}/getopt.jar">
         <include name="**"/>
       </zipfileset>
     </jar>
+  	
+  	<!-- Remove the inflated contents of Bootstrap -->
+  	<delete dir="${inflated.dir}" />
 
   </target>
 

Modified: trunk/main/pom.xml
===================================================================
--- trunk/main/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -41,6 +41,10 @@
   <dependencies>
     <!-- Compile (global dependencies) -->
     <dependency>
+      <groupId>org.jboss.jbossas</groupId>
+      <artifactId>jboss-as-bootstrap</artifactId>
+    </dependency>
+    <dependency>
       <groupId>urbanophile</groupId>
       <artifactId>java-getopt</artifactId>
     </dependency>
@@ -51,4 +55,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Deleted: trunk/main/src/main/org/jboss/Version.java
===================================================================
--- trunk/main/src/main/org/jboss/Version.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/src/main/org/jboss/Version.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,303 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * Provides access to JBoss version (and build) properties.
- *
- * @author <a href="mailto:jason at planet57.com">Jason Dillon</a>
- * @author Scott.Stark at jboss.org
- * @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
- * @version $Revision: 63730 $
- */
-public final class Version
-{
-   public final static String VERSION_MAJOR = "version.major";
-   public final static String VERSION_MINOR = "version.minor";
-   public final static String VERSION_REVISION = "version.revision";
-   public final static String VERSION_TAG = "version.tag";
-   public final static String VERSION_NAME = "version.name";
-   public final static String VERSION_CVSTAG = "version.cvstag";
-
-   public final static String BUILD_NUMBER = "build.number";
-   public final static String BUILD_ID = "build.id";
-   public final static String BUILD_DATE = "build.day";
-   public final static String BUILD_JVM_VERSION = "java.vm.version";
-   public final static String BUILD_JVM_VENDOR = "java.vendor";
-   public final static String BUILD_OS = "os.name";
-   public final static String BUILD_OS_ARCH = "os.arch";
-   public final static String BUILD_OS_VERSION = "os.version";
-
-   /**
-    * The single instance.
-    */
-   private static Version instance = null;
-
-   /**
-    * The version properties.
-    */
-   private Properties props;
-
-   /**
-    * Do not allow direct public construction.
-    */
-   private Version()
-   {
-      props = loadProperties();
-   }
-
-   /**
-    * Get the single <tt>Version</tt> instance.
-    *
-    * @return The single <tt>Version</tt> instance.
-    */
-   public static Version getInstance()
-   {
-      if (instance == null)
-      {
-         instance = new Version();
-      }
-      return instance;
-   }
-
-   /**
-    * Returns an unmodifiable map of version properties.
-    *
-    * @return An unmodifiable map of version properties.
-    */
-   public Map<Object, Object> getProperties()
-   {
-      return Collections.unmodifiableMap(props);
-   }
-
-   /**
-    * Returns the value for the given property name.
-    *
-    * @param name - The name of the property.
-    * @return The property value or null if the property is not set.
-    */
-   public String getProperty(final String name)
-   {
-      return props.getProperty(name);
-   }
-
-   /**
-    * Returns the major number of the version.
-    *
-    * @return The major number of the version.
-    */
-   public int getMajor()
-   {
-      return getIntProperty(VERSION_MAJOR);
-   }
-
-   /**
-    * Returns the minor number of the version.
-    *
-    * @return The minor number of the version.
-    */
-   public int getMinor()
-   {
-      return getIntProperty(VERSION_MINOR);
-   }
-
-   /**
-    * Returns the revision number of the version.
-    *
-    * @return The revision number of the version.
-    */
-   public int getRevision()
-   {
-      return getIntProperty(VERSION_REVISION);
-   }
-
-   /**
-    * Returns the tag of the version.
-    *
-    * @return The tag of the version.
-    */
-   public String getTag()
-   {
-      return props.getProperty(VERSION_TAG);
-   }
-   /**
-    * Returns the CVS tag of the version.
-    *
-    * @return The CVS tag of the version.
-    */
-   public String getCvsTag()
-   {
-      return props.getProperty(VERSION_CVSTAG);
-   }
-
-   /**
-    * Returns the name number of the version.
-    *
-    * @return The name of the version.
-    */
-   public String getName()
-   {
-      return props.getProperty(VERSION_NAME);
-   }
-
-   /**
-    * Returns the build identifier for this version.
-    *
-    * @return The build identifier for this version.
-    */
-   public String getBuildID()
-   {
-      return props.getProperty(BUILD_ID);
-   }
-
-   /**
-    * Returns the build number for this version.
-    *
-    * @return The build number for this version.
-    */
-   public String getBuildNumber()
-   {
-      return props.getProperty(BUILD_NUMBER);
-   }
-
-   /**
-    * Returns the build date for this version.
-    *
-    * @return The build date for this version.
-    */
-   public String getBuildDate()
-   {
-      return props.getProperty(BUILD_DATE);
-   }
-
-   /** Returns the BUILD_JVM_VERSION (BUILD_JVM_VENDOR) which should look like:
-    * 1.4.2_05-b04 (Sun Microsystems Inc.)
-    * @return the jvm
-    */ 
-   public String getBuildJVM()
-   {
-      String vm = props.getProperty(BUILD_JVM_VERSION);
-      String vendor = props.getProperty(BUILD_JVM_VENDOR);
-      return vm + '(' + vendor + ')';
-   }
-
-   /** Returns the BUILD_OS (BUILD_OS_ARCH,BUILD_OS_VERSION) which should look
-    * like:
-    * Windows XP (x86,5.1)
-    * Linux (i386,2.4.21-4.ELsmp)
-    * @return the OS
-    */ 
-   public String getBuildOS()
-   {
-      String os = props.getProperty(BUILD_OS);
-      String arch = props.getProperty(BUILD_OS_ARCH);
-      String version = props.getProperty(BUILD_OS_VERSION);
-      return os + '(' + arch +',' + version + ')';
-   }
-
-   /**
-    * Returns the full version number, e.g. 5.0.0.GA
-    * 
-    * @return The full version number as string
-    */
-   public String getVersionNumber()
-   {
-      StringBuffer buff = new StringBuffer();
-      
-      buff.append(getMajor()).append(".");
-      buff.append(getMinor()).append(".");
-      buff.append(getRevision()).append(".");
-      buff.append(getTag());
-      
-      return buff.toString();      
-   }
-   
-   /**
-    * Returns the version information as a string.
-    *
-    * @return Basic information as a string.
-    */
-   public String toString()
-   {
-      StringBuffer buff = new StringBuffer();
-      
-      buff.append(getVersionNumber());
-      buff.append(" (build: SVNTag=");
-      buff.append(getCvsTag());
-      buff.append(" date=");
-      buff.append(getBuildID());
-      buff.append(")");
-      
-      return buff.toString();
-   }
-
-   /**
-    * Returns a property value as an int.
-    *
-    * @param name - The name of the property.
-    * @return The property value, or -1 if there was a problem converting
-    *         it to an int.
-    */
-   private int getIntProperty(final String name)
-   {
-      try
-      {
-         return Integer.valueOf(props.getProperty(name)).intValue();
-      }
-      catch (Exception e)
-      {
-         return -1;
-      }
-   }
-
-   /**
-    * Load the version properties from a resource.
-    */
-   private Properties loadProperties()
-   {
-      props = new Properties();
-
-      try
-      {
-         InputStream in =
-            Version.class.getResourceAsStream("/org/jboss/version.properties");
-         if( in != null )
-         {
-            props.load(in);
-            in.close();
-         }
-      }
-      catch (IOException e)
-      {
-         throw new Error("Missing version.properties");
-      }
-
-      return props;
-   }
-}

Deleted: trunk/main/src/main/org/jboss/system/server/Server.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/Server.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/src/main/org/jboss/system/server/Server.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,141 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.system.server;
-
-import java.util.Date;
-import java.util.Properties;
-
-/**
- * The interface of the server loaded by the ServerLoader
- * @see ServerLoader
- *
- * @author Jason Dillon
- * @author Scott.Stark at jboss.org
- * @version $Revision: 63730 $
- */
-public interface Server
-{
-   /** The JMX notification event type sent on end of server startup */
-   public final String START_NOTIFICATION_TYPE = "org.jboss.system.server.started";
-   /** The JMX notification event type sent on begin of the server shutdown */
-   public final String STOP_NOTIFICATION_TYPE = "org.jboss.system.server.stopped";
-
-   /** @return The server start date */
-   Date getStartDate();
-   
-   /** @return The server version */
-   String getVersion();
-
-   /** @return The server version code name */
-   String getVersionName();
-
-   /** @return The full server version number */
-   String getVersionNumber();
-
-   /** @return The date the server was build (compiled) */
-   String getBuildNumber();
-
-   /** @return The JVM used to build the server */
-   String getBuildJVM();
-
-   /** @return The Operating System used to build the server */
-   String getBuildOS();
-
-   /** @return The build id */
-   String getBuildID();
-
-   /** @return The date the server was build */
-   String getBuildDate();
-   
-   /** @return A flag indicating if shutdown has been called */
-   boolean isInShutdown();
-
-   // Operations ----------------------------------------------------
-   
-
-   /**
-    * Initialize the Server instance.
-    *
-    * @param props     The configuration properties for the server.
-    *
-    * @throws IllegalStateException    Already initialized.
-    * @throws Exception                Failed to initialize.
-    */
-   void init(Properties props) throws IllegalStateException, Exception;
-
-   /**
-    * Get the typed server configuration object which the
-    * server has been initalized to use.
-    *
-    * @return          Typed server configuration object.
-    *
-    * @throws IllegalStateException    Not initialized.
-    */
-   ServerConfig getConfig() throws IllegalStateException;
-
-   /**
-    * Start the Server instance.
-    *
-    * @throws IllegalStateException    Already started or not initialized.
-    * @throws Exception                Failed to start.
-    */
-   void start() throws IllegalStateException, Exception;
-
-   /**
-    * Check if the server is started.
-    *
-    * @return   True if the server is started, else false.
-    */
-   boolean isStarted();
-
-   /**
-    * Shutdown the Server instance and run shutdown hooks.  
-    *
-    * <p>If the exit on shutdown flag is true, then {@link #exit()} 
-    *    is called, else only the shutdown hook is run.
-    *
-    * @throws IllegalStateException    No started.
-    */
-   void shutdown() throws IllegalStateException;
-
-   /**
-    * Shutdown the server, the JVM and run shutdown hooks.
-    *
-    * @param exitcode   The exit code returned to the operating system.
-    */
-   void exit(int exitcode);
-   /**
-    * Shutdown the server, the JVM and run shutdown hooks. Exits with code 1.
-    */
-   void exit();
-
-   /** 
-    * Forcibly terminates the currently running Java virtual machine.
-    *
-    * @param exitcode   The exit code returned to the operating system.
-    */
-   void halt(int exitcode);
-   /**
-    * Forcibly terminates the currently running Java virtual machine. Exits with code 1.
-    */
-   void halt();
-}

Deleted: trunk/main/src/main/org/jboss/system/server/ServerConfig.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerConfig.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/src/main/org/jboss/system/server/ServerConfig.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,554 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.system.server;
-
-import java.io.File;
-import java.net.URL;
-
-/**
- * The interface of the basic <em>typed</em> JBoss server configuration.
- *
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- * @author Scott.Stark at jboss.org 
- * @author Dimitris.Andreadis at jboss.org
- * @version $Revision: 63730 $
- */
-public interface ServerConfig
-{
-   
-   /** The default partition name */
-   String DEFAULT_PARITION_NAME = "DefaultPartition";
-   
-   /** The partition name property */
-   String PARTITION_NAME_PROPERTY = "jboss.partition.name";
-
-   /** The udp address property */
-   String PARTITION_UDP_PROPERTY = "jboss.partition.udpGroup";
-   
-   /** The udp port property */
-   String PARTITION_UDP_PORT_PROPERTY = "jboss.jgroups.udp.mcast_port";
-   
-   /** Whether to load native libraries */
-   String NATIVE_LOAD_PROPERTY = "jboss.native.load";
-   
-   /** The location of native libraries property */
-   String NATIVE_DIR_PROPERTY = "jboss.native.dir";
-
-   /////////////////////////////////////////////////////////////////////////
-   //                      Bootstrap Specific Config                      //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying a comma seperated list of the basenames of
-    * to the boot libraries required load the core system.
-    *
-    * <p>These libraries will be loaded from <tt>LIBRARY_URL</tt>.
-    */
-   String BOOT_LIBRARY_LIST = "jboss.boot.library.list";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the class type of the server to create.
-    */
-   String SERVER_TYPE = "jboss.server.type";
-
-   /**
-    * The bootstrap url
-    *
-    * <p>If not set then the server will default to {@link #SERVER_CONFIG_URL}/bootstrap.xml.
-    */
-   String BOOTSTRAP_URL = "jboss.bootstrap.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the root deployment filename (relative to the server
-    * config URL that will be deployed to finalize the boot strap process.
-    *
-    * <p>If not set then the server will default to {@link #DEFAULT_ROOT_DEPLOYMENT_FILENAME}.
-    */
-   String ROOT_DEPLOYMENT_FILENAME = "jboss.server.root.deployment.filename";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                   Configuration Value Identifiers                   //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the home directory for JBoss.
-    */
-   String HOME_DIR = "jboss.home.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the home URL for JBoss.
-    *
-    * <p>If not set then the value of HOME_DIR will converted into a URL.
-    */
-   String HOME_URL = "jboss.home.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read library files
-    * from.
-    *
-    * <p>Defaults to <tt><em>HOME_URL</em>/lib</tt>/
-    */
-   String LIBRARY_URL = "jboss.lib.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read patch library files
-    * from.
-    *
-    * <p>If this value is a <tt>file</tt> URL, then all .zip and .jar files
-    * inside will be prepended to the classpath.  Otherwise the URL will be
-    * added to the classpath.  If not set then the no patch files will be
-    * loaded.
-    */
-   String PATCH_URL = "jboss.patch.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the name of the server which will be used to
-    * calculate the servers home directory and url.
-    *
-    * <p>Defaults to <tt>default</tt>.
-    */
-   String SERVER_NAME = "jboss.server.name";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the base directory for calculating server
-    * home directories.
-    *
-    * <p>Defaults to <tt><em>HOME_DIR</em>/server</tt>.
-    */
-   String SERVER_BASE_DIR = "jboss.server.base.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server home directory for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_BASE_DIR</em>/<em>SERVER_NAME</em></tt>.
-    */
-   String SERVER_HOME_DIR = "jboss.server.home.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server log directory for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/<em>log</em></tt>.
-    */
-   String SERVER_LOG_DIR = "jboss.server.log.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the directory which JBoss will use for
-    * temporary file storage.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/tmp</tt> .
-    */
-   String SERVER_TEMP_DIR = "jboss.server.temp.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the directory which JBoss will use for
-    * persistent data file storage.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_DIR</em>/data</tt>.
-    */
-   String SERVER_DATA_DIR = "jboss.server.data.dir";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the base URL for calculating server
-    * home URLs.
-    *
-    * <p>Defaults to <tt><em>HOME_URL</em>/server</tt>.
-    */
-   String SERVER_BASE_URL = "jboss.server.base.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server home URL for JBoss.
-    *
-    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/<em>SERVER_NAME</em></tt>.
-    */
-   String SERVER_HOME_URL = "jboss.server.home.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the server configuration URL.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/conf</tt> .
-    */
-   String SERVER_CONFIG_URL = "jboss.server.config.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the URL where JBoss will read server specific
-    * library files from.
-    *
-    * <p>Defaults to <tt><em>SERVER_HOME_URL</em>/lib</tt>/
-    */
-   String SERVER_LIBRARY_URL = "jboss.server.lib.url";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying a library directory shared by the various
-    * server configurations.
-    * 
-    * <p>Defaults to <tt><em>SERVER_BASE_URL</em>/lib/</tt>.
-    */
-   String SHARED_LIBRARY_URL = "jboss.shared.lib.url";
-   
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying the bind address for all jboss services
-    *
-    */
-   String SERVER_BIND_ADDRESS = "jboss.bind.address";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying whether or not the server should exit the
-    * JVM on shutdown.
-    *
-    * <p>If not set then the server will default to exiting on shutdown.
-    */
-   String EXIT_ON_SHUTDOWN = "jboss.server.exitonshutdown";
-
-   /**
-    * Constant that holds the name of the environment property for
-    * specifying whether or not the server should shutdown
-    * synchronously (true) or asynchronously (false).
-    *
-    * <p>If not set then the server will default to asynchronous shutdown.
-    */
-   String BLOCKING_SHUTDOWN = "jboss.server.blockingshutdown";
-
-   /**
-    * Constant that holds the name of the environment property
-    * for specifying whether or not to install the lifethread
-    *
-    * <p>If not set then the server will default to installing the lifethread.
-    */
-   String INSTALL_LIFE_THREAD = "jboss.server.lifethread";
-
-   /**
-    * Constant that holds the name of the environment property for
-    * specifying whether or not the server should log and ignore
-    * exceptions when setting the URLStreamHandlerFactory.
-    *
-    * <p>If not set then the server will default to asynchronous shutdown.
-    */
-   String REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = "jboss.server.requirejbossurlstreamhandlerfactory";
-   
-   /**
-    * Constant that holds the name of the environment property for specifying
-    * whether or not to use as the main jboss server the MBeanServer returned
-    * from ManagementFactory.getPlatformMBeanServer(), when running under jdk1.5+
-    * 
-    * <p>If not set then jboss will instantiate its own MBeanServer
-    */
-   String PLATFORM_MBEANSERVER = "jboss.platform.mbeanserver";   
-
-   /////////////////////////////////////////////////////////////////////////
-   //                            Path Suffixes                            //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * The suffix used when generating the default value for {@link #LIBRARY_URL}
-    * and {@link #SERVER_LIBRARY_URL}.
-    */
-   String LIBRARY_URL_SUFFIX = "lib/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_CONFIG_URL}.
-    */
-   String SERVER_CONFIG_URL_SUFFIX = "conf/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_BASE_DIR}.
-    */
-   String SERVER_BASE_DIR_SUFFIX = "server";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_BASE_URL}.
-    */
-   String SERVER_BASE_URL_SUFFIX = "server/";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_DATA_DIR}.
-    */
-   String SERVER_DATA_DIR_SUFFIX = "data";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_LOG_DIR}.
-    */
-   String SERVER_LOG_DIR_SUFFIX = "log";
-
-   /**
-    * The suffix used when generating the default value for {@link #SERVER_TEMP_DIR}.
-    */
-   String SERVER_TEMP_DIR_SUFFIX = "tmp";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                               Defaults                              //
-   /////////////////////////////////////////////////////////////////////////
-
-   /** The default value for {@link #SERVER_NAME}. */
-   String DEFAULT_SERVER_NAME = "default";
-
-   /** The default value for {@link #EXIT_ON_SHUTDOWN}. */
-   boolean DEFAULT_EXIT_ON_SHUTDOWN = true;
-
-   /** The default value for {@link #BLOCKING_SHUTDOWN}. */
-   boolean DEFAULT_BLOCKING_SHUTDOWN = false;
-
-   /** The default value for {@link #INSTALL_LIFE_THREAD}. */
-   boolean DEFAULT_INSTALL_LIFE_THREAD = true;
-
-   /** The default value for {@link #REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY}. */
-   boolean DEFAULT_REQUIRE_JBOSS_URL_STREAM_HANDLER_FACTORY = true;
-   
-   /** The default value for {@link #PLATFORM_MBEANSERVER}. */
-   boolean DEFAULT_PLATFORM_MBEANSERVER = false;
-
-   /** The default value for {@link #ROOT_DEPLOYMENT_FILENAME}. */
-   String DEFAULT_ROOT_DEPLOYMENT_FILENAME = "jboss-service.xml";
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                         Typed Access Methods                        //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Get the bootstrap url
-    *
-    * @return the bootstrap url
-    */
-   URL getBootstrapURL();
-
-   /**
-    * Get the local home directory which the server is running from.
-    *
-    * @return    The local server home directory.
-    */
-   File getHomeDir();
-
-   /**
-    * Get the home URL which the server is running from.
-    *
-    * @return    The home URL which the server is running from.
-    */
-   URL getHomeURL();
-
-   /**
-    * Get the library URL for the server.
-    *
-    * @return    The library URL for the server.
-    */
-   URL getLibraryURL();
-
-   /**
-    * Get the patch URL for the server.
-    *
-    * @return    The patch URL for the server.
-    */
-   URL getPatchURL();
-
-   /**
-    * Get the name of the server.
-    *
-    * @return    The name of the server.
-    */
-   String getServerName();
-
-   /**
-    * Get the base directory for calculating server home directories.
-    *
-    * @return    Base server home directory.
-    */
-   File getServerBaseDir();
-
-   /**
-    * Get the server home directory.
-    *
-    * @return    Server home directory.
-    */
-   File getServerHomeDir();
-
-   /**
-    * Get the directory where log files will be stored.
-    *
-    * @return    The directory where the server writes log files.
-    */
-   File getServerLogDir();
-
-   /**
-    * Get the directory where temporary files will be stored.
-    *
-    * @return    The directory where the server stores temporary files.
-    */
-   File getServerTempDir();
-
-   /**
-    * Get the directory where local data will be stored.
-    *
-    * @return    The directory where the server stores local data.
-    */
-   File getServerDataDir();
-
-   /**
-    * Get the base directory for calculating server home URLs.
-    *
-    * @return    Base server home URL.
-    */
-   URL getServerBaseURL();
-
-   /**
-    * Get the server home URL.
-    *
-    * @return    Server home URL.
-    */
-   URL getServerHomeURL();
-
-   /**
-    * Get the server library URL.
-    *
-    * @return    Server library URL.
-    */
-   URL getServerLibraryURL();
-
-   /**
-    * Get the server configuration URL.
-    *
-    * @return    Server configuration URL.
-    */
-   URL getServerConfigURL();
-
-   /**
-    * Get the shared library URL.
-    * 
-    * @return Shared library URL.
-    */
-   URL getSharedLibraryURL();
-   
-   /**
-    * Get the current value of the flag that indicates if we are
-    * using the platform MBeanServer as the main jboss server.
-    * Both the {@link ServerConfig#PLATFORM_MBEANSERVER}
-    * property must be set, and the jvm must be jdk1.5+
-    * 
-    * @return true if jboss runs on the jvm platfrom MBeanServer
-    */
-   boolean getPlatformMBeanServer();
-    
-   /**
-    * Enable or disable exiting the JVM when {@link Server#shutdown()} is called.
-    * If enabled, then shutdown calls {@link Server#exit()}.  If disabled, then
-    * only the shutdown hook will be run.
-    *
-    * @param flag    True to enable calling exit on shutdown.
-    */
-   void setExitOnShutdown(boolean flag);
-
-   /**
-    * Get the current value of the exit on shutdown flag.
-    *
-    * @return    The current value of the exit on shutdown flag.
-    */
-   boolean getExitOnShutdown();
-
-
-   /**
-    * Get the BlockingShutdown value.
-    * @return the BlockingShutdown value.
-    */
-   boolean getBlockingShutdown();
-
-   /**
-    * Set the BlockingShutdown value.
-    * @param blockingShutdown The new BlockingShutdown value.
-    */
-   void setBlockingShutdown(boolean blockingShutdown);
-
-   /**
-    * Whether to install the lifethread
-    *
-    * @return true to install the life thread
-    */
-   boolean isInstallLifeThread();
-
-   /**
-    * Get the RequireJBossURLStreamHandlerFactory value.
-    * @return the RequireJBossURLStreamHandlerFactory value.
-    */
-   boolean getRequireJBossURLStreamHandlerFactory();
-
-   /**
-    * Set the RequireJBossURLStreamHandlerFactory value.
-    * @param requireJBossURLStreamHandlerFactory The new RequireJBossURLStreamHandlerFactory value.
-    */
-   void setRequireJBossURLStreamHandlerFactory(boolean requireJBossURLStreamHandlerFactory);
-
-   /**
-    * Set the filename of the root deployable that will be used to finalize
-    * the bootstrap process.
-    *
-    * @param filename    The filename of the root deployable.
-    */
-   void setRootDeploymentFilename(String filename);
-
-   /**
-    * Get the filename of the root deployable that will be used to finalize
-    * the bootstrap process.
-    *
-    * @return    The filename of the root deployable.
-    */
-   String getRootDeploymentFilename();
-
-   /**
-    * Get the native dir for unpacking
-    * 
-    * @return the directory
-    */
-   File getServerNativeDir();
-
-   /**
-    * Get the temporary deployment dir for unpacking
-    * 
-    * @return the directory
-    */   
-   File getServerTempDeployDir();
-
-   /**
-    * Get the server Specification-Version
-    * 
-    * @return the spec version
-    */
-   String getSpecificationVersion();
-}

Deleted: trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/src/main/org/jboss/system/server/ServerConfigUtil.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -1,146 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.system.server;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
- * Utilities for accessing server configuration
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version <tt>$Revision: 57108 $</tt>
- */
-public class ServerConfigUtil
-{
-   private static final String ANY = "0.0.0.0";
-   
-   /**
-    * Retrieve the default bind address for the server
-    * 
-    * @return the default bind adress
-    */
-   public static String getDefaultBindAddress()
-   {
-      return System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
-   }
-
-   /**
-    * Retrieve the default bind address, but only if it is specific
-    * 
-    * @return the specific bind address
-    */
-   public static String getSpecificBindAddress()
-   {
-      String address = System.getProperty(ServerConfig.SERVER_BIND_ADDRESS);
-      if (address == null || address.equals(ANY))
-         return null;
-      return address;
-   }
-
-   /**
-    * Fix the remote inet address.
-    * 
-    * If we pass the address to the client we don't want to
-    * tell it to connect to 0.0.0.0, use our host name instead
-    * @param address the passed address
-    * @return the fixed address
-    */
-   public static InetAddress fixRemoteAddress(InetAddress address)
-   {
-      try
-      {
-         if (address == null || InetAddress.getByName(ANY).equals(address))
-            return InetAddress.getLocalHost();
-      }
-      catch (UnknownHostException ignored)
-      {
-      }
-      return address;
-   }
-
-   /**
-    * Fix the remote address.
-    * 
-    * If we pass the address to the client we don't want to
-    * tell it to connect to 0.0.0.0, use our host name instead
-    * @param address the passed address
-    * @return the fixed address
-    */
-   public static String fixRemoteAddress(String address)
-   {
-      try
-      {
-         if (address == null || ANY.equals(address))
-            return InetAddress.getLocalHost().getHostName();
-      }
-      catch (UnknownHostException ignored)
-      {
-      }
-      return address;
-   }
-
-   /**
-    * Get the default partition name
-    * 
-    * @return the default partition name
-    */
-   public static String getDefaultPartitionName()
-   {
-      return System.getProperty(ServerConfig.PARTITION_NAME_PROPERTY, ServerConfig.DEFAULT_PARITION_NAME);
-   }
-
-   /**
-    * Whether to load native directories
-    * 
-    * @return true when loading native directories
-    */
-   public static boolean isLoadNative()
-   {
-      return Boolean.getBoolean(ServerConfig.NATIVE_LOAD_PROPERTY);
-   }
-
-   /**
-    * Utility to get a shortened url relative to the server home if possible
-    * 
-    * @param longUrl
-    * @return the short url
-    */
-   public static String shortUrlFromServerHome(String longUrl)
-   {
-      String serverHomeUrl = System.getProperty(org.jboss.system.server.ServerConfig.SERVER_HOME_URL);
-
-      if (longUrl == null || serverHomeUrl == null)
-          return longUrl;
-
-      if (longUrl.startsWith(serverHomeUrl))
-        return ".../" + longUrl.substring(serverHomeUrl.length());
-      else
-      {
-         String jarServerHomeUrl = "jar:" + serverHomeUrl;
-         if (longUrl.startsWith(jarServerHomeUrl))
-            return ".../" + longUrl.substring(jarServerHomeUrl.length());
-         else
-            return longUrl;
-      }
-   }
-}

Modified: trunk/main/src/main/org/jboss/system/server/ServerLoader.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerLoader.java	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/main/src/main/org/jboss/system/server/ServerLoader.java	2008-11-07 07:25:45 UTC (rev 80627)
@@ -310,6 +310,20 @@
          URL[] urls = getBootClasspath();
          URLClassLoader classLoader = new NoAnnotationURLClassLoader(urls, parent);
          Thread.currentThread().setContextClassLoader(classLoader);
+         
+         /*
+           
+          Log the boot URLs (uncomment to test)
+          
+         StringBuffer sb = new StringBuffer("Boot URLs:\n");
+         for(URL url : urls)
+         {
+            sb.append(url.toExternalForm());
+            sb.append("\n");
+         }
+         System.out.println(sb);
+         
+         */
 
          // construct a new Server instance
          String typename = props.getProperty(ServerConfig.SERVER_TYPE, DEFAULT_SERVER_TYPE);

Modified: trunk/management/build.xml
===================================================================
--- trunk/management/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/management/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -112,7 +112,7 @@
       <path refid="jboss.cluster.classpath"/>
       <path refid="jboss.jca.classpath"/>
       <path refid="jboss.server.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.j2se.classpath"/>

Modified: trunk/management/pom.xml
===================================================================
--- trunk/management/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/management/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -75,7 +75,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>oswego-concurrent</groupId>
@@ -95,4 +95,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/server/build.xml
===================================================================
--- trunk/server/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/server/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -113,7 +113,7 @@
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="jboss.common.logging.log4j.classpath"/>
       <path refid="jboss.common.logging.jdk.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.j2se.classpath"/>

Modified: trunk/system/.classpath
===================================================================
--- trunk/system/.classpath	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/system/.classpath	2008-11-07 07:25:45 UTC (rev 80627)
@@ -26,5 +26,6 @@
 	<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/sun-jaxb/lib/jaxb-api.jar" sourcepath="/thirdparty/sun-jaxb/lib/jaxb-api-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/stax-api/lib/stax-api.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/main"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>
 </classpath>

Modified: trunk/system/pom.xml
===================================================================
--- trunk/system/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/system/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -102,10 +102,6 @@
       <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.jboss</groupId>
       <artifactId>jboss-vfs</artifactId>
     </dependency>
@@ -115,4 +111,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/system-jmx/build.xml
===================================================================
--- trunk/system-jmx/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/system-jmx/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -100,7 +100,7 @@
     <path id="dependentmodule.classpath">
       <path refid="jboss.j2se.classpath"/>
       <path refid="jboss.mbeans.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
     </path>
 

Modified: trunk/system-jmx/pom.xml
===================================================================
--- trunk/system-jmx/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/system-jmx/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -87,7 +87,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
@@ -107,4 +107,4 @@
     </dependency>
   </dependencies>
   
-</project>
\ No newline at end of file
+</project>

Modified: trunk/tomcat/build.xml
===================================================================
--- trunk/tomcat/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/tomcat/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -90,7 +90,7 @@
       <path refid="hibernate.entitymanager.classpath"/>
       <path refid="jboss.jboss.javaee.classpath"/>
       <path refid="jboss.jboss.jaspi.api.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.jboss.security.spi.classpath"/>

Modified: trunk/varia/build.xml
===================================================================
--- trunk/varia/build.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/varia/build.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -117,7 +117,7 @@
       <path refid="jboss.common.logging.jdk.classpath"/>
       <path refid="jboss.jmx.classpath"/>
       <path refid="jboss.cluster.classpath"/>
-      <path refid="jboss.main.classpath"/>
+      <path refid="jboss.bootstrap.classpath"/>
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.j2se.classpath"/>

Modified: trunk/varia/pom.xml
===================================================================
--- trunk/varia/pom.xml	2008-11-07 02:50:07 UTC (rev 80626)
+++ trunk/varia/pom.xml	2008-11-07 07:25:45 UTC (rev 80627)
@@ -44,7 +44,7 @@
     <!-- Compile (global dependencies) -->
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-main</artifactId>
+      <artifactId>jboss-as-bootstrap</artifactId>
     </dependency>
     
     <dependency>
@@ -272,4 +272,4 @@
     </profile>
   </profiles>
   
-</project>
\ No newline at end of file
+</project>




More information about the jboss-cvs-commits mailing list