blob: a15c1d9aba2778c9ad20e64f718d12f6c7fa3753 [file] [log] [blame]
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<document>
<properties>
<title>Turbine Services - Resources Service</title>
</properties>
<body>
<section name="Resources Service">
<p>
Within Turbine was a service for reading and accessing data in Property
files. The classes that accomplish this have been borrowed from the
Apache JServ project, moved many time and finally ended up in the <a
href="http://jakarta.apache.org/commons/sandbox/configuration">commons-configuration</a>
sub-project. So we removed the Service itself and now use commons-configuration everywhere.
</p>
</section>
<section name="Configuring Turbine">
<p>
Turbine gets its configuration file from the servlet container at
startup time. It is necessary to have an init parameter in the
servlet section of your web.xml file:
</p>
<source><![CDATA[
<init-param>
<param-name>properties</param-name>
<!-- This is relative to the docBase -->
<param-value>
/WEB-INF/conf/TurbineResources.properties
</param-value>
</init-param>
]]></source>
</section>
<section name="Accessing properties">
<p>
Turbine post-2.2 uses commons-configuration all over the place, so if
you want to access properties files, you can use it in two ways.
</p>
<p>
Inside arbitrary code:
</p>
<source><![CDATA[
import org.apache.commons.configuration.Configuration;
import org.apache.turbine.Turbine;
//
// Access all properties from TurbineResource.properties
Configuration conf = Turbine.getConfiguration();
String myProperty = conf.getString("this.is.my.property");
]]></source>
<p>
Inside a service, you can easily access the already subclassed
property object for your service (that is, with the services.&lt;your service name&gt;
stripped away from the property:
</p>
<source><![CDATA[
public class myService extends TurbineBaseService
{
.
.
.
Configuration conf = getConfiguration();
String myProp = conf.getString("my.property"); // services.myService.my.property
.
.
.
}
]]></source>
</section>
</body>
</document>