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 19:06:28 UTC
svn commit: r491066 - in /cocoon/trunk/core:
cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/
cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/
cocoon-sitemap/cocoon-site...
Author: cziegeler
Date: Fri Dec 29 10:06:27 2006
New Revision: 491066
URL: http://svn.apache.org/viewvc?view=rev&rev=491066
Log:
Read properties from WEB-INF/cocoon/* as well
Modified:
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/BlockResourcesHolder.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/WebAppContextUtils.java
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/DefaultBlockResourcesHolder.java
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DeploymentUtil.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
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/SitemapElementParser.java
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/BlockResourcesHolder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/BlockResourcesHolder.java?view=diff&rev=491066&r1=491065&r2=491066
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/BlockResourcesHolder.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/BlockResourcesHolder.java Fri Dec 29 10:06:27 2006
@@ -19,9 +19,10 @@
import java.util.Map;
/**
- * FIXME: Perhaps someone has a better name?!?
- * @version $Id$
+ * This component provides a map with the deployed block resources.
*
+ * @version $Id$
+ * @since 1.0
*/
public interface BlockResourcesHolder {
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/WebAppContextUtils.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/WebAppContextUtils.java?view=diff&rev=491066&r1=491065&r2=491066
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/WebAppContextUtils.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/WebAppContextUtils.java Fri Dec 29 10:06:27 2006
@@ -25,7 +25,10 @@
import org.springframework.web.context.support.WebApplicationContextUtils;
/**
+ * Utility class to manage hierarchical application contexts.
+ *
* @version $Id$
+ * @since 1.0
*/
public abstract class WebAppContextUtils {
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=491066&r1=491065&r2=491066
==============================================================================
--- 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 10:06:27 2006
@@ -20,7 +20,7 @@
import java.io.IOException;
import java.util.Arrays;
-import java.util.Collections;
+import java.util.List;
import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.spring.ResourceUtils;
@@ -43,8 +43,7 @@
* This is a base class for all bean definition parsers used in Cocoon. It
* provides some utility methods.
*
- * @version $Id: AbstractElementParser.java 463297 2006-10-12 16:03:45Z
- * cziegeler $
+ * @version $Id$
* @since 1.0
*/
public abstract class AbstractElementParser implements BeanDefinitionParser {
@@ -267,16 +266,16 @@
/**
* Register a property placeholder configurer. The configurer will read all
- * *.properties files from the specified location.
+ * *.properties files from the specified locations.
*
* @param parserContext
- * @param location
+ * @param locations
*/
protected void registerPropertyOverrideConfigurer(final ParserContext parserContext,
- final String location) {
+ final List locations) {
final RootBeanDefinition beanDef = this.createBeanDefinition(CocoonPropertyOverrideConfigurer.class.getName(),
null, true);
- beanDef.getPropertyValues().addPropertyValue("locations", Collections.singletonList(location));
+ beanDef.getPropertyValues().addPropertyValue("locations", locations);
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/DefaultBlockResourcesHolder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DefaultBlockResourcesHolder.java?view=diff&rev=491066&r1=491065&r2=491066
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DefaultBlockResourcesHolder.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DefaultBlockResourcesHolder.java Fri Dec 29 10:06:27 2006
@@ -23,9 +23,10 @@
import org.apache.cocoon.spring.BlockResourcesHolder;
/**
- * FIXME: Perhaps someone has a better name?!?
- * @version $Id$
+ * Default implementation of a {@link BlockResourceHolder}.
*
+ * @version $Id$
+ * @since 1.0
*/
public class DefaultBlockResourcesHolder
implements BlockResourcesHolder {
Modified: cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DeploymentUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DeploymentUtil.java?view=diff&rev=491066&r1=491065&r2=491066
==============================================================================
--- cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DeploymentUtil.java (original)
+++ cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/spring/impl/DeploymentUtil.java Fri Dec 29 10:06:27 2006
@@ -37,7 +37,7 @@
* Helper class for deploying resources from the block artifacts.
*
* @version $Id$
- * @since 2.2
+ * @since 1.0
*/
public class DeploymentUtil {
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=491066&r1=491065&r2=491066
==============================================================================
--- 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 10:06:27 2006
@@ -164,11 +164,18 @@
// create an empty properties object
final Properties properties = new Properties();
- // now read all properties from the properties directory
+ // now read all properties from classpath directory
ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.CLASSPATH_PROPERTIES_LOCATION,
properties, this.getResourceLoader(), this.logger);
// read all properties from the mode dependent directory
ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.CLASSPATH_PROPERTIES_LOCATION
+ + "/" + mode, properties, this.getResourceLoader(), this.logger);
+
+ // now read all properties from the properties directory
+ ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.GLOBAL_PROPERTIES_LOCATION,
+ properties, this.getResourceLoader(), this.logger);
+ // read all properties from the mode dependent directory
+ ResourceUtils.readProperties(org.apache.cocoon.spring.impl.Constants.GLOBAL_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=491066&r1=491065&r2=491066
==============================================================================
--- 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 10:06:27 2006
@@ -18,6 +18,9 @@
*/
package org.apache.cocoon.spring.impl;
+import java.util.ArrayList;
+import java.util.List;
+
import javax.servlet.ServletContext;
import org.apache.cocoon.configuration.Settings;
@@ -33,8 +36,7 @@
*
* @see SitemapNamespaceHandler
* @see SettingsBeanFactoryPostProcessor
- * @version $Id: SettingsElementParser.java 470732 2006-11-03 09:10:13Z
- * cziegeler $
+ * @version $Id$
* @since 1.0
*/
public class SettingsElementParser extends AbstractElementParser {
@@ -53,8 +55,6 @@
* org.springframework.beans.factory.xml.ParserContext)
*/
public BeanDefinition parse(Element element, ParserContext parserContext) {
- final String springConfigLocation = this.getAttributeValue(element, "location",
- Constants.CLASSPATH_SPRING_CONFIGURATION_LOCATION);
// create bean definition for settings object
final String componentClassName = this.getAttributeValue(element, PROCESSOR_CLASS_NAME_ATTR,
@@ -69,7 +69,15 @@
this.register(beanDef, Settings.ROLE, parserContext.getRegistry());
// register a PropertyPlaceholderConfigurer
- this.registerPropertyOverrideConfigurer(parserContext, springConfigLocation);
+ // we create a list with the default locations and add the optional location attribute
+ final List locations = new ArrayList();
+ locations.add(Constants.CLASSPATH_SPRING_CONFIGURATION_LOCATION);
+ locations.add(Constants.GLOBAL_SPRING_CONFIGURATION_LOCATION);
+ final String springConfigLocation = this.getAttributeValue(element, "location", null);
+ if ( springConfigLocation != null ) {
+ locations.add(springConfigLocation);
+ }
+ this.registerPropertyOverrideConfigurer(parserContext, locations);
// add the servlet context as a bean
this.addComponent(ServletContextFactoryBean.class.getName(),
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/SitemapElementParser.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/SitemapElementParser.java?view=diff&rev=491066&r1=491065&r2=491066
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/SitemapElementParser.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/SitemapElementParser.java Fri Dec 29 10:06:27 2006
@@ -19,6 +19,7 @@
package org.apache.cocoon.core.container.spring;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -131,7 +132,7 @@
// register a PropertyPlaceholderConfigurer
if ( useDefaultIncludes ) {
- this.registerPropertyOverrideConfigurer(parserContext, Constants.DEFAULT_CHILD_SPRING_CONFIGURATION_LOCATION);
+ this.registerPropertyOverrideConfigurer(parserContext, Collections.singletonList(Constants.DEFAULT_CHILD_SPRING_CONFIGURATION_LOCATION));
}
RootBeanDefinition def = this.createBeanDefinition(SubSettingsBeanFactoryPostProcessor.class.getName(),