You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/12/29 15:53:57 UTC
svn commit: r491021 -
/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/
Author: cziegeler
Date: Fri Dec 29 06:53:56 2006
New Revision: 491021
URL: http://svn.apache.org/viewvc?view=rev&rev=491021
Log:
We can use several locations now
Modified:
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/AbstractElementParser.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/CocoonPropertyOverrideConfigurer.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/Constants.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsBeanFactoryPostProcessor.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsElementParser.java
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/AbstractElementParser.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/AbstractElementParser.java?view=diff&rev=491021&r1=491020&r2=491021
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/AbstractElementParser.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/AbstractElementParser.java Fri Dec 29 06:53:56 2006
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.util.Arrays;
+import java.util.Collections;
import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.spring.ResourceUtils;
@@ -275,7 +276,7 @@
final String location) {
final RootBeanDefinition beanDef = this.createBeanDefinition(CocoonPropertyOverrideConfigurer.class.getName(),
null, true);
- beanDef.getPropertyValues().addPropertyValue("location", location);
+ beanDef.getPropertyValues().addPropertyValue("locations", Collections.singletonList(location));
beanDef.getPropertyValues().addPropertyValue("resourceLoader",
parserContext.getReaderContext().getReader().getResourceLoader());
beanDef.getPropertyValues().addPropertyValue("beanNameSeparator", "/");
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/CocoonPropertyOverrideConfigurer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/CocoonPropertyOverrideConfigurer.java?view=diff&rev=491021&r1=491020&r2=491021
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/CocoonPropertyOverrideConfigurer.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/CocoonPropertyOverrideConfigurer.java Fri Dec 29 06:53:56 2006
@@ -18,6 +18,9 @@
*/
package org.apache.cocoon.spring.impl;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import org.apache.cocoon.configuration.Settings;
@@ -40,10 +43,10 @@
public class CocoonPropertyOverrideConfigurer extends PropertyOverrideConfigurer {
/**
- * The location of the directory where the different property files are
+ * The locations of the directories where the different property files are
* located.
*/
- protected String location = Constants.DEFAULT_SPRING_CONFIGURATION_LOCATION;
+ protected List locations = Collections.singletonList(Constants.DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION);
/**
* The resource loader used to load the property files. This loader is
@@ -58,13 +61,12 @@
protected Settings settings;
/**
- * Set the directory to search in.
+ * Set the directories to search in.
*
- * @param object
- * New value.
+ * @param list A list of string pointing to directories.
*/
- public void setLocation(final String object) {
- this.location = object;
+ public void setLocations(final List list) {
+ this.locations = list;
}
/** Set the settings. */
@@ -95,9 +97,15 @@
final String mode = RunningModeHelper.determineRunningMode(this.settings != null ? this.settings.getRunningMode() : null);
final Properties mergedProps = new Properties();
- ResourceUtils.readProperties(this.location, mergedProps, this.resourceLoader, this.logger);
- // read properties from running-mode dependent directory
- ResourceUtils.readProperties(this.location + '/' + mode, mergedProps, this.resourceLoader, this.logger);
+ if ( this.locations != null ) {
+ final Iterator i = this.locations.iterator();
+ while ( i.hasNext() ) {
+ final String location = (String)i.next();
+ ResourceUtils.readProperties(location, mergedProps, this.resourceLoader, this.logger);
+ // read properties from running-mode dependent directory
+ ResourceUtils.readProperties(location + '/' + mode, mergedProps, this.resourceLoader, this.logger);
+ }
+ }
if (mergedProps.size() > 0) {
// Convert the merged properties, if necessary.
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/Constants.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/Constants.java?view=diff&rev=491021&r1=491020&r2=491021
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/Constants.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/Constants.java Fri Dec 29 06:53:56 2006
@@ -27,6 +27,6 @@
public abstract class Constants {
/** The default location of spring related configuration files. */
- public static final String DEFAULT_SPRING_CONFIGURATION_LOCATION = "classpath*:META-INF/cocoon/spring";
- public static final String DEFAULT_PROPERTIES_LOCATION = "classpath*:META-INF/cocoon/properties";
+ public static final String DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION = "classpath*:META-INF/cocoon/spring";
+ public static final String DEFAULT_CLASSPATH_PROPERTIES_LOCATION = "classpath*:META-INF/cocoon/properties";
}
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsBeanFactoryPostProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsBeanFactoryPostProcessor.java?view=diff&rev=491021&r1=491020&r2=491021
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsBeanFactoryPostProcessor.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsBeanFactoryPostProcessor.java Fri Dec 29 06:53:56 2006
@@ -165,10 +165,10 @@
final Properties properties = new Properties();
// now read all properties from the properties directory
- ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.DEFAULT_PROPERTIES_LOCATION,
+ ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.DEFAULT_CLASSPATH_PROPERTIES_LOCATION,
properties, this.getResourceLoader(), this.logger);
// read all properties from the mode dependent directory
- ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.DEFAULT_PROPERTIES_LOCATION
+ ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.DEFAULT_CLASSPATH_PROPERTIES_LOCATION
+ "/" + mode, properties, this.getResourceLoader(), this.logger);
// fill from the servlet context
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsElementParser.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsElementParser.java?view=diff&rev=491021&r1=491020&r2=491021
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsElementParser.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/SettingsElementParser.java Fri Dec 29 06:53:56 2006
@@ -54,7 +54,7 @@
*/
public BeanDefinition parse(Element element, ParserContext parserContext) {
final String springConfigLocation = this.getAttributeValue(element, "location",
- Constants.DEFAULT_SPRING_CONFIGURATION_LOCATION);
+ Constants.DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION);
// create bean definition for settings object
final String componentClassName = this.getAttributeValue(element, PROCESSOR_CLASS_NAME_ATTR,
@@ -83,10 +83,10 @@
// handle includes
try {
- this.handleBeanInclude(parserContext, null, Constants.DEFAULT_SPRING_CONFIGURATION_LOCATION, "*.xml", true);
- this.handleBeanInclude(parserContext, null, Constants.DEFAULT_SPRING_CONFIGURATION_LOCATION + "/" + runningMode, "*.xml", true);
+ this.handleBeanInclude(parserContext, null, Constants.DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION, "*.xml", true);
+ this.handleBeanInclude(parserContext, null, Constants.DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION + "/" + runningMode, "*.xml", true);
} catch (Exception e) {
- throw new BeanDefinitionStoreException("Unable to read spring configurations from " + Constants.DEFAULT_SPRING_CONFIGURATION_LOCATION, e);
+ throw new BeanDefinitionStoreException("Unable to read spring configurations from " + Constants.DEFAULT_CLASSPATH_SPRING_CONFIGURATION_LOCATION, e);
}
return null;