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/03/22 22:10:12 UTC
svn commit: r387948 - in /cocoon/trunk/cocoon-core/src:
main/java/org/apache/cocoon/components/treeprocessor/sitemap/
main/java/org/apache/cocoon/core/container/spring/
test/java/org/apache/cocoon/core/container/
Author: cziegeler
Date: Wed Mar 22 13:10:09 2006
New Revision: 387948
URL: http://svn.apache.org/viewcvs?rev=387948&view=rev
Log:
Fix bean hierarchy handling
Added:
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java (with props)
Modified:
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java
cocoon/trunk/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java?rev=387948&r1=387947&r2=387948&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java Wed Mar 22 13:10:09 2006
@@ -644,9 +644,9 @@
// first, get the correct parent
ConfigurableListableBeanFactory parentFactory = this.beanFactory;
final Request request = ContextHelper.getRequest(context);
- if (request.getAttribute(CocoonBeanFactory.BEAN_FACTORY_REQUEST_ATTRIBUTE) != null) {
+ if (request.getAttribute(CocoonBeanFactory.BEAN_FACTORY_REQUEST_ATTRIBUTE, Request.REQUEST_SCOPE) != null) {
parentFactory = (ConfigurableListableBeanFactory) request
- .getAttribute(CocoonBeanFactory.BEAN_FACTORY_REQUEST_ATTRIBUTE);
+ .getAttribute(CocoonBeanFactory.BEAN_FACTORY_REQUEST_ATTRIBUTE, Request.REQUEST_SCOPE);
}
if ( config != null ) {
@@ -658,7 +658,7 @@
ae.settings = (Settings) this.beanFactory.getBean(Settings.ROLE);
final ConfigurationInfo parentConfigInfo = (ConfigurationInfo) parentFactory
.getBean(ConfigurationInfo.class.getName());
- final ConfigurationInfo ci = ConfigReader.readConfiguration(config, parentConfigInfo, ae);
+ final ConfigurationInfo ci = ConfigReader.readConfiguration(config, parentConfigInfo, ae, this.processor.getSourceResolver());
return BeanFactoryUtil.createBeanFactory(ae, ci, parentFactory, false);
}
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java?rev=387948&r1=387947&r2=387948&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java Wed Mar 22 13:10:09 2006
@@ -28,7 +28,6 @@
import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.DefaultContext;
-import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.logger.Logger;
import org.apache.cocoon.ProcessingUtil;
import org.apache.cocoon.acting.Action;
@@ -154,9 +153,8 @@
protected static Logger initLogger(ServletContext servletContext,
Settings settings)
throws Exception {
- return new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
// create a bootstrap logger
- /* int logLevel;
+ int logLevel;
final String logLevelString = settings.getBootstrapLogLevel();
if ( "DEBUG".equalsIgnoreCase(logLevelString) ) {
logLevel = ServletLogger.LEVEL_DEBUG;
@@ -209,7 +207,7 @@
if (accesslogger == null) {
accesslogger = "cocoon";
}
- return loggerManager.getLoggerForCategory(accesslogger);*/
+ return loggerManager.getLoggerForCategory(accesslogger);
}
protected static void changeLogLevel(Configuration[] configs, String level) {
@@ -288,7 +286,7 @@
ae.settings = (Settings) this.beanFactory.getBean(Settings.ROLE);
final ConfigurationInfo parentConfigInfo = (ConfigurationInfo) parentFactory
.getBean(ConfigurationInfo.class.getName());
- final ConfigurationInfo ci = ConfigReader.readConfiguration(config, parentConfigInfo, ae);
+ final ConfigurationInfo ci = ConfigReader.readConfiguration(config, parentConfigInfo, ae, null);
return BeanFactoryUtil.createBeanFactory(ae, ci, parentFactory, false);
}
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java?rev=387948&r1=387947&r2=387948&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java Wed Mar 22 13:10:09 2006
@@ -32,6 +32,7 @@
import org.apache.cocoon.core.container.util.SimpleSourceResolver;
import org.apache.cocoon.matching.helpers.WildcardHelper;
import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.TraversableSource;
/**
@@ -47,7 +48,7 @@
protected static final Map CONTEXT_PARAMETERS = Collections.singletonMap("force-traversable", Boolean.TRUE);
/** Source resolver for reading configuration files. */
- protected final SimpleSourceResolver resolver;
+ protected final SourceResolver resolver;
/** The configuration info. */
protected final ConfigurationInfo configInfo;
@@ -57,26 +58,32 @@
public static ConfigurationInfo readConfiguration(String source, AvalonEnvironment env)
throws Exception {
- final ConfigReader converter = new ConfigReader(env, null);
+ final ConfigReader converter = new ConfigReader(env, null, null);
converter.convert(source);
return converter.configInfo;
}
- public static ConfigurationInfo readConfiguration(Configuration config,
+ public static ConfigurationInfo readConfiguration(Configuration config,
ConfigurationInfo parentInfo,
- AvalonEnvironment env)
+ AvalonEnvironment env,
+ SourceResolver resolver)
throws Exception {
- final ConfigReader converter = new ConfigReader(env, parentInfo);
+ final ConfigReader converter = new ConfigReader(env, parentInfo, resolver);
converter.convert(config, null);
return converter.configInfo;
}
- private ConfigReader(AvalonEnvironment env, ConfigurationInfo parentInfo)
+ private ConfigReader(AvalonEnvironment env,
+ ConfigurationInfo parentInfo,
+ SourceResolver resolver)
throws Exception {
- this.resolver = new SimpleSourceResolver();
- this.resolver.enableLogging(env.logger);
- this.resolver.contextualize(env.context);
-
+ if ( resolver != null ) {
+ this.resolver = resolver;
+ } else {
+ this.resolver = new SimpleSourceResolver();
+ ((SimpleSourceResolver)this.resolver).enableLogging(env.logger);
+ ((SimpleSourceResolver)this.resolver).contextualize(env.context);
+ }
this.enableLogging(env.logger);
this.environment = env;
Added: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java?rev=387948&view=auto
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java (added)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java Wed Mar 22 13:10:09 2006
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2006 The Apache Software Foundation
+ * Licensed 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.cocoon.core.container.spring;
+
+import org.apache.cocoon.core.Settings;
+
+/**
+ * This is a simple test bean.
+ * $Id$
+ */
+public class TestBean {
+
+ protected String message;
+
+ protected Settings settings;
+
+ protected String javaVersion;
+
+ public TestBean() {
+ this.message = "Hello World from Spring";
+ }
+ public String getMessage() {
+ return this.message;
+ }
+ public String getJavaVersion() {
+ return javaVersion;
+ }
+ public void setJavaVersion(String javaVersion) {
+ this.javaVersion = javaVersion;
+ }
+ public Settings getSettings() {
+ return settings;
+ }
+ public void setSettings(Settings settings) {
+ this.settings = settings;
+ }
+
+}
Propchange: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/trunk/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java?rev=387948&r1=387947&r2=387948&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java (original)
+++ cocoon/trunk/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java Wed Mar 22 13:10:09 2006
@@ -295,11 +295,11 @@
this.rootBeanFactory = BeanFactoryUtil.createRootBeanFactory(avalonEnv);
// read roles
- ConfigurationInfo rolesInfo = ConfigReader.readConfiguration(confRM, null, avalonEnv);
+ ConfigurationInfo rolesInfo = ConfigReader.readConfiguration(confRM, null, avalonEnv, null);
ConfigurableListableBeanFactory rolesContext = BeanFactoryUtil.createBeanFactory(avalonEnv, rolesInfo, this.rootBeanFactory, true);
// read components
- ConfigurationInfo componentsInfo = ConfigReader.readConfiguration(confCM, rolesInfo, avalonEnv);
+ ConfigurationInfo componentsInfo = ConfigReader.readConfiguration(confCM, rolesInfo, avalonEnv, null);
this.addComponents( componentsInfo );
ConfigurableListableBeanFactory componentsContext = BeanFactoryUtil.createBeanFactory(avalonEnv, componentsInfo, rolesContext, false);