[jboss-cvs] JBossAS SVN: r87750 - in projects/bootstrap/trunk/impl-as/src: main/java/org/jboss/bootstrap/impl/as/server and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 23 22:27:04 EDT 2009
Author: ALRubinger
Date: 2009-04-23 22:27:04 -0400 (Thu, 23 Apr 2009)
New Revision: 87750
Modified:
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/BasicJBossASServerConfig.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializer.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializerImpl.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidator.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfig.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfigLegacy.java
projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializer.java
projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializationTestCase.java
projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidationTestCase.java
projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializationTestCase.java
Log:
[JBBOOT-31] Added support for jboss.server.tmp.dir
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/BasicJBossASServerConfig.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/BasicJBossASServerConfig.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/BasicJBossASServerConfig.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -109,6 +109,11 @@
*/
private URL serverDataLocation;
+ /**
+ * Location in which the server temp data resides
+ */
+ private URL serverTempLocation;
+
//-------------------------------------------------------------------------------||
// Constructor ------------------------------------------------------------------||
//-------------------------------------------------------------------------------||
@@ -655,6 +660,73 @@
return this.covarientReturn();
}
+ /* (non-Javadoc)
+ * @see org.jboss.bootstrap.impl.as.config.JBossASServerConfig#getServerTempLocation()
+ */
+ public URL getServerTempLocation()
+ {
+ return this.serverTempLocation;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.bootstrap.impl.as.config.JBossASServerConfig#serverTempLocation(java.lang.String)
+ */
+ public JBossASServerConfig serverTempLocation(String serverTempLocation) throws IllegalArgumentException
+ {
+ // If null, just pass along
+ if (serverTempLocation == null)
+ {
+ return this.serverTempLocation((URL) null);
+ }
+
+ // Convert this String into a URL via File
+ final File file = new File(serverTempLocation);
+ URL url = null;
+ try
+ {
+ url = file.toURI().toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ throw new IllegalArgumentException("Cannot construct URL given: " + serverTempLocation, e);
+ }
+
+ // Return
+ return this.serverTempLocation(url);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.bootstrap.impl.as.config.JBossASServerConfig#serverTempLocation(java.net.URL)
+ */
+ public JBossASServerConfig serverTempLocation(URL serverTempLocation)
+ {
+ // Set
+ this.serverTempLocation = serverTempLocation;
+
+ // Get the absolute path
+ String location = null;
+ if (serverTempLocation != null)
+ {
+ URI uri = null;
+ try
+ {
+ uri = serverTempLocation.toURI();
+ }
+ catch (URISyntaxException e)
+ {
+ throw new RuntimeException("Error in format of " + uri, e);
+ }
+ location = new File(uri).getAbsolutePath();
+
+ }
+
+ // Set properties
+ this.setPropertyForString(PROP_KEY_JBOSSAS_SERVER_TEMP_DIR, location);
+
+ // Return
+ return this.covarientReturn();
+ }
+
//-------------------------------------------------------------------------------||
// Internal Helper Methods ------------------------------------------------------||
//-------------------------------------------------------------------------------||
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializer.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializer.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializer.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -100,4 +100,10 @@
* {@link JBossASServerConfig#PROP_KEY_JBOSSAS_SERVER_DATA_DIR}.
*/
String DEFAULT_VALUE_SERVER_DATA_DIR_SUFFIX = "data/";
+
+ /**
+ * The suffix used when generating the default value for
+ * {@link JBossASServerConfig#PROP_KEY_JBOSSAS_SERVER_TEMP_DIR}.
+ */
+ String DEFAULT_VALUE_SERVER_TEMP_DIR_SUFFIX = "tmp/";
}
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializerImpl.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializerImpl.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializerImpl.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -169,7 +169,7 @@
resolvedServerLibLocation = this.adjustToTrailingSlash(resolvedServerLibLocation);
config.serverLibLocation(resolvedServerLibLocation);
- // ${jboss.server.Data.dir}
+ // ${jboss.server.data.dir}
final URL serverDataLocation = config.getServerDataLocation();
final String serverDataDefault = resolvedServerHomeLocation
+ JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_DATA_DIR_SUFFIX;
@@ -180,6 +180,17 @@
resolvedServerDataLocation = this.adjustToTrailingSlash(resolvedServerDataLocation);
config.serverDataLocation(resolvedServerDataLocation);
+ // ${jboss.server.tmp.dir}
+ final URL serverTempLocation = config.getServerTempLocation();
+ final String serverTempDefault = resolvedServerHomeLocation
+ + JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_TEMP_DIR_SUFFIX;
+ final String currentServerTempLocation = serverTempLocation != null ? serverTempLocation.toExternalForm() : null;
+ String resolvedServerTempLocation = this.resolvePropertyValue(
+ JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR, currentServerTempLocation, serverTempDefault,
+ configProps);
+ resolvedServerTempLocation = this.adjustToTrailingSlash(resolvedServerTempLocation);
+ config.serverTempLocation(resolvedServerTempLocation);
+
}
//-------------------------------------------------------------------------------||
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidator.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidator.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidator.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -95,6 +95,8 @@
this.require(config.getServerLibLocation(), JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_LIBRARY_URL);
// jboss.server.data.dir
this.require(config.getServerDataLocation(), JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_DATA_DIR);
+ // jboss.server.tmp.dir
+ this.require(config.getServerTempLocation(), JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR);
// Log
log.debug("Configuration is valid: " + config);
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfig.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfig.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfig.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -145,6 +145,13 @@
*/
String PROP_KEY_JBOSSAS_SERVER_DATA_DIR = "jboss.server.data.dir";
+ /**
+ * Constant that holds the name of the system property
+ * for specifying the directory which JBoss will use for
+ * temporary file storage.
+ */
+ String PROP_KEY_JBOSSAS_SERVER_TEMP_DIR = "jboss.server.temp.dir";
+
//-------------------------------------------------------------------------------||
// Contracts --------------------------------------------------------------------||
//-------------------------------------------------------------------------------||
@@ -415,4 +422,29 @@
* is non-null and cannot be constructed into a URL
*/
JBossASServerConfig serverDataLocation(String serverDataLocation) throws IllegalArgumentException;
+
+ /**
+ * Obtains the location in which the server temp data resides
+ *
+ * @return
+ */
+ URL getServerTempLocation();
+
+ /**
+ * Sets the location in which the server temp data resides
+ *
+ * @param serverTempLocation
+ * @return
+ */
+ JBossASServerConfig serverTempLocation(URL serverTempLocation);
+
+ /**
+ * Sets the location in which the server temp data resides
+ *
+ * @param serverTempLocation
+ * @return
+ * @throws IllegalArgumentException If the specified argument
+ * is non-null and cannot be constructed into a URL
+ */
+ JBossASServerConfig serverTempLocation(String serverTempLocation) throws IllegalArgumentException;
}
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfigLegacy.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfigLegacy.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/config/JBossASServerConfigLegacy.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -79,15 +79,6 @@
/**
* 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 PROP_KEY_JBOSSAS_SERVER_TEMP_DIR = "jboss.server.temp.dir";
-
- /**
- * Constant that holds the name of the environment property
* for specifying a library directory URL that points to libraries
* shared by the various server configurations.
*
@@ -139,13 +130,4 @@
*/
String PLATFORM_MBEANSERVER = "jboss.platform.mbeanserver";
- /////////////////////////////////////////////////////////////////////////
- // Path Suffixes //
- /////////////////////////////////////////////////////////////////////////
-
- /**
- * The suffix used when generating the default value for {@link #PROP_KEY_JBOSSAS_SERVER_TEMP_DIR}.
- */
- String DEFAULT_VALUE_SERVER_TEMP_DIR_SUFFIX = "tmp";
-
}
Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializer.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializer.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializer.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -100,6 +100,7 @@
final URL serverConfDir = configuration.getServerConfLocation();
final URL serverLibDir = configuration.getServerLibLocation();
final String serverDataDir = this.getAbsoluteLocationOfUrl(configuration.getServerDataLocation());
+ final String serverTempDir = this.getAbsoluteLocationOfUrl(configuration.getServerTempLocation());
// Set our system properties
this.setSystemProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_HOME, jbossHomeDir);
@@ -117,6 +118,7 @@
this.setSystemProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_CONF_URL, serverConfDir);
this.setSystemProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_LIBRARY_URL, serverLibDir);
this.setSystemProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_DATA_DIR, serverDataDir);
+ this.setSystemProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR, serverTempDir);
}
//-------------------------------------------------------------------------------||
Modified: projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializationTestCase.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializationTestCase.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationInitializationTestCase.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -341,6 +341,28 @@
log.info("Got expected: " + expected);
}
+ /**
+ * Ensures that the server temp location defaults to $JBOSS_HOME/server/$serverName/tmp
+ * @throws Throwable
+ */
+ @Test
+ public void testServerTempDefault() throws Throwable
+ {
+ // Log
+ log.info("testServerTempDefault");
+
+ // Get out server base location
+ final String actual = config.getServerTempLocation().toExternalForm();
+
+ // Get expected value
+ final String expected = this.getServerHomeLocation()
+ + JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_TEMP_DIR_SUFFIX;
+
+ // Test
+ TestCase.assertEquals("Server temp location was not defaulted as expected", expected, actual);
+ log.info("Got expected: " + expected);
+ }
+
//-------------------------------------------------------------------------------||
// Internal Helper Methods ------------------------------------------------------||
//-------------------------------------------------------------------------------||
Modified: projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidationTestCase.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidationTestCase.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/config/JBossASConfigurationValidationTestCase.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -366,6 +366,23 @@
this.assertMissingValueFails(config, "server data location");
}
+ /**
+ * Ensures that an empty/null Server Temp location fails
+ */
+ @Test
+ public void testNoServerTempLocationFails()
+ {
+ // Log
+ log.info("testNoServerTempLocationFails");
+
+ // Get config and clear out
+ final JBossASServerConfig config = this.config;
+ config.serverTempLocation((URL) null);
+
+ // Test
+ this.assertMissingValueFails(config, "server temp location");
+ }
+
//-------------------------------------------------------------------------------||
// Internal Helper Methods ------------------------------------------------------||
//-------------------------------------------------------------------------------||
@@ -422,12 +439,14 @@
final String serverConfig = serverHome + JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_CONFIG_URL_SUFFIX;
final String serverLib = serverHome + JBossASConfigurationInitializer.DEFAULT_VALUE_LIBRARY_URL_SUFFIX;
final String serverData = serverHome + JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_DATA_DIR_SUFFIX;
+ final String serverTemp = serverHome + JBossASConfigurationInitializer.DEFAULT_VALUE_SERVER_TEMP_DIR_SUFFIX;
// Populate
config.jbossHome(jbossHome).bootstrapHome(bootstrapHome).bootstrapName(bootstrapName).bindAddress(bindAddress)
.serverName(serverName).bootLibraryLocation(bootLib).serverBaseLocation(serverBase).serverHomeLocation(
serverHome).commonBaseLocation(commonBase).serverLogLocation(serverLog).serverConfLocation(
- serverConfig).serverLibLocation(serverLib).serverDataLocation(serverData);
+ serverConfig).serverLibLocation(serverLib).serverDataLocation(serverData).serverTempLocation(
+ serverTemp);
// Return
return config;
Modified: projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializationTestCase.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializationTestCase.java 2009-04-24 02:12:44 UTC (rev 87749)
+++ projects/bootstrap/trunk/impl-as/src/test/java/org/jboss/bootstrap/impl/as/server/JBossASServerInitializationTestCase.java 2009-04-24 02:27:04 UTC (rev 87750)
@@ -131,6 +131,7 @@
final String serverConfUrlPropKey = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_CONF_URL;
final String serverLibUrlPropKey = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_LIBRARY_URL;
final String serverDataDirPropKey = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_DATA_DIR;
+ final String serverTempDirPropKey = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR;
// Get Properties from Configuration
final Map<String, String> properties = configuration.getProperties();
@@ -149,6 +150,7 @@
final String serverConfUrlFromConfProp = properties.get(serverConfUrlPropKey);
final String serverLibUrlFromConfProp = properties.get(serverLibUrlPropKey);
final String serverDataDirFromConfProp = properties.get(serverDataDirPropKey);
+ final String serverTempDirFromConfProp = properties.get(serverTempDirPropKey);
// Get Properties from System
final String jbossHomeFromSystem = System.getProperty(jbossHomePropKey);
@@ -166,6 +168,7 @@
final String serverConfUrlFromSystem = System.getProperty(serverConfUrlPropKey);
final String serverLibUrlFromSystem = System.getProperty(serverLibUrlPropKey);
final String serverDataDirFromSystem = System.getProperty(serverDataDirPropKey);
+ final String serverTempDirFromSystem = System.getProperty(serverTempDirPropKey);
// Get Expected Values
final URL jbossHomeFromConf = configuration.getJBossHome();
@@ -192,6 +195,9 @@
final URL serverDataFromConf = configuration.getServerDataLocation();
final File serverDataFile = new File(serverDataFromConf.toURI());
final String serverDataDirFromConf = serverDataFile.getAbsolutePath();
+ final URL serverTempFromConf = configuration.getServerTempLocation();
+ final File serverTempFile = new File(serverTempFromConf.toURI());
+ final String serverTempDirFromConf = serverTempFile.getAbsolutePath();
// Ensure all equal
TestCase.assertEquals("JBoss Home in configuration must match the config property", jbossHomeDirFromConf,
@@ -254,6 +260,10 @@
serverDataDirFromConfProp);
TestCase.assertEquals("Server Data Dir in configuration must match the system property", serverDataDirFromConf,
serverDataDirFromSystem);
+ TestCase.assertEquals("Server Temp Dir in configuration must match the config property", serverTempDirFromConf,
+ serverTempDirFromConfProp);
+ TestCase.assertEquals("Server Temp Dir in configuration must match the system property", serverTempDirFromConf,
+ serverTempDirFromSystem);
// Cleanup
server.shutdown();
@@ -274,6 +284,7 @@
final String serverConfUrlFromSystemAfterCleanup = System.getProperty(serverConfUrlPropKey);
final String serverLibUrlFromSystemAfterCleanup = System.getProperty(serverLibUrlPropKey);
final String serverDataDirFromSystemAfterCleanup = System.getProperty(serverDataDirPropKey);
+ final String serverTempDirFromSystemAfterCleanup = System.getProperty(serverTempDirPropKey);
// Ensure all null
final String failMessage = "System property should be null after cleanup";
@@ -292,5 +303,6 @@
TestCase.assertNull(failMessage, serverConfUrlFromSystemAfterCleanup);
TestCase.assertNull(failMessage, serverLibUrlFromSystemAfterCleanup);
TestCase.assertNull(failMessage, serverDataDirFromSystemAfterCleanup);
+ TestCase.assertNull(failMessage, serverTempDirFromSystemAfterCleanup);
}
}
More information about the jboss-cvs-commits
mailing list