You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2007/10/23 02:08:03 UTC
svn commit: r587305 - in
/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon:
AvalonBeanPostProcessor.java AvalonUtils.java
Author: vgritsenko
Date: Mon Oct 22 17:08:02 2007
New Revision: 587305
URL: http://svn.apache.org/viewvc?rev=587305&view=rev
Log:
make empty config read only. no need to replace properties of empty config.
Modified:
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonBeanPostProcessor.java
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonUtils.java
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonBeanPostProcessor.java?rev=587305&r1=587304&r2=587305&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonBeanPostProcessor.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonBeanPostProcessor.java Mon Oct 22 17:08:02 2007
@@ -56,7 +56,12 @@
*/
public class AvalonBeanPostProcessor implements DestructionAwareBeanPostProcessor, BeanFactoryAware {
- protected static final Configuration EMPTY_CONFIG = new DefaultConfiguration("empty");
+ protected static final Configuration EMPTY_CONFIG;
+ static {
+ DefaultConfiguration config = new DefaultConfiguration("empty");
+ config.makeReadOnly();
+ EMPTY_CONFIG = config;
+ }
protected Logger logger;
protected Context context;
@@ -193,8 +198,7 @@
}
/**
- * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization(java.lang.Object,
- * java.lang.String)
+ * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization(Object, String)
*/
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
try {
@@ -224,15 +228,18 @@
}
ContainerUtil.contextualize(bean, this.context);
ContainerUtil.service(bean, (ServiceManager) this.beanFactory.getBean(ServiceManager.class.getName()));
+
Configuration config = info.getProcessedConfiguration();
if (config == null) {
config = info.getConfiguration();
if (config == null) {
config = EMPTY_CONFIG;
+ } else {
+ config = AvalonUtils.replaceProperties(config, this.settings);
}
- config = AvalonUtils.replaceProperties(config, this.settings);
info.setProcessedConfiguration(config);
}
+
if (bean instanceof Configurable) {
ContainerUtil.configure(bean, config);
} else if (bean instanceof Parameterizable) {
@@ -243,6 +250,7 @@
}
ContainerUtil.parameterize(bean, p);
}
+
ContainerUtil.initialize(bean);
} catch (Exception e) {
throw new BeanCreationException("Unable to initialize Avalon component with role " + beanName, e);
@@ -252,8 +260,7 @@
}
/**
- * @see org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor#postProcessBeforeDestruction(java.lang.Object,
- * java.lang.String)
+ * @see DestructionAwareBeanPostProcessor#postProcessBeforeDestruction(Object, String)
*/
public void postProcessBeforeDestruction(Object bean, String beanName) throws BeansException {
try {
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonUtils.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonUtils.java?rev=587305&r1=587304&r2=587305&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonUtils.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/AvalonUtils.java Mon Oct 22 17:08:02 2007
@@ -32,10 +32,13 @@
/** Bean name for the Avalon context. */
public static final String CONTEXT_ROLE = "org.apache.avalon.framework.context.Context";
+
/** Bean name for the logger. */
public static final String LOGGER_ROLE = "org.apache.avalon.framework.logger.Logger";
+
/** Bean name for the service manager. */
public static final String SERVICE_MANAGER_ROLE = "org.apache.avalon.framework.service.ServiceManager";
+
/**
* Replace all properties in the configuration object.