henning 2003/06/02 03:24:46
Modified: . project.xml
src/java/org/apache/turbine Turbine.java
src/java/org/apache/turbine/util TurbineConfig.java
Added: src/test-cactus/org/apache/turbine TurbineTest.java
TurbineTest2.java
src/test-cactus/testapp/WEB-INF/conf
TurbineComplete.properties TurbineConfiguration.xml
Removed: proposals/epugh/compositeconfiguration Turbine.java
TurbineComplete.properties TurbineConfig.java
TurbineConfiguration.xml TurbineTest.java
TurbineTest2.java project.xml readme.txt
Log:
Moved Erics' composite configuration proposal in. He was sitting on it
for quite a while and it was up for a review for a long time and nobody
objected. I did clean up the code a little but all kudos go to Eric.
Revision Changes Path
1.114 +2 -1 jakarta-turbine-2/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/project.xml,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- project.xml 24 Apr 2003 16:03:30 -0000 1.113
+++ project.xml 2 Jun 2003 10:24:45 -0000 1.114
@@ -318,6 +318,7 @@
<dependency>
<id>commons-configuration</id>
<version>20030311.152757</version>
+ <!-- <version>0.8.1</version> -->
<url>http://jakarta.apache.org/commons/sandbox/configuration/index.html</url>
<properties>
<war.bundle.jar>true</war.bundle.jar>
@@ -541,7 +542,7 @@
</dependency>
<dependency>
<id>xmlrpc</id>
- <version>1.2-a1</version>
+ <version>1.2-a2</version>
<url>http://xml.apache.org/xmlrpc/</url>
<properties>
<war.bundle.jar>true</war.bundle.jar>
1.40 +86 -31 jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java
Index: Turbine.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- Turbine.java 21 May 2003 15:04:40 -0000 1.39
+++ Turbine.java 2 Jun 2003 10:24:45 -0000 1.40
@@ -68,6 +68,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.configuration.Configuration;
+// import org.apache.commons.configuration.ConfigurationFactory;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.lang.StringUtils;
@@ -132,6 +133,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Martin Poeschl</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
* @version $Id$
*/
public class Turbine
@@ -226,12 +228,8 @@
try
{
ServletContext context = config.getServletContext();
- String trProps =
- findInitParameter(context, config,
- TurbineConfig.PROPERTIES_PATH_KEY,
- TurbineConfig.PROPERTIES_PATH_DEFAULT);
- configure(config, context, trProps);
+ configure(config, context);
templateService = TurbineTemplate.getService();
rundataService = TurbineRunDataFacade.getService();
@@ -254,19 +252,26 @@
}
}
- private void configure(ServletConfig config, ServletContext context,
- String propsFile)
+ /**
+ * Read the master configuration file in, configure logging
+ * and start up any early services.
+ *
+ * @param config The Servlet Configuration supplied by the container
+ * @param context The Servlet Context supplied by the container
+ *
+ * @throws Exception A problem occured while reading the configuration or
performing early startup
+ */
+
+ private void configure(ServletConfig config, ServletContext context)
throws Exception
{
-
// Set the application root. This defaults to the webapp
// context if not otherwise set. This is to allow 2.1 apps
// to be developed from CVS. This feature will carry over
// into 3.0.
- applicationRoot =
- findInitParameter(context, config,
- APPLICATION_ROOT_KEY,
- APPLICATION_ROOT_DEFAULT);
+ applicationRoot = findInitParameter(context, config,
+ APPLICATION_ROOT_KEY,
+ APPLICATION_ROOT_DEFAULT);
webappRoot = config.getServletContext().getRealPath("/");
// log.info("Web Application root is " + webappRoot);
@@ -286,25 +291,71 @@
createRuntimeDirectories(context, config);
//
- // Set up logging as soon as possible
+ // Now we run the Turbine configuration code. There are two ways
+ // to configure Turbine:
//
+ // a) By supplying an web.xml init parameter called "configuration"
+ //
+ // <init-param>
+ // <param-name>configuration</param-name>
+ // <param-value>/WEB-INF/conf/turbine.xml</param-value>
+ // </init-param>
+ //
+ // This loads an XML based configuration file.
+ //
+ // b) By supplying an web.xml init parameter called "properties"
+ //
+ // <init-param>
+ // <param-name>properties</param-name>
+ // <param-value>/WEB-INF/conf/TurbineResources.properties</param-value>
+ // </init-param>
+ //
+ // This loads a Properties based configuration file. Actually, these are
+ // extended properties as provided by commons-configuration
+ //
+ // If neither a) nor b) is supplied, Turbine will fall back to the
+ // known behaviour of loading a properties file called
+ // /WEB-INF/conf/TurbineResources.properties relative to the
+ // web application root.
+
+ String confFile= findInitParameter(context, config,
+ TurbineConfig.CONFIGURATION_PATH_KEY,
+ null);
+
+ String confPath;
+ String confStyle = "unset";
+
+// Remove these comments and uncomment the 0.8.1 version of commons-configuration
+// once this is on ibiblio. Until then, the XML code is not enabled. Don't forget
+// to remove the comment in front of the import above.
+//
+// if (StringUtils.isNotEmpty(confFile))
+// {
+// confPath = getRealPath(confFile);
+// ConfigurationFactory configurationFactory = new
ConfigurationFactory();
+// configurationFactory.setBasePath(getApplicationRoot());
+// configurationFactory.setConfigurationFileName(confPath);
+// configuration = configurationFactory.getConfiguration();
+// confStyle = "XML";
+// }
+// else
+// {
+ confFile = findInitParameter(context, config,
+ TurbineConfig.PROPERTIES_PATH_KEY,
+ TurbineConfig.PROPERTIES_PATH_DEFAULT);
+
+ confPath = getRealPath(confFile);
+
+ // This should eventually be a Configuration
+ // interface so that service and app configuration
+ // can be stored anywhere.
+ configuration = (Configuration) new PropertiesConfiguration(confPath);
+ confStyle = "Properties";
+// }
- // Get the full path to the properties file.
- if (propsFile == null)
- {
- propsFile = TurbineConfig.PROPERTIES_PATH_DEFAULT;
- }
-
- String propsPath = getRealPath(propsFile);
-
- // log.info("Loading Configuration from " + propsPath);
-
- // This should eventually be a Configuration
- // interface so that service and app configuration
- // can be stored anywhere.
- configuration = (Configuration) new PropertiesConfiguration(propsPath);
-
-
+ //
+ // Set up logging as soon as possible
+ //
String log4jFile = configuration.getString(LOG4J_CONFIG_FILE,
LOG4J_CONFIG_FILE_DEFAULT);
@@ -316,7 +367,6 @@
// Load the config file above into a Properties object and
// fix up the Application root
//
-
Properties p = new Properties();
try
{
@@ -339,6 +389,11 @@
System.getProperties().setProperty(LogFactory.class.getName(),
Log4jFactory.class.getName());
+
+ // Now report our successful configuration to the world
+ log.info("Loaded configuration (" + confStyle + ") from " + confFile + "
(" + confPath + ")");
+
+
setTurbineServletConfig(config);
setTurbineServletContext(context);
1.13 +8 -1
jakarta-turbine-2/src/java/org/apache/turbine/util/TurbineConfig.java
Index: TurbineConfig.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/util/TurbineConfig.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- TurbineConfig.java 9 Mar 2003 06:58:43 -0000 1.12
+++ TurbineConfig.java 2 Jun 2003 10:24:46 -0000 1.13
@@ -106,11 +106,18 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Jon S. Stevens</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
* @version $Id$
*/
public class TurbineConfig
implements ServletConfig, ServletContext, Initializable, Disposable
{
+ /**
+ * Servlet initialization parameter name for the path to
+ * TurbineConfiguration.xml file used by Turbine
+ */
+ public static final String CONFIGURATION_PATH_KEY = "configuration";
+
/**
* Servlet initialization parameter name for the path to
* Turbine.properties file used by Turbine
1.1
jakarta-turbine-2/src/test-cactus/org/apache/turbine/TurbineTest.java
Index: TurbineTest.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.turbine;
// Cactus and Junit imports
import junit.awtui.TestRunner;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.cactus.*;
import org.apache.turbine.Turbine;
import org.apache.commons.configuration.Configuration;
/**
* Test starting up Turbine with various parameters. Because I can't get
* shutdown to work, I made two tests.
*
* @author <a href="[EMAIL PROTECTED]">Eric Pugh</a>
* @version $Id: TurbineTest.java,v 1.1 2003/06/02 10:24:46 henning Exp $
*/
public class TurbineTest extends ServletTestCase
{
private Configuration configuration = null;
private Turbine turbine = null;
/**
* Defines the testcase name for JUnit.
*
* @param name the testcase's name.
*/
public TurbineTest(String name)
{
super(name);
}
/**
* Start the tests.
*
* @param args the arguments. Not used
*/
public static void main(String args[])
{
TestRunner.main(new String[] { TurbineTest.class.getName()});
}
/**
* Creates the test suite.
*
* @return a test suite (<code>TestSuite</code>) that includes all methods
* starting with "test"
*/
public static Test suite()
{
// All methods starting with "test" will be executed in the test suite.
return new TestSuite(TurbineTest.class);
}
/**
* This setup will be running server side. We startup Turbine and
* get our test port from the properties. This gets run before
* each testXXX test.
*/
protected void setUp() throws Exception
{
super.setUp();
configuration = null;
turbine = new Turbine();
}
/**
* After each testXXX test runs, shut down the Turbine servlet.
*/
protected void tearDown() throws Exception
{
if (turbine != null)
{
turbine.destroy();
}
super.tearDown();
}
/**
* Simple test that verify that turbine throws an exception
* when all parameters are missing, and the default TR.props
* doesn't exists
* @throws Exception
*/
public void offtestCreateTurbineNoParameters() throws Exception
{
//System.out.println("Config:" + config.getInitParameter("properties"))
try
{
turbine.init(config);
fail(
"Should have thrown a javax.servlet.ServletException "
+ "because the default TR.props doesn't exist!");
}
catch (javax.servlet.ServletException se)
{
turbine = null;
}
assertTrue("Make sure turbine is null", turbine == null);
}
/**
* Simple test that verify that turbine can start up with a
* TR.props
* @throws Exception
*/
public void testCreateTurbineWithTRProps() throws Exception
{
config.setInitParameter(
"properties",
"WEB-INF/conf/TurbineComplete.properties");
turbine.init(config);
assertNotNull("Make sure turbine loaded", turbine);
configuration = turbine.getConfiguration();
assertTrue("Make sure we have values", !configuration.isEmpty());
assertEquals(
"Read a config value",
"lower",
configuration.getString("url.case.folding"));
}
}
1.1
jakarta-turbine-2/src/test-cactus/org/apache/turbine/TurbineTest2.java
Index: TurbineTest2.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache" or
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.turbine;
// Cactus and Junit imports
import junit.awtui.TestRunner;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.cactus.*;
import org.apache.turbine.Turbine;
import org.apache.commons.configuration.Configuration;
/**
* Test starting up Turbine with various parameters. Because I can't get
* shutdown to work, I made two tests.
*
* @author <a href="[EMAIL PROTECTED]">Eric Pugh</a>
* @version $Id: TurbineTest2.java,v 1.1 2003/06/02 10:24:46 henning Exp $
*/
public class TurbineTest2 extends ServletTestCase
{
private Configuration configuration = null;
private Turbine turbine = null;
/**
* Defines the testcase name for JUnit.
*
* @param name the testcase's name.
*/
public TurbineTest2(String name)
{
super(name);
}
/**
* Start the tests.
*
* @param args the arguments. Not used
*/
public static void main(String args[])
{
TestRunner.main(new String[] { TurbineTest2.class.getName()});
}
/**
* Creates the test suite.
*
* @return a test suite (<code>TestSuite</code>) that includes all methods
* starting with "test"
*/
public static Test suite()
{
// All methods starting with "test" will be executed in the test suite.
return new TestSuite(TurbineTest2.class);
}
/**
* This setup will be running server side. We startup Turbine and
* get our test port from the properties. This gets run before
* each testXXX test.
*/
protected void setUp() throws Exception
{
super.setUp();
configuration = null;
turbine = new Turbine();
}
/**
* After each testXXX test runs, shut down the Turbine servlet.
*/
protected void tearDown() throws Exception
{
if (turbine != null)
{
turbine.destroy();
}
super.tearDown();
}
/**
* Simple test that verify that turbine throws an exception
* when all parameters are missing, and the default TR.props
* doesn't exists
* @throws Exception
*/
public void offtestCreateTurbineNoParameters() throws Exception
{
//System.out.println("Config:" + config.getInitParameter("properties"))
try
{
turbine.init(config);
fail(
"Should have thrown a javax.servlet.ServletException "
+ "because the default TR.props doesn't exist!");
}
catch (javax.servlet.ServletException se)
{
turbine = null;
}
assertTrue("Make sure turbine is null", turbine == null);
}
/**
* Simple test that verify that turbine can start up with a
* configuration.xml file
* @throws Exception
*/
public void testCreateTurbineWithConfigurationXML() throws Exception
{
config.setInitParameter(
"configuration",
"WEB-INF/conf/TurbineConfiguration.xml");
turbine.init(config);
assertNotNull("Make sure turbine loaded", turbine);
configuration = turbine.getConfiguration();
assertTrue("Make sure we have values", !configuration.isEmpty());
assertEquals(
"Read a config value",
"lower",
configuration.getString("url.case.folding"));
assertEquals(
"Read in an overridden config value",
"WEB-INF/conf/specialIntake.xml",
configuration.getString("services.IntakeService.xml.path"));
}
}
1.1
jakarta-turbine-2/src/test-cactus/testapp/WEB-INF/conf/TurbineComplete.properties
Index: TurbineComplete.properties
===================================================================
# -------------------------------------------------------------------
# $Id: TurbineComplete.properties,v 1.1 2003/06/02 10:24:46 henning Exp $
#
# This is the configuration file for Turbine.
#
# Note that strings containing "," (comma) characters must backslash
# escape the comma (i.e. '\,')
#
# -------------------------------------------------------------------
# -------------------------------------------------------------------
#
# L O G S
#
# -------------------------------------------------------------------
log4j.file = /WEB-INF/conf/Log4j.properties
# -------------------------------------------------------------------
#
# M A I L S E R V E R
#
# -------------------------------------------------------------------
# Your mail server for outgoing email.
#
# Default: null
# -------------------------------------------------------------------
mail.server=localhost
# -------------------------------------------------------------------
# SMTP-From header for your outgoing messages
#
# All failed delivery messages will be returned to this address.
# If unset, these messages will be sent to the address in the
# From header (standard behaviour)
#
# Default: null
# -------------------------------------------------------------------
[EMAIL PROTECTED]
# -------------------------------------------------------------------
#
# M O D U L E C A C H I N G
#
# -------------------------------------------------------------------
# This determines whether or not to cache the modules in memory. For
# development, turn this off. For production, turn this on.
#
# Default: false
# -------------------------------------------------------------------
module.cache=false
# If module.cache=true, then how large should we make the hashtables
# by default.
action.cache.size=20
layout.cache.size=10
navigation.cache.size=10
page.cache.size=5
screen.cache.size=50
scheduledjob.cache.size=10
# -------------------------------------------------------------------
#
# M O D U L E P A C K A G E S
#
# -------------------------------------------------------------------
# This is the "classpath" for Turbine. In order to locate your own
# modules, you should add them to this path. For example, if you have
# com.company.actions, com.company.screens, com.company.navigations,
# then this setting would be "com.company,org.apache.turbine.modules".
# This path is searched in order. For example, Turbine comes with a
# screen module named "Login". If you wanted to have your own screen
# module named "Login", then you would specify the path to your
# modules before the others.
#
# Default: org.apache.turbine.modules
# -------------------------------------------------------------------
module.packages=com.upstate.turbine.modules,org.apache.turbine.modules
# -------------------------------------------------------------------
#
# F R A M E W O R K S E T T I N G S
#
# -------------------------------------------------------------------
# These are settings that control the behaviour of the framework,
# such as determining whether a template system is in use, what
# the default templates and screens are and session handling settings.
# -------------------------------------------------------------------
# Used to set the template homepage if you are using a template
# layout. This is the template that will be displayed to the user
# when no specific template is requested. This is normally executed
# as the first template the user sees when they access the system.
#
# Default: Index.vm
template.homepage=Index.vm
# This is the default screen to show to people when they first access
# the system. This is only used if there is no value for
# template.homepage. This is for use when you are not using a
# templating system such as Velocity or JSP.
#
# Default: Login
screen.homepage=
# This is the template that is shown on an incorrect login attempt.
# Setting this property will override any value of screen.login specfied
# below.
#
# Default: Login.vm
template.login=Login.vm
# This is the page that is shown on an incorrect login attempt. It is
# referenced in the LoginUser action. This is only used if there is no value
# for template.login. This is for use when you are not using a
# templating system such as Velocity or JSP.
#
# Default: Login
screen.login=
# This is the template that is used by the respective Template based
# ErrorScreen for displaying the error. If you are not using a Template based
# ErrorScreen, then this is ignored.
#
# Default: Error.vm
template.error=Error.vm
# This is the default error screen.
#
# Default: VelocityErrorScreen
screen.error=VelocityErrorScreen
# This is the screen that is displayed when the user's web page is in
# an invalid state.
#
# Default: error.InvalidState
screen.invalidstate=error.InvalidState
# Set the default Doctype. The default Doctype can be set by using
# the single strings: Html40Strict, Html40Transitional, or
# Html40Frameset. Additionally the default can be supplied as two
# strings separated by a comma giving the DTD and URI.
#
# Default: ignored if not set to some value.
default.doctype=Html40Transitional
# This is the default action to log a user in. If you write your own
# implementation of the login action, make sure that you change this
# to reflect the new name.
action.login=LoginUser
# This is the default action to log a user out. If you write your own
# implementation of the logout action, make sure that you change this
# to reflect the new name.
action.logout=LogoutUser
# This is the default action to validate whether or not a session is
# valid. For example, if you want to make sure if a user has already
# logged in or not.
#
# Default: SessionValidator
action.sessionvalidator=sessionvalidator.TemplateSessionValidator
# This is the timeout in seconds for sessions. If left commented out, the
# servlet container's default timeout will be left as is.
# session.timeout=1800
# This is the default action that builds up the AccessControlList for
# the individual users session.
action.accesscontroller=AccessController
# -------------------------------------------------------------------
#
# J N D I C O N T E X T S
#
# -------------------------------------------------------------------
# This indicates whether Turbine should try to create JNDI contexts.
#
# Default: false
#
# contexts=true
# These are the JNDI context properties. Each context's properties
# are defined by the properties beginning with context.name.
#
# Default: none
#
# Example: The following will create a JNDI context named "name" in
# the data.contexts Hashtable. It will point at the RMI registry on
# localhost running on port 1099, and will use
# com.sun.jndi.rmi.registry.RegistryContextFactory as the initial
# context factory:
#
# context.name.java.naming.provider.url=rmi://localhost:1099
#
context.name.java.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory
# -------------------------------------------------------------------
#
# P E E R S
#
# -------------------------------------------------------------------
# Supplies Turbine with information about the database schema, which
# can simplify any required Peer classes.
#
# Default: org.apache.turbine.util.db.map.TurbineMapBuilder
# -------------------------------------------------------------------
database.maps.builder=org.apache.turbine.util.db.map.TurbineMapBuilder
# -------------------------------------------------------------------
#
# M E S S A G E S
#
# -------------------------------------------------------------------
# Note that strings containing "," (comma) characters must backslash
# escape the comma (i.e. '\,')
# The message that can be displayed before a user logs in.
login.message=Thank you for your visit. Please log into the system.
# The message that can be displayed when no screen is defined.
login.message.noscreen=There has been an error. Your session is valid but the screen
variable is not defined.
# The message that can be displayed when a user enters an incorrect
# password or username.
login.error=Sorry your username or password is incorrect!
# The message that can be displayed when a user logs out.
logout.message=Thank you for using the system. Please come back soon.
# -------------------------------------------------------------------
#
# S E C U R E S O C K E T S L A Y E R
#
# -------------------------------------------------------------------
# Whether the web server is able to use SSL. Links in Turbine can
# check this property to determine if SSL can be used.
#
# Default: true
# -------------------------------------------------------------------
use.ssl=true
# -------------------------------------------------------------------
#
# S E R V I C E S
#
# -------------------------------------------------------------------
# Classes for Turbine Services should be defined here.
# Format: services.[name].classname=[implementing class]
#
# To specify properties of a service use the following syntax:
# service.[name].[property]=[value]
#
# The order that these services is listed is important! The
# order that is stated here is the order in which the services
# will be initialized. Keep this is mind if you have services
# that depend on other services during initialization.
# -------------------------------------------------------------------
services.CryptoService.classname=org.apache.turbine.services.crypto.TurbineCryptoService
services.ComponentService.classname=org.apache.turbine.services.component.TurbineComponentService
services.FactoryService.classname=org.apache.turbine.services.factory.TurbineFactoryService
services.PoolService.classname=org.apache.turbine.services.pool.TurbinePoolService
services.RunDataService.classname=org.apache.turbine.services.rundata.TurbineRunDataService
services.ServletService.classname=org.apache.turbine.services.servlet.TurbineServletService
services.AssemblerBrokerService.classname=org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService
services.LocalizationService.classname=org.apache.turbine.services.localization.TurbineLocalizationService
services.MimeTypeService.classname=org.apache.turbine.services.mimetype.TurbineMimeTypeService
services.GlobalCacheService.classname=org.apache.turbine.services.cache.TurbineGlobalCacheService
#services.SchedulerService.classname=org.apache.turbine.services.schedule.TurbineSchedulerService
services.UniqueIdService.classname=org.apache.turbine.services.uniqueid.TurbineUniqueIdService
services.UploadService.classname=org.apache.turbine.services.upload.TurbineUploadService
services.SecurityService.classname=org.apache.turbine.services.security.db.DBSecurityService
services.PullService.classname=org.apache.turbine.services.pull.TurbinePullService
services.TemplateService.classname=org.apache.turbine.services.template.TurbineTemplateService
# Turn on the appropriate template service.
services.VelocityService.classname=org.apache.turbine.services.velocity.TurbineVelocityService
# -------------------------------------------------------------------
#
# R U N D A T A S E R V I C E
#
# -------------------------------------------------------------------
# Default implementations of base interfaces for request processing.
# Additional configurations can be defined by using other keys
# in the place of the <default> key.
# -------------------------------------------------------------------
services.RunDataService.default.run.data=org.apache.turbine.services.rundata.DefaultTurbineRunData
services.RunDataService.default.parameter.parser=org.apache.turbine.util.parser.DefaultParameterParser
services.RunDataService.default.cookie.parser=org.apache.turbine.util.parser.DefaultCookieParser
# -------------------------------------------------------------------
#
# C A C H E S E R V I C E
#
# -------------------------------------------------------------------
# Interval at which the cache will be checked. The default is
# 5000ms or 5 seconds.
services.GlobalCacheService.cache.check.frequency = 5000
# -------------------------------------------------------------------
#
# A S S E M B L E R B R O K E R S E R V I C E
#
# -------------------------------------------------------------------
# A list of AssemblerFactory classes that will be registered
# with TurbineAssemblerBrokerService
# -------------------------------------------------------------------
services.AssemblerBrokerService.screen=org.apache.turbine.services.assemblerbroker.util.java.JavaScreenFactory
services.AssemblerBrokerService.action=org.apache.turbine.services.assemblerbroker.util.java.JavaActionFactory
services.AssemblerBrokerService.layout=org.apache.turbine.services.assemblerbroker.util.java.JavaLayoutFactory
services.AssemblerBrokerService.page=org.apache.turbine.services.assemblerbroker.util.java.JavaPageFactory
services.AssemblerBrokerService.navigation=org.apache.turbine.services.assemblerbroker.util.java.JavaNavigationFactory
services.AssemblerBrokerService.scheduledjob=org.apache.turbine.services.assemblerbroker.util.java.JavaScheduledJobFactory
# -------------------------------------------------------------------
#
# T E M P L A T E S E R V I C E
#
# -------------------------------------------------------------------
# Roughly, the number of templates in each category.
#
# Defaults: layout=2, navigation=10, screen=50
services.TemplateService.layout.cache.size=2
services.TemplateService.navigation.cache.size=10
services.TemplateService.screen.cache.size=50
# -------------------------------------------------------------------
#
# P U L L S E R V I C E
#
# -------------------------------------------------------------------
# These are the properties for the Pull Service, the service
# that works in conjuction with the Turbine Pull Model API.
# -------------------------------------------------------------------
services.PullService.earlyInit= true
# This determines whether the non-request tools are refreshed
# on each request (request tools aren't ever, because they're
# instantiated for the request only anyway).
services.PullService.tools.per.request.refresh=true
# These are tools that are placed in the context by the service
# These tools will be made available to all your
# templates. You list the tools in the following way:
#
# tool.<scope>.<id> = <classname>
#
# <scope> is the tool scope: global, request, session
# or persistent (see below for more details)
# <id> is the name of the tool in the context
#
# You can configure the tools in this way:
# tool.<id>.<parameter> = <value>
#
# So if you find "global", "request", "session" or "persistent" as second
# part, it is a configuration to put a tool into the toolbox, else it is a
# tool specific configuration.
#
# For example:
#
# tool.global.ui = org.apache.turbine.util.pull.UIManager
# tool.global.mm = org.apache.turbine.util.pull.MessageManager
# tool.request.link = org.apache.turbine.services.pull.tools.TemplateLink
# tool.request.page = org.apache.turbine.util.template.TemplatePageAttributes
#
# Then:
#
# tool.ui.skin = default
#
# configures the value of "skin" for the "ui" tool.
#
# Tools are accessible in all templates by the <id> given
# to the tool. So for the above listings the UIManager would
# be available as $ui, the MessageManager as $mm, the TemplateLink
# as $link and the TemplatePageAttributes as $page.
#
# You should avoid using tool names called "global", "request",
# "session" or "persistent" because of clashes with the possible Scopes.
#
# Scopes:
#
# global: tool is instantiated once and that instance is available
# to all templates for all requests. Tool must be threadsafe.
#
# request: tool is instantiated once for each request (although the
# PoolService is used to recycle instances). Tool need not
# be threadsafe.
#
# session: tool is instantiated once for each user session, and is
# stored in the user's temporary hashtable. Tool should be
# threadsafe.
#
# persistent: tool is instantitated once for each use session, and
# is stored in the user's permanent hashtable. This means
# for a logged in user the tool will be persisted in the
# user's objectdata. Tool should be threadsafe and
# Serializable.
#
# Defaults: none
tool.request.link=org.apache.turbine.service.pull.tools.TemplateLink
tool.request.page=org.apache.turbine.util.template.HtmlPageAttributes
tool.request.content=org.apache.turbine.service.pull.tools.ContentTool
#tool.request.l10n=org.apache.turbine.services.localization.LocalizationTool
# -------------------------------------------------------------------
#
# V E L O C I T Y S E R V I C E
#
# -------------------------------------------------------------------
services.VelocityService.earlyInit= true
# The location of Velocity configuration file, relative to webapp root
# These properties will override the default properties set by Velocity.
# You should specify the path to the templates directories as well as
# the path to the log file and they should also be relative to webapp root
services.VelocityService.template.extension=vm
services.VelocityService.default.page = VelocityPage
services.VelocityService.default.screen=DefaultScreen
services.VelocityService.default.layout = VelocityECSLayout
services.VelocityService.default.navigation=VelocityNavigation
services.VelocityService.default.error.screen = VelocityErrorScreen
services.VelocityService.default.layout.template = /Default.vm
services.VelocityService.runtime.log=/logs/velocity.log
#services.VelocityService.input.encoding=UTF-8
services.VelocityService.velocimacro.library = GlobalMacros.vm
services.VelocityService.resource.loader = file
services.VelocityService.file.resource.loader.description = Velocity File Resource
Loader
services.VelocityService.file.resource.loader.class =
org.apache.velocity.runtime.resource.loader.FileResourceLoader
services.VelocityService.file.resource.loader.path = /templates/app
services.VelocityService.file.resource.loader.cache = true
services.VelocityService.file.resource.loader.modificationCheckInterval = 2
services.VelocityService.resource.loader = classpath
services.VelocityService.classpath.resource.loader.description = Velocity Classpath
Resource Loader
services.VelocityService.classpath.resource.loader.class =
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
# -------------------------------------------------------------------
#
# J S P S E R V I C E
#
# -------------------------------------------------------------------
services.JspService.template.extension=jsp
services.JspService.default.page = JspPage
services.JspService.default.screen=BaseJspScreen
services.JspService.default.layout = JspLayout
services.JspService.default.navigation=BaseJspNavigation
services.JspService.default.error.screen = JspErrorScreen
services.JspService.default.layout.template = Default.jsp
services.JspService.templates = /templates/app
services.JspService.buffer.size = 8192
# -------------------------------------------------------------------
#
# U P L O A D S E R V I C E
#
# -------------------------------------------------------------------
# Whether the files should be automatically picked up by
# ParameterParser.
services.UploadService.automatic=true
#
# The directory where files will be temporarily stored.
#
services.UploadService.repository=.
#
# The maximum size of a request that will be processed.
#
services.UploadService.size.max=1048576
#
# The maximum size of a request that will have it's elements cached in
# memory by TurbineUploadService class.
#
services.UploadService.size.threshold=10240
# -------------------------------------------------------------------
#
# L O C A L I Z A T I O N S E R V I C E
#
# -------------------------------------------------------------------
# Default ResourceBundle and language/country codes used by the
# TurbineLocalizationService.
#
locale.default.bundle=MyBundle
locale.default.language=en
locale.default.country=US
#
# This will set the charset= portion of the ContentType: header.
# Leave commented out unless you want to return stuff as a different
# charset.
#
# locale.default.charset=
# -------------------------------------------------------------------
#
# M I M E T Y P E S E R V I C E
#
# -------------------------------------------------------------------
# This property specifies a file containing mappings between MIME
# content types and the corresponding file name extensions. The
# service itself contains a hardcoded set of most common mappings.
# The file must use the same syntax as the mime.types file of
# the Apache Server, i.e.
# <mimetype> <ext1> <ext2>...
#
#services.MimeTypeService.mime.types=/WEB-INF/conf/mime.types
# This property specifies a file containing mappings between locales
# and the corresponding character encodings. The service itself
# contains a hardcoded set of most common mappings.
# The file should use the Java property file syntax, i.e.
# <lang_country_variant>=<charset>
#
#services.MimeTypeService.charsets=/WEB-INF/conf/charset.properties
# -------------------------------------------------------------------
#
# S C H E D U L E R S E R V I C E
#
# -------------------------------------------------------------------
#
# Set enabled to true to start the scheduler. The scheduler can be
# stopped and started after Turbine has been intialized. See the
# javadocs for org.apache.turbine.services.schedule.TurbineScheduler
# for the methods calls.
#
# Default = false
#
services.SchedulerService.enabled=false
# Determines if the scheduler service should be initialized early. This
# Should always be set to true!!!!
services.SchedulerService.earlyInit=true
# -------------------------------------------------------------------
#
# C R Y P T O S E R V I C E
#
# -------------------------------------------------------------------
#
# Standard Unix crypt(3) password encryption.
#
services.CryptoService.algorithm.unix =
org.apache.turbine.services.crypto.provider.UnixCrypt
#
# This providers allows access to the Java Message Digest encryption algorithms
#
services.CryptoService.algorithm.java =
org.apache.turbine.services.crypto.provider.JavaCrypt
#
# This is a simple, cleartext "encryption" provider.
#
services.CryptoService.algorithm.cleartext =
org.apache.turbine.services.crypto.provider.ClearCrypt
#
# Use this provider if you upgrade from Turbine 2.1 to current. It provides
bug-to-bug
# compatibility for passwords created with the old Security Service. See the
javadocs for
# OldJavaCrypt
#
services.CryptoService.algorithm.oldjava =
org.apache.turbine.services.crypto.provider.OldJavaCrypt
#
# This is the default crypto provider. It implements the normal Java MessageDigest
ciphers
# You need not to have this, it is the default if no algorithms are given. The
default
# provider gives you all the Java MessageDigest Ciphers
#
services.CryptoService.algorithm.default =
org.apache.turbine.services.crypto.provider.JavaCrypt
# -------------------------------------------------------------------
#
# S E C U R I T Y S E R V I C E
#
# -------------------------------------------------------------------
#
# This is the class that implements the UserManager interface to
# manage User objects. Default is the UserManager from the
# DBSecurityService.
# Override this setting if you want your User information stored
# on a different medium (LDAP directory is a good example).
#
# Adjust this setting if you change the Setting of the SecurityService class (see
above).
# Default: org.apache.turbine.services.security.db.DBUserManager
services.SecurityService.user.manager =
org.apache.turbine.services.security.db.DBUserManager
#
# These are the default classes used by the Security Service to
# provide User, Group, Role and Permission objects.
# You want to override this setting only if you want your
# implementation to provide application specific addtional
# functionality.
#
# For LDAP use:
#
services.SecurityService.user.class=org.apache.turbine.services.security.ldap.LDAPUser
# LDAP does not yet provide custom Group, User and Role objects so you
# must use it with the default TurbineGroup, TurbineRole and
# TurbinePermission objects.
#
# Class for User. Default: org.apache.turbine.om.security.TurbineUser
services.SecurityService.user.class=org.apache.turbine.om.security.TurbineUser
# Class for Group. Default: org.apache.turbine.om.security.TurbineGroup
services.SecurityService.group.class=org.apache.turbine.om.security.TurbineGroup
# Class for Role. Default: org.apache.turbine.om.security.TurbineRole
services.SecurityService.role.class=org.apache.turbine.om.security.TurbineRole
# Class for Permission. Default: org.apache.turbine.om.security.TurbinePermission
services.SecurityService.permission.class=org.apache.turbine.om.security.TurbinePermission
#
# This is the class that implements the ACL interface.
# You want to override this setting only if you want your ACL
# implementation to provide application specific addtional
# functionality.
#
# Default: org.apache.turbine.util.security.TurbineAccessControlList
services.SecurityService.acl.class =
org.apache.turbine.util.security.TurbineAccessControlList
#
# This setting is DBSecurityService specific - this class is consulted for the names
# of the columns in the users' tables for the purpose of creating join queries.
# If you use your own User implementation in conjunction with DBSecurityService,
# it's peer class must implement org.apache.turbine.om.security.peer.UserPeer
interface,
# and you need to specify the name of the peer class here.
#
# Default: org.apache.turbine.om.security.peer.TurbineUserPeer
#
services.SecurityService.userPeer.class=org.apache.turbine.om.security.peer.TurbineUserPeer
#
# This is used by the SecurityService to make the password checking
# secure. When enabled, passwords are transformed by a one-way
# function into a sequence of bytes that is base64 encoded.
# It is impossible to guess the plain-text form of the password
# from the representation. When user logs in, the entered password
# is transformed the same way and then compared with stored value.
#
# Default: false
#
services.SecurityService.secure.passwords=false
#
# This property lets you choose what digest algorithm will be used
# for encrypting passwords. Check documentation of your JRE for
# available algorithms.
#
# Default: SHA
#
services.SecurityService.secure.passwords.algorithm=SHA
# Configuration for the LDAP Security Service implementation
#services.SecurityService.ldap.security.athentication=simple
#services.SecurityService.ldap.port=<LDAP PORT>
#services.SecurityService.ldap.host=<LDAP HOST>
#services.SecurityService.ldap.admin.username=<ADMIN USERNAME>
#services.SecurityService.ldap.admin.password=<ADMIN PASSWORD>
#services.SecurityService.ldap.user.basesearch=<SEARCH PATTERN>
#services.SecurityService.ldap.user.search.filter=<SEARCH FILTER>
#services.SecurityService.ldap.dn.attribute=userPrincipalName
#services.SecurityService.ldap.provider=com.sun.jndi.ldap.LdapCtxFactory
#
# This property specifies the type of security authentication
#
# Default: simple
#
# services.SecurityService.ldap.security.authentication=simple
#
# The host name where the LDAP server is listenting.
#
# Default: localhost
#
# services.SecurityService.ldap.host=localhost
#
# The port number where the LDAP server is listenting.
#
# Default: 389
#
# services.SecurityService.ldap.port=389
#
# The user name of the admin user. The admin user should be able to
# read from the LDAP repository.
# Characteres '/' are replaced by '=' and '%' are replaced by ','.
#
# Default: none
#
#
services.SecurityService.ldap.admin.username=turbineUserUniqueId/turbine%dc/example%dc/com
#
# The password of the admin user.
#
# Default: none
#
# services.SecurityService.ldap.admin.password=turbine
#
# The class name of the ldap provider.
#
# Default: com.sun.jndi.ldap.LdapCtxFactory
#
# services.SecurityService.ldap.provider=com.sun.jndi.ldap.LdapCtxFactory
#
# The directory base to search.
# '/' are replaced by '=' and '%' are replaced by ','.
#
# Default: none
#
# services.SecurityService.ldap.basesearch=dc/example%dc/com
#
# The unique id. It must be an integer field and it is required only when
# the users are in LDAP but the groups, roles and permissions are in the
# Database.
#
# services.SecurityService.ldap.user.userid=
#
# This property maps the username with an attribute in LDAP.
#
# Default: turbineUserUniqueId
#
# services.SecurityService.ldap.user.username=turbineUserUniqueId
#
# This property maps the firstname with an attribute in LDAP.
#
# Default: turbineUserFirstName
#
# services.SecurityService.ldap.user.firstname=turbineUserFirstName
#
# This property maps the lastname with an attribute in LDAP.
#
# Default: turbineUserLastName
#
# services.SecurityService.ldap.user.lastname=turbineUserLastName
#
# This property maps the email with an attribute in LDAP.
#
# Default: turbineUserMailAddress
#
# services.SecurityService.ldap.user.email=turbineUserMailAddress
#
# This property maps the userPassword with an attribute in LDAP.
#
# Default: none
#
# services.SecurityService.ldap.user.password=userPassword
# -------------------------------------------------------------------
#
# X M L R P C S E R V I C E
#
# -------------------------------------------------------------------
# This property specifies which class should be used to parse
# xml for XmlRpc functionality.
#
# Default: org.apache.xerces.parsers.SAXParser
services.XmlRpcService.parser=org.apache.xerces.parsers.SAXParser
# This property specifies which network interface the server part of
# XmlRpc should bind to (if it is active). If not specified, the
# server will bind to all addresses configured for your host.
#
# Default: 127.0.0.1
#services.XmlRpcService.address=127.0.0.1
# This property specifies which TCP port the web server part of
# XmlRpc should listen on (if it is active).
#
# Default: 12345
services.XmlRpcService.port=12345
# If any classes are specified here, the Service will create an
# instance of them here and start up a listener on the specified
# port.
#
# Note that the handlers demonstrated are not very useful. You
# will have to invent your own services. They do however
# illustrate that any class with a default constructor can be
# added here
#
# The handler parameter without further extension determines
# the default handler for the service
#
# Default: no classes are specified by default
#services.XmlRpcService.handler.$default=java.util.Hashtable
#services.XmlRpcService.handler.stringhandler=java.lang.String
# The following properties allow the transfer of data between
# separate Turbine applications running on different servers.
# This allows B2B type behavior such as sending database
# updates in the form of XML or whatever type of data
# that needs to be shared between Turbine applications
# running on separate servers.
services.XmlRpcService.handler.file =
org.apache.turbine.services.xmlrpc.util.FileHandler
services.XmlRpcService.paranoid = false
services.XmlRpcService.acceptClient = 192.168.1.*
services.XmlRpcService.denyClient =
# Do we want a secure server
services.XmlRpcService.secure.server = false
# Secure server options
services.XmlRpcService.secure.server.option.java.protocol.handler.pkgs = \
com.sun.net.ssl.internal.www.protocol
services.XmlRpcService.secure.server.option.security.provider = \
com.sun.net.ssl.internal.ssl.Provider
services.XmlRpcService.secure.server.option.security.protocol = TLS
# You probably want to keep your key stores and trust stores
# clear out of your webapp.
services.XmlRpcService.secure.server.option.javax.net.ssl.keyStore = /tmp/keystore
services.XmlRpcService.secure.server.option.javax.net.ssl.keyStoreType = jks
services.XmlRpcService.secure.server.option.javax.net.ssl.keyStorePassword = password
services.XmlRpcService.secure.server.option.javax.net.ssl.trustStore =
/tmp/truststore
services.XmlRpcService.secure.server.option.javax.net.ssl.trustStoreType = jks
services.XmlRpcService.secure.server.option.javax.net.ssl.trustStorePassword =
password
services.XmlRpcService.secure.server.option.sun.ssl.keymanager.type = SunX509
services.XmlRpcService.secure.server.option.sun.ssl.trust.manager.type = SunX509
# These values should be set to 'all' for debugging purposes.
services.XmlRpcService.secure.server.option.javax.net.debug = none
services.XmlRpcService.secure.server.option.java.security.debug = none
# -------------------------------------------------------------------
#
# P O O L S E R V I C E
#
# -------------------------------------------------------------------
# Default capacity of pools of the Object pooling service.
#
# Default: 128
services.PoolService.pool.capacity = 128
# Class specific capacities used instead of the default if specified.
#
#services.PoolService.pool.capacity.org.apache.turbine.services.rundata.DefaultTurbineRunData=512
# -------------------------------------------------------------------
#
# F A C T O R Y S E R V I C E
#
# -------------------------------------------------------------------
# A comma separated list of classloaders (very optional)
#
# Example: org.foo.bar.MyClassLoader, org.ack.joe.YourClassLoader
#
#services.FactoryService.class.loaders=
# Customized factories to be used instead of the default factory.
# E.g. to instantiate XML parsers, SSL sockets, etc., which require
# specific instantiation not supported by the default factory.
# The property name is prefixed with "factory" followed by the
# name of the production class. The value is the class name of
# the factory implementing the Factory interface. The factory
# will be instantiated by using the service itself.
#
# Examples:
#
#
services.FactoryService.factory.javax.xml.parsers.DocumentBuilder=org.foo.xml.DomBuilderFactory
#
services.FactoryService.factory.javax.xml.parsers.SAXParser=org.foo.xml.SaxParserFactory
#
services.FactoryService.factory.java.net.ServerSocket=org.foo.net.SslServerSocketFactory
#--------------------------------------------------------------------
#
# X S L T S E R V I C E
#
#--------------------------------------------------------------------
services.XSLTService.path = /path/to/stylesheets
services.XSLTService.cache = false
# -------------------------------------------------------------------
#
# I N T A K E S E R V I C E
#
# -------------------------------------------------------------------
# The location of the xml file specifying valid inputs
#
# If you need to define multiple definition files, you can should
# seperate them with commas.
#
# Default: WEB-INF/conf/intake.xml
#
services.IntakeService.xml.path=WEB-INF/conf/intake.xml
# This file is used to cache the XML definitions after they are
# parsed. It provides for a small performance gain on startup.
#
# Note: Even if you have multiple XML definition files, you will
# only need one serialization file!
#
# Default: WEB-INF/appData.ser
#
services.IntakeService.serialize.path=WEB-INF/appData.ser
#--------------------------------------------------------------------
#
# P A R A M E T E R P A R S E R
#
#--------------------------------------------------------------------
#
# This variable controls the case folding applied to URL variable
# names.
#
# Allowed values: none, lower, upper
# Default: lower
#
url.case.folding=lower
# -------------------------------------------------------------------
#
# A D D I T I O N A L P R O P E R T I E S
#
# -------------------------------------------------------------------
# The full path name to an additional properties file. Properties in
# this file will be included in this property set. Duplicate name
# values will be replaced, so be careful.
#
# Default: none
# -------------------------------------------------------------------
1.1
jakarta-turbine-2/src/test-cactus/testapp/WEB-INF/conf/TurbineConfiguration.xml
Index: TurbineConfiguration.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<dom4j className="org.apache.commons.configuration.DOM4JConfiguration"
fileName="/WEB-INF/conf/TurbineResources.xml"/>
<properties className="org.apache.commons.configuration.PropertiesConfiguration"
fileName="/WEB-INF/conf/TurbineComplete.properties"/>
</configuration>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]