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 2007/12/25 19:12:08 UTC
svn commit: r606796 - in
/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main:
java/org/apache/cocoon/core/container/spring/avalon/
resources/META-INF/cocoon/spring/
Author: cziegeler
Date: Tue Dec 25 10:12:05 2007
New Revision: 606796
URL: http://svn.apache.org/viewvc?rev=606796&view=rev
Log:
Hopefully fix lookup of per sitemap input modules by defining the relevant beans as per sitemap components inside the sitemap creation.
Removed:
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/resources/META-INF/cocoon/spring/LegacySitemapStringTemplateParser.xml
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/resources/META-INF/cocoon/spring/StringTemplateParserVariableResolver.xml
Modified:
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/SitemapElementParser.java
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/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/avalon/SitemapElementParser.java?rev=606796&r1=606795&r2=606796&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/SitemapElementParser.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/core/container/spring/avalon/SitemapElementParser.java Tue Dec 25 10:12:05 2007
@@ -18,16 +18,17 @@
*/
package org.apache.cocoon.core.container.spring.avalon;
+import org.apache.cocoon.core.container.spring.logger.ChildLoggerFactoryBean;
+import org.apache.cocoon.core.container.spring.logger.LoggerUtils;
+import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.excalibur.source.SourceResolver;
+import org.springframework.beans.factory.config.RuntimeBeanReference;
+import org.springframework.beans.factory.support.BeanDefinitionReader;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
+import org.springframework.beans.factory.support.ChildBeanDefinition;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.core.io.ResourceLoader;
import org.springframework.web.context.WebApplicationContext;
-
-import org.apache.cocoon.core.container.spring.logger.ChildLoggerFactoryBean;
-import org.apache.cocoon.core.container.spring.logger.LoggerUtils;
-import org.apache.cocoon.spring.configurator.WebAppContextUtils;
-
import org.w3c.dom.Element;
/**
@@ -36,6 +37,30 @@
* @version $Id$
*/
public class SitemapElementParser extends BridgeElementParser {
+
+ /**
+ * @see org.apache.cocoon.core.container.spring.avalon.BridgeElementParser#createComponents(org.w3c.dom.Element, org.apache.cocoon.core.container.spring.avalon.ConfigurationInfo, org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.beans.factory.support.BeanDefinitionReader, org.springframework.core.io.ResourceLoader)
+ */
+ public void createComponents(Element element, ConfigurationInfo info,
+ BeanDefinitionRegistry registry, BeanDefinitionReader reader,
+ ResourceLoader resourceLoader) throws Exception {
+ super.createComponents(element, info, registry, reader, resourceLoader);
+ // add string template parser for sitemap variable substitution
+ final ChildBeanDefinition beanDef = new ChildBeanDefinition("org.apache.cocoon.template.expression.AbstractStringTemplateParser");
+ beanDef.setBeanClassName("org.apache.cocoon.components.treeprocessor.variables.LegacySitemapStringTemplateParser");
+ beanDef.setSingleton(true);
+ beanDef.setLazyInit(false);
+ beanDef.getPropertyValues().addPropertyValue("serviceManager", new RuntimeBeanReference("org.apache.avalon.framework.service.ServiceManager"));
+ this.register(beanDef, "org.apache.cocoon.el.parsing.StringTemplateParser/legacySitemap", null, registry);
+
+ final RootBeanDefinition resolverDef = new RootBeanDefinition();
+ resolverDef.setBeanClassName("org.apache.cocoon.components.treeprocessor.variables.StringTemplateParserVariableResolver");
+ resolverDef.setLazyInit(false);
+ resolverDef.setScope("prototype");
+ resolverDef.getPropertyValues().addPropertyValue("stringTemplateParser", new RuntimeBeanReference("org.apache.cocoon.el.parsing.StringTemplateParser/legacySitemap"));
+ resolverDef.getPropertyValues().addPropertyValue("objectModel", new RuntimeBeanReference("org.apache.cocoon.el.objectmodel.ObjectModel"));
+ this.register(resolverDef, "org.apache.cocoon.components.treeprocessor.variables.StringTemplateParserVariableResolver", null, registry);
+ }
/**
* @see BridgeElementParser#addContext(Element, BeanDefinitionRegistry)