You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by rg...@apache.org on 2008/12/08 08:52:28 UTC
svn commit: r724277 - in /commons/proper/configuration/trunk: conf/
src/java/org/apache/commons/configuration/
Author: rgoers
Date: Sun Dec 7 23:52:28 2008
New Revision: 724277
URL: http://svn.apache.org/viewvc?rev=724277&view=rev
Log:
Fix checkstyle errors
Modified:
commons/proper/configuration/trunk/conf/checkstyle.xml
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MultiFileHierarchicalConfiguration.java
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java
Modified: commons/proper/configuration/trunk/conf/checkstyle.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/conf/checkstyle.xml?rev=724277&r1=724276&r2=724277&view=diff
==============================================================================
--- commons/proper/configuration/trunk/conf/checkstyle.xml (original)
+++ commons/proper/configuration/trunk/conf/checkstyle.xml Sun Dec 7 23:52:28 2008
@@ -58,7 +58,7 @@
<!-- Checks for Headers -->
<!-- See http://checkstyle.sf.net/config_header.html -->
<module name="Header">
- <property name="headerFile" value="${basedir}/conf/HEADER.txt"/>
+ <property name="headerFile" value="conf/HEADER.txt"/>
<property name="ignoreLines" value="2"/>
</module>
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java?rev=724277&r1=724276&r2=724277&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java Sun Dec 7 23:52:28 2008
@@ -34,10 +34,29 @@
import java.math.BigInteger;
/**
- *
+ * DynamicCombinedConfiguration allows a set of CombinedConfigurations to be used. Each CombinedConfiguration
+ * is referenced by a key that is dynamically constructed from a key pattern on each call. The key pattern
+ * will be resolved using the configured ConfigurationInterpolator.
+ * @since 1.6
+ * @author <a
+ * href="http://commons.apache.org/configuration/team-list.html">Commons
+ * Configuration team</a>
+ * @version $Id: $
*/
public class DynamicCombinedConfiguration extends CombinedConfiguration
{
+ /**
+ * Prevent recursion while resolving unprefixed properties.
+ */
+ private static ThreadLocal recursive = new ThreadLocal()
+ {
+ protected synchronized Object initialValue()
+ {
+ return Boolean.FALSE;
+ }
+ };
+
+ /** The CombinedConfigurations */
private Map configs = new HashMap();
/** Stores a list with the contained configurations. */
@@ -46,20 +65,12 @@
/** Stores a map with the named configurations. */
private Map namedConfigurations = new HashMap();
+ /** The key pattern for the CombinedConfiguration map */
private String keyPattern;
/** Stores the combiner. */
private NodeCombiner nodeCombiner;
- /*
- * Prevent recursion while resolving unprefixed properties.
- */
- private static ThreadLocal recursive = new ThreadLocal() {
- protected synchronized Object initialValue() {
- return Boolean.FALSE;
- }
- };
-
/**
* Creates a new instance of <code>CombinedConfiguration</code> and
* initializes the combiner to be used.
@@ -171,7 +182,7 @@
*/
public Configuration getConfiguration(int index)
{
- ConfigData cd = (ConfigData)configurations.get(index);
+ ConfigData cd = (ConfigData) configurations.get(index);
return cd.getConfiguration();
}
@@ -184,7 +195,7 @@
*/
public Configuration getConfiguration(String name)
{
- return (Configuration)namedConfigurations.get(name);
+ return (Configuration) namedConfigurations.get(name);
}
/**
@@ -227,7 +238,7 @@
{
for (int index = 0; index < getNumberOfConfigurations(); index++)
{
- if ((((ConfigData)configurations.get(index)).getConfiguration() == config))
+ if (((ConfigData) configurations.get(index)).getConfiguration() == config)
{
removeConfigurationAt(index);
@@ -245,7 +256,7 @@
*/
public Configuration removeConfigurationAt(int index)
{
- ConfigData cd = (ConfigData)configurations.remove(index);
+ ConfigData cd = (ConfigData) configurations.remove(index);
if (cd.getName() != null)
{
namedConfigurations.remove(cd.getName());
@@ -588,7 +599,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.addConfigurationListener(l);
}
}
@@ -598,7 +609,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.removeConfigurationListener(l);
}
return super.removeConfigurationListener(l);
@@ -614,7 +625,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.clearConfigurationListeners();
}
super.clearConfigurationListeners();
@@ -625,7 +636,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.addErrorListener(l);
}
super.addErrorListener(l);
@@ -636,7 +647,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.removeErrorListener(l);
}
return super.removeErrorListener(l);
@@ -647,7 +658,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.clearErrorListeners();
}
super.clearErrorListeners();
@@ -698,7 +709,7 @@
Iterator iter = configs.values().iterator();
while (iter.hasNext())
{
- CombinedConfiguration config = (CombinedConfiguration)iter.next();
+ CombinedConfiguration config = (CombinedConfiguration) iter.next();
config.invalidate();
}
}
@@ -710,7 +721,7 @@
*/
protected Object resolveContainerStore(String key)
{
- if (((Boolean)recursive.get()).booleanValue())
+ if (((Boolean) recursive.get()).booleanValue())
{
return null;
}
@@ -729,9 +740,9 @@
{
String key = getSubstitutor().replace(keyPattern);
CombinedConfiguration config;
- synchronized(getNodeCombiner())
+ synchronized (getNodeCombiner())
{
- config = (CombinedConfiguration)configs.get(key);
+ config = (CombinedConfiguration) configs.get(key);
if (config == null)
{
config = new CombinedConfiguration(getNodeCombiner());
@@ -739,20 +750,20 @@
Iterator iter = config.getErrorListeners().iterator();
while (iter.hasNext())
{
- ConfigurationErrorListener listener = (ConfigurationErrorListener)iter.next();
+ ConfigurationErrorListener listener = (ConfigurationErrorListener) iter.next();
config.addErrorListener(listener);
}
iter = config.getConfigurationListeners().iterator();
while (iter.hasNext())
{
- ConfigurationListener listener = (ConfigurationListener)iter.next();
+ ConfigurationListener listener = (ConfigurationListener) iter.next();
config.addConfigurationListener(listener);
}
config.setForceReloadCheck(isForceReloadCheck());
iter = configurations.iterator();
while (iter.hasNext())
{
- ConfigData data = (ConfigData)iter.next();
+ ConfigData data = (ConfigData) iter.next();
config.addConfiguration(data.getConfiguration(), data.getName(),
data.getAt());
}
@@ -762,7 +773,9 @@
return config;
}
-
+ /**
+ * Internal class that identifies each Configuration.
+ */
class ConfigData
{
/** Stores a reference to the configuration. */
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MultiFileHierarchicalConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MultiFileHierarchicalConfiguration.java?rev=724277&r1=724276&r2=724277&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MultiFileHierarchicalConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/MultiFileHierarchicalConfiguration.java Sun Dec 7 23:52:28 2008
@@ -46,23 +46,38 @@
* providing a pattern of "file:///opt/config/${product}/${client}/config.xml" will result in
* "product" and "client" being resolved on every call. The configuration resulting from the
* resolved pattern will be saved for future access.
+ * @since 1.6
+ * @author <a
+ * href="http://commons.apache.org/configuration/team-list.html">Commons
+ * Configuration team</a>
+ * @version $Id: $
*/
public class MultiFileHierarchicalConfiguration extends AbstractHierarchicalFileConfiguration
implements ConfigurationListener, ConfigurationErrorListener
{
- private final Map configurationsMap = new HashMap();
- private String pattern;
- private boolean init = false;
+ /** FILE URL prefix */
private static final String FILE_URL_PREFIX = "file:";
- /*
+
+ /**
* Prevent recursion while resolving unprefixed properties.
*/
- private static ThreadLocal recursive = new ThreadLocal() {
- protected synchronized Object initialValue() {
+ private static ThreadLocal recursive = new ThreadLocal()
+ {
+ protected synchronized Object initialValue()
+ {
return Boolean.FALSE;
}
};
+ /** Map of configurations */
+ private final Map configurationsMap = new HashMap();
+
+ /** key pattern for configurationsMap */
+ private String pattern;
+
+ /** True if the constructor has finished */
+ private boolean init;
+
/**
* Default Constructor.
*/
@@ -516,7 +531,7 @@
Iterator iter = getConfigurationListeners().iterator();
while (iter.hasNext())
{
- ConfigurationListener listener = (ConfigurationListener)iter.next();
+ ConfigurationListener listener = (ConfigurationListener) iter.next();
listener.configurationChanged(event);
}
}
@@ -529,7 +544,7 @@
Iterator iter = getErrorListeners().iterator();
while (iter.hasNext())
{
- ConfigurationErrorListener listener = (ConfigurationErrorListener)iter.next();
+ ConfigurationErrorListener listener = (ConfigurationErrorListener) iter.next();
listener.configurationError(event);
}
}
@@ -542,7 +557,7 @@
*/
protected Object resolveContainerStore(String key)
{
- if (((Boolean)recursive.get()).booleanValue())
+ if (((Boolean) recursive.get()).booleanValue())
{
return null;
}
@@ -563,7 +578,7 @@
public void removeConfiguration()
{
String path = getSubstitutor().replace(pattern);
- synchronized(configurationsMap)
+ synchronized (configurationsMap)
{
configurationsMap.remove(path);
}
@@ -582,11 +597,11 @@
throw new ConfigurationRuntimeException("File pattern must be defined");
}
String path = getSubstitutor().replace(pattern);
- synchronized(configurationsMap)
+ synchronized (configurationsMap)
{
if (configurationsMap.containsKey(path))
{
- return (AbstractHierarchicalFileConfiguration)configurationsMap.get(path);
+ return (AbstractHierarchicalFileConfiguration) configurationsMap.get(path);
}
}
@@ -601,7 +616,7 @@
{
}
};
- synchronized(configurationsMap)
+ synchronized (configurationsMap)
{
configurationsMap.put(pattern, configuration);
}
@@ -618,7 +633,7 @@
configuration.setReloadingStrategy(getReloadingStrategy());
configuration.addConfigurationListener(this);
configuration.addErrorListener(this);
- synchronized(configurationsMap)
+ synchronized (configurationsMap)
{
if (!configurationsMap.containsKey(path))
{
@@ -658,8 +673,8 @@
}
catch (MalformedURLException ex2)
{
- throw new FileNotFoundException("Resource location [" + resourceLocation +
- "] is not a URL or a well-formed file path");
+ throw new FileNotFoundException("Resource location [" + resourceLocation
+ + "] is not a URL or a well-formed file path");
}
}
}
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java?rev=724277&r1=724276&r2=724277&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java Sun Dec 7 23:52:28 2008
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
package org.apache.commons.configuration;
import java.math.BigDecimal;
@@ -18,23 +34,37 @@
* Wraps a HierarchicalConfiguration and allows subtrees to be access via a configured path with
* replaceable tokens derived from the ConfigurationInterpolator. When used with injection frameworks
* such as Spring it allows components to be injected with subtrees of the configuration.
+ * @since 1.6
+ * @author <a
+ * href="http://commons.apache.org/configuration/team-list.html">Commons
+ * Configuration team</a>
+ * @version $Id: $
*/
public class PatternSubtreeConfigurationWrapper extends AbstractHierarchicalFileConfiguration
{
- private final AbstractHierarchicalFileConfiguration config;
- private final String path;
- private final boolean trailing;
- private boolean init = false;
-
- /*
+ /**
* Prevent recursion while resolving unprefixed properties.
*/
- private static ThreadLocal recursive = new ThreadLocal() {
- protected synchronized Object initialValue() {
+ private static ThreadLocal recursive = new ThreadLocal()
+ {
+ protected synchronized Object initialValue()
+ {
return Boolean.FALSE;
}
};
+ /** The wrapped configuration */
+ private final AbstractHierarchicalFileConfiguration config;
+
+ /** The path to the subtree */
+ private final String path;
+
+ /** True if the path ends with '/', false otherwise */
+ private final boolean trailing;
+
+ /** True if the constructor has finished */
+ private boolean init;
+
/**
* Constructor
* @param config The Configuration to be wrapped.
@@ -391,7 +421,7 @@
protected Object resolveContainerStore(String key)
{
- if (((Boolean)recursive.get()).booleanValue())
+ if (((Boolean) recursive.get()).booleanValue())
{
return null;
}
@@ -413,7 +443,7 @@
private String makePath()
{
- String pathPattern = (trailing) ? path.substring(0, path.length() - 1) : path;
+ String pathPattern = trailing ? path.substring(0, path.length() - 1) : path;
return getSubstitutor().replace(pathPattern);
}
@@ -438,4 +468,4 @@
}
return getSubstitutor().replace(pathPattern) + item;
}
-}
\ No newline at end of file
+}