Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 26286 invoked from network); 25 Oct 2007 04:02:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Oct 2007 04:02:11 -0000 Received: (qmail 52532 invoked by uid 500); 25 Oct 2007 04:01:58 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 52474 invoked by uid 500); 25 Oct 2007 04:01:58 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 52463 invoked by uid 99); 25 Oct 2007 04:01:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Oct 2007 21:01:58 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Oct 2007 04:02:10 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 283D31A9832; Wed, 24 Oct 2007 21:01:50 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r588135 - /cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java Date: Thu, 25 Oct 2007 04:01:49 -0000 To: cvs@cocoon.apache.org From: vgritsenko@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071025040150.283D31A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: vgritsenko Date: Wed Oct 24 21:01:48 2007 New Revision: 588135 URL: http://svn.apache.org/viewvc?rev=588135&view=rev Log: remove empty Settings object, replace with regularly initialized Settings object. move these annoying temporary files under maven target/ directory. Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java?rev=588135&r1=588134&r2=588135&view=diff ============================================================================== --- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java (original) +++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/test/java/org/apache/cocoon/AbstractTestCase.java Wed Oct 24 21:01:48 2007 @@ -16,12 +16,20 @@ */ package org.apache.cocoon; +import java.io.File; import java.util.HashMap; import java.util.Map; -import junit.framework.TestCase; +import org.springframework.beans.factory.config.BeanDefinitionHolder; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; +import org.springframework.beans.factory.support.DefaultListableBeanFactory; +import org.springframework.beans.factory.support.RootBeanDefinition; +import org.springframework.beans.factory.xml.XmlBeanFactory; +import org.springframework.core.io.ClassPathResource; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.request.RequestContextHolder; -import org.apache.cocoon.configuration.MutableSettings; import org.apache.cocoon.configuration.Settings; import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.mock.MockContext; @@ -32,15 +40,8 @@ import org.apache.cocoon.processing.impl.MockProcessInfoProvider; import org.apache.cocoon.spring.configurator.impl.ServletContextFactoryBean; import org.apache.cocoon.spring.configurator.impl.SettingsBeanFactoryPostProcessor; -import org.springframework.beans.factory.config.BeanDefinitionHolder; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; -import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.beans.factory.support.RootBeanDefinition; -import org.springframework.beans.factory.xml.XmlBeanFactory; -import org.springframework.core.io.ClassPathResource; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.request.RequestContextHolder; + +import junit.framework.TestCase; /** * This class sets up all necessary environment information to implement own test cases. @@ -59,7 +60,7 @@ /** The bean factory. */ private DefaultListableBeanFactory beanFactory; - private MockWebApplicationContext staticWebApplicationContext; + public final MockRequest getRequest() { return this.request; @@ -87,15 +88,15 @@ */ protected void setUp() throws Exception { super.setUp(); - // setup object model - this.setUpObjectModel(); + // setup object model + setUpObjectModel(); // create bean factory - this.createBeanFactory(); + createBeanFactory(); // initialize bean factory - this.initBeanFactory(); + initBeanFactory(); // setup request attributes this.requestAttributes = new MockRequestAttributes(this.getRequest()); @@ -104,7 +105,7 @@ // setting up an webapplicationcontext is neccesarry to make spring believe // it runs in a servlet container. we initialize it with our current // bean factory to get consistent bean resolution behaviour - this.setUpRootApplicationContext(); + setUpRootApplicationContext(); } /** @@ -115,12 +116,14 @@ this.requestAttributes.requestCompleted(); this.requestAttributes = null; } + RequestContextHolder.resetRequestAttributes(); if (this.beanFactory != null) { this.beanFactory.destroySingletons(); this.beanFactory = null; } + super.tearDown(); } @@ -133,19 +136,18 @@ this.context = this.createContext(); this.objectmodel = this.createObjectModel(); - this.objectmodel.put(ObjectModelHelper.REQUEST_OBJECT, this.getRequest()); - this.objectmodel.put(ObjectModelHelper.RESPONSE_OBJECT, this.getResponse()); - this.objectmodel.put(ObjectModelHelper.CONTEXT_OBJECT, this.getContext()); + this.objectmodel.put(ObjectModelHelper.REQUEST_OBJECT, getRequest()); + this.objectmodel.put(ObjectModelHelper.RESPONSE_OBJECT, getResponse()); + this.objectmodel.put(ObjectModelHelper.CONTEXT_OBJECT, getContext()); } protected void setUpRootApplicationContext() { // set up servlet context access first final ServletContextFactoryBean scfb = new ServletContextFactoryBean(); - scfb.setServletContext(this.getContext()); + scfb.setServletContext(getContext()); - this.staticWebApplicationContext = new MockWebApplicationContext(this.beanFactory, this.getContext()); - this.getContext().setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, - staticWebApplicationContext); + MockWebApplicationContext ctx = new MockWebApplicationContext(this.beanFactory, getContext()); + getContext().setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ctx); } protected void createBeanFactory() throws Exception { @@ -155,9 +157,18 @@ } else { this.beanFactory = new DefaultListableBeanFactory(); } - this.addSettings(); - this.addProcessingInfoProvider(); - this.configureBeans(); + + File base = new File("target"); + if (!base.exists()) { + base = new File(System.getProperty("java.io.tmpdir")); + } + File workDir = new File(base, "cocoon-files"); + System.setProperty("org.apache.cocoon.work.directory", workDir.getAbsolutePath()); + System.setProperty("org.apache.cocoon.cache.directory", new File(workDir, "cache-dir").getAbsolutePath()); + + addSettings(); + addProcessingInfoProvider(); + configureBeans(); } protected void initBeanFactory() { @@ -166,12 +177,10 @@ protected void addSettings() { RootBeanDefinition def = new RootBeanDefinition(); - def.setBeanClass(MutableSettings.class); + def.setBeanClass(SettingsBeanFactoryPostProcessor.class); def.setSingleton(true); def.setLazyInit(false); - def.getConstructorArgumentValues().addIndexedArgumentValue(0, "test"); - def.getPropertyValues().addPropertyValue("workDirectory", System.getProperty("java.io.tmpdir")); - def.getPropertyValues().addPropertyValue("cacheDirectory", System.getProperty("java.io.tmpdir")); + def.setInitMethodName("init"); BeanDefinitionHolder holder = new BeanDefinitionHolder(def, Settings.ROLE); BeanDefinitionReaderUtils.registerBeanDefinition(holder, this.beanFactory); } @@ -190,13 +199,8 @@ } protected void configureBeans() { - SettingsBeanFactoryPostProcessor processor = new SettingsBeanFactoryPostProcessor(); - processor.setBeanFactory(this.beanFactory); - try { - processor.init(); - } catch (Exception e) { - throw new RuntimeException("unable to create SettingsBeanFactoryPostProcessor", e); - } + SettingsBeanFactoryPostProcessor processor = + (SettingsBeanFactoryPostProcessor) this.beanFactory.getBean("&" + Settings.ROLE); processor.postProcessBeanFactory(beanFactory); }