cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r419520 [2/2] - in /cocoon/trunk/core/cocoon-core/src: main/java/org/apache/cocoon/ main/java/org/apache/cocoon/components/flow/ main/java/org/apache/cocoon/components/modules/input/ main/java/org/apache/cocoon/components/treeprocessor/ mai...
Date Thu, 06 Jul 2006 11:07:40 GMT
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/CoreUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/CoreUtil.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/CoreUtil.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/CoreUtil.java Thu Jul  6 04:07:38 2006
@@ -17,19 +17,12 @@
 package org.apache.cocoon.core;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.Enumeration;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
@@ -43,8 +36,12 @@
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.components.source.SourceUtil;
 import org.apache.cocoon.components.source.impl.DelayedRefreshSourceWrapper;
-import org.apache.cocoon.core.container.spring.BeanFactoryUtil;
+import org.apache.cocoon.configuration.PropertyProvider;
+import org.apache.cocoon.configuration.Settings;
+import org.apache.cocoon.configuration.impl.MutableSettings;
+import org.apache.cocoon.configuration.impl.SettingsHelper;
 import org.apache.cocoon.core.container.spring.AvalonEnvironment;
+import org.apache.cocoon.core.container.spring.BeanFactoryUtil;
 import org.apache.cocoon.core.container.spring.ConfigReader;
 import org.apache.cocoon.core.container.spring.ConfigurationInfo;
 import org.apache.cocoon.core.container.util.ComponentContext;
@@ -57,9 +54,7 @@
 import org.apache.cocoon.util.location.LocationUtils;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
-import org.apache.excalibur.source.TraversableSource;
 import org.apache.excalibur.source.impl.URLSource;
-import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
 import org.xml.sax.InputSource;
 
@@ -128,21 +123,20 @@
         return createRootContainer(context, null);
     }
 
-    public static ConfigurableBeanFactory createRootContainer(Context              environmentContext,
-                                                              BootstrapEnvironment bootstrapEnvironment)
+    public static ConfigurableBeanFactory createRootContainer(Context          environmentContext,
+                                                              PropertyProvider externalPropertyProvider)
     throws Exception {
         // first let's set up the appContext with some values to make
         // the simple source resolver work
         // "legacy" support: create an avalon context.
         final DefaultContext appContext = new ComponentContext();
 
-
         // add root url
         String contextUrl = CoreUtil.getContextUrl(environmentContext, "/WEB-INF/web.xml");
-        CoreUtil.addSourceResolverContext(appContext, environmentContext, bootstrapEnvironment, contextUrl);
+        CoreUtil.addSourceResolverContext(appContext, environmentContext, contextUrl);
 
         // create settings
-        final MutableSettings settings = CoreUtil.createSettings(environmentContext, appContext, bootstrapEnvironment);
+        final MutableSettings settings = CoreUtil.createSettings(environmentContext, appContext, externalPropertyProvider);
 
         // Create bootstrap logger
         Logger log = BeanFactoryUtil.createBootstrapLogger(environmentContext, settings.getBootstrapLogLevel());
@@ -244,11 +238,10 @@
 
     public static DefaultContext createContext(Settings settings,
                                                Context environmentContext,
-                                               String contextUrl,
-                                               BootstrapEnvironment env)
+                                               String contextUrl)
         throws ServletException, MalformedURLException {
         DefaultContext appContext = new ComponentContext();
-        CoreUtil.addSourceResolverContext(appContext, environmentContext, env, contextUrl);
+        CoreUtil.addSourceResolverContext(appContext, environmentContext, contextUrl);
         CoreUtil.addSettingsContext(appContext, settings);
         return appContext;
     }
@@ -262,7 +255,6 @@
      */
     private static void addSourceResolverContext(DefaultContext       appContext,
                                                  Context              environmentContext,
-                                                 BootstrapEnvironment env, 
                                                  String               contextUrl) {
         try {
             appContext.put(ContextHelper.CONTEXT_ROOT_URL, new URL(contextUrl));
@@ -272,11 +264,6 @@
     
         // add environment context and config
         appContext.put(Constants.CONTEXT_ENVIRONMENT_CONTEXT, environmentContext);
-    
-        // now add environment specific information
-        if ( env != null ) {
-            env.configure(appContext);
-        }
     }
 
     /**
@@ -315,67 +302,14 @@
      *
      * @return A new Settings object
      */
-    protected static MutableSettings createSettings(Context              environmentContext,
+    protected static MutableSettings createSettings(Context          environmentContext,
                                                     org.apache.avalon.framework.context.Context appContext,
-                                                    BootstrapEnvironment bootstrapEnvironment) {
-        // get the running mode
-        final String mode = System.getProperty(Settings.PROPERTY_RUNNING_MODE, Settings.DEFAULT_RUNNING_MODE);
-        environmentContext.log("Running in mode: " + mode);
-
-        // create an empty settings objects
-        final MutableSettings s = new MutableSettings();
-
-        // we need our own resolver
+                                                    PropertyProvider externalPropertyProvider) {
+        // we need a logger for the settings util which will log info messages
+        final Logger logger = new LoggerWrapper(environmentContext, true);
+        // we need our own resolver (with own logger which just logs errors)
         final SourceResolver resolver = CoreUtil.createSourceResolver(appContext, new LoggerWrapper(environmentContext));
-
-        // now read all properties from the properties directory
-        CoreUtil.readProperties("context://WEB-INF/properties", s, resolver, environmentContext);
-        // read all properties from the mode dependent directory
-        CoreUtil.readProperties("context://WEB-INF/properties/" + mode, s, resolver, environmentContext);
-
-        // Next look for a custom property provider in the spring root context
-        BeanFactory rootContext = BeanFactoryUtil.getWebApplicationContext(environmentContext);
-        if (rootContext != null && rootContext.containsBean(PropertyProvider.ROLE) ) {
-            try {
-                PropertyProvider provider = (PropertyProvider)rootContext.getBean(PropertyProvider.ROLE);
-                s.fill(provider.getProperties(mode, null));
-            } catch (Exception ignore) {
-                environmentContext.log("Unable to get properties from provider.", ignore);
-                environmentContext.log("Continuing initialization.");            
-            }
-        }
-        // fill from the environment configuration, like web.xml etc.
-        if ( bootstrapEnvironment != null ) {
-            bootstrapEnvironment.configure(s);
-        }
-
-        // read additional properties file
-        String additionalPropertyFile = s.getProperty(Settings.PROPERTY_USER_SETTINGS, 
-                                                      System.getProperty(Settings.PROPERTY_USER_SETTINGS));
-        // if there is no property defining the addition file, we try it in the home directory
-        if ( additionalPropertyFile == null ) {
-            additionalPropertyFile = System.getProperty("user.home") + File.separator + ".cocoon/settings.properties";
-            final File testFile = new File(additionalPropertyFile);
-            if ( !testFile.exists() ) {
-                additionalPropertyFile = null;
-            }
-        }
-        if ( additionalPropertyFile != null ) {
-            environmentContext.log("Reading user settings from '" + additionalPropertyFile + "'");
-            final Properties p = new Properties();
-            try {
-                FileInputStream fis = new FileInputStream(additionalPropertyFile);
-                p.load(fis);
-                fis.close();
-            } catch (IOException ignore) {
-                environmentContext.log("Unable to read '" + additionalPropertyFile + "'.", ignore);
-                environmentContext.log("Continuing initialization.");
-            }
-        }
-        // now overwrite with system properties
-        s.fill(System.getProperties());
-
-        return s;
+        return SettingsHelper.createSettings(environmentContext, resolver, logger, externalPropertyProvider);
     }
 
     /**
@@ -398,67 +332,6 @@
     }
 
     /**
-     * Read all property files from the given directory and apply them to the settings.
-     */
-    protected static void readProperties(String          directoryName,
-                                         MutableSettings s,
-                                         SourceResolver  resolver,
-                                         ServletContext  environmentContext) {
-        Source directory = null;
-        try {
-            directory = resolver.resolveURI(directoryName, null, CONTEXT_PARAMETERS);
-            if (directory.exists() && directory instanceof TraversableSource) {
-                final List propertyUris = new ArrayList();
-                final Iterator c = ((TraversableSource) directory).getChildren().iterator();
-                while (c.hasNext()) {
-                    final Source src = (Source) c.next();
-                    if ( src.getURI().endsWith(".properties") ) {
-                        propertyUris.add(src);
-                    }
-                }
-                // sort
-                Collections.sort(propertyUris, getSourceComparator());
-                // now process
-                final Iterator i = propertyUris.iterator();
-                while ( i.hasNext() ) {
-                    final Source src = (Source)i.next();
-                    final InputStream propsIS = src.getInputStream();
-                    environmentContext.log("Reading settings from '" + src.getURI() + "'.");
-                    final Properties p = new Properties();
-                    p.load(propsIS);
-                    propsIS.close();
-                    s.fill(p);
-                }
-            }
-        } catch (IOException ignore) {
-            environmentContext.log("Unable to read from directory " + directoryName, ignore);
-            environmentContext.log("Continuing initialization.");            
-        } finally {
-            resolver.release(directory);
-        }
-    }
-
-    /**
-     * Return a source comparator
-     */
-    public static Comparator getSourceComparator() {
-        return new SourceComparator();
-    }
-
-    protected final static class SourceComparator implements Comparator {
-
-        /**
-         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-         */
-        public int compare(Object o1, Object o2) {
-            if ( !(o1 instanceof Source) || !(o2 instanceof Source)) {
-                return 0;
-            }
-            return ((Source)o1).getURI().compareTo(((Source)o2).getURI());
-        }
-    }
-
-    /**
      * Create a simple source resolver.
      */
     protected static SourceResolver createSourceResolver(org.apache.avalon.framework.context.Context appContext,
@@ -523,42 +396,31 @@
      */
     protected static URL getConfigFile(final String configFileName, Context environmentContext, Logger log)
     throws Exception {
-        final String usedFileName;
-
-        if (configFileName == null) {
-            if (log.isWarnEnabled()) {
-                log.warn("No configuration for Cocoon configuration file specified, attempting to use '/WEB-INF/cocoon.xconf'");
-            }
-            usedFileName = "/WEB-INF/cocoon.xconf";
-        } else {
-            usedFileName = configFileName;
-        }
-
         if (log.isDebugEnabled()) {
-            log.debug("Using configuration file: " + usedFileName);
+            log.debug("Using configuration file: " + configFileName);
         }
 
         URL result;
         try {
             // test if this is a qualified url
-            if (usedFileName.indexOf(':') == -1) {
-                result = environmentContext.getResource(usedFileName);
+            if (configFileName.indexOf(':') == -1) {
+                result = environmentContext.getResource(configFileName);
             } else {
-                result = new URL(usedFileName);
+                result = new URL(configFileName);
             }
         } catch (Exception mue) {
-            String msg = "Setting for 'configuration' is invalid : " + usedFileName;
+            String msg = "Setting for 'configuration' is invalid : " + configFileName;
             log.error(msg, mue);
             throw new CoreInitializationException(msg, mue);
         }
 
         if (result == null) {
-            File resultFile = new File(usedFileName);
+            File resultFile = new File(configFileName);
             if (resultFile.isFile()) {
                 try {
                     result = resultFile.getCanonicalFile().toURL();
                 } catch (Exception e) {
-                    String msg = "Setting for 'configuration' is invalid : " + usedFileName;
+                    String msg = "Setting for 'configuration' is invalid : " + configFileName;
                     log.error(msg, e);
                     throw new CoreInitializationException(msg, e);
                 }
@@ -566,7 +428,7 @@
         }
 
         if (result == null) {
-            String msg = "Setting for 'configuration' doesn't name an existing resource : " + usedFileName;
+            String msg = "Setting for 'configuration' doesn't name an existing resource : " + configFileName;
             log.error(msg);
             throw new CoreInitializationException(msg);
         }
@@ -650,8 +512,16 @@
     protected static final class LoggerWrapper implements Logger {
         private final Context env;
 
+        private final boolean displayInfoAndWarn;
+
         public LoggerWrapper(Context env) {
             this.env = env;
+            this.displayInfoAndWarn = false;
+        }
+
+        public LoggerWrapper(Context env, boolean displayInfoAndWarn) {
+            this.env = env;
+            this.displayInfoAndWarn = displayInfoAndWarn;
         }
 
         protected void text(String arg0, Throwable arg1) {
@@ -662,68 +532,124 @@
             }
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#debug(java.lang.String, java.lang.Throwable)
+         */
         public void debug(String arg0, Throwable arg1) {
             // we ignore debug
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#debug(java.lang.String)
+         */
         public void debug(String arg0) {
             // we ignore debug
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#error(java.lang.String, java.lang.Throwable)
+         */
         public void error(String arg0, Throwable arg1) {
             this.text(arg0, arg1);
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#error(java.lang.String)
+         */
         public void error(String arg0) {
             this.text(arg0, null);
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#fatalError(java.lang.String, java.lang.Throwable)
+         */
         public void fatalError(String arg0, Throwable arg1) {
             this.text(arg0, arg1);
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#fatalError(java.lang.String)
+         */
         public void fatalError(String arg0) {
             this.text(arg0, null);
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#getChildLogger(java.lang.String)
+         */
         public Logger getChildLogger(String arg0) {
             return this;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#info(java.lang.String, java.lang.Throwable)
+         */
         public void info(String arg0, Throwable arg1) {
-            // we ignore info
+            if ( this.displayInfoAndWarn ) {
+                this.text(arg0, arg1);
+            }
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#info(java.lang.String)
+         */
         public void info(String arg0) {
-            // we ignore info
+            if ( this.displayInfoAndWarn ) {
+                this.text(arg0, null);
+            }
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#isDebugEnabled()
+         */
         public boolean isDebugEnabled() {
             return false;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#isErrorEnabled()
+         */
         public boolean isErrorEnabled() {
             return true;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#isFatalErrorEnabled()
+         */
         public boolean isFatalErrorEnabled() {
             return true;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#isInfoEnabled()
+         */
         public boolean isInfoEnabled() {
-            return false;
+            return this.displayInfoAndWarn;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#isWarnEnabled()
+         */
         public boolean isWarnEnabled() {
-            return false;
+            return this.displayInfoAndWarn;
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#warn(java.lang.String, java.lang.Throwable)
+         */
         public void warn(String arg0, Throwable arg1) {
-            // we ignore warn
+            if ( this.displayInfoAndWarn ) {
+                this.text(arg0, arg1);
+            }
         }
 
+        /**
+         * @see org.apache.avalon.framework.logger.Logger#warn(java.lang.String)
+         */
         public void warn(String arg0) {
-            // we ignore warn
+            if ( this.displayInfoAndWarn ) {
+                this.text(arg0, null);
+            }
         }
     }
 }

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/AvalonEnvironment.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/AvalonEnvironment.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/AvalonEnvironment.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/AvalonEnvironment.java Thu Jul  6 04:07:38 2006
@@ -17,7 +17,7 @@
 
 import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.logger.Logger;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 
 /**
  * This is a simple bean used to pass all Avalon related environment information

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactory.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactory.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactory.java Thu Jul  6 04:07:38 2006
@@ -18,7 +18,7 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.logger.Logger;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.excalibur.source.SourceResolver;
 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactoryImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactoryImpl.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactoryImpl.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryFactoryImpl.java Thu Jul  6 04:07:38 2006
@@ -23,7 +23,7 @@
 import org.apache.cocoon.classloader.ClassLoaderConfiguration;
 import org.apache.cocoon.classloader.ClassLoaderFactory;
 import org.apache.cocoon.components.ContextHelper;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.core.container.util.ClassLoaderUtils;
 import org.apache.cocoon.environment.Request;
 import org.apache.excalibur.source.SourceResolver;
@@ -74,7 +74,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.core.container.spring.BeanFactoryFactory#createBeanFactory(java.lang.ClassLoader, org.apache.avalon.framework.logger.Logger, org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.context.Context, org.apache.excalibur.source.SourceResolver, org.apache.cocoon.core.Settings)
+     * @see org.apache.cocoon.core.container.spring.BeanFactoryFactory#createBeanFactory(java.lang.ClassLoader, org.apache.avalon.framework.logger.Logger, org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.context.Context, org.apache.excalibur.source.SourceResolver, org.apache.cocoon.configuration.Settings)
      */
     public ConfigurableListableBeanFactory createBeanFactory(ClassLoader    classLoader,
                                                              Logger         sitemapLogger,

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/BeanFactoryUtil.java Thu Jul  6 04:07:38 2006
@@ -31,8 +31,8 @@
 import org.apache.cocoon.acting.Action;
 import org.apache.cocoon.components.pipeline.ProcessingPipeline;
 import org.apache.cocoon.components.treeprocessor.ProcessorComponentInfo;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.core.CoreInitializationException;
-import org.apache.cocoon.core.Settings;
 import org.apache.cocoon.core.container.util.ConfigurationBuilder;
 import org.apache.cocoon.core.container.util.SettingsContext;
 import org.apache.cocoon.generation.Generator;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonBeanFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonBeanFactory.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonBeanFactory.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonBeanFactory.java Thu Jul  6 04:07:38 2006
@@ -30,7 +30,7 @@
 import org.apache.avalon.framework.parameters.Parameterizable;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.beans.factory.BeanFactory;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonSettingsConfigurer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonSettingsConfigurer.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonSettingsConfigurer.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonSettingsConfigurer.java Thu Jul  6 04:07:38 2006
@@ -18,7 +18,7 @@
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanDefinitionStoreException;
 import org.springframework.beans.factory.config.BeanDefinition;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/TestBean.java Thu Jul  6 04:07:38 2006
@@ -16,7 +16,7 @@
  */
 package org.apache.cocoon.core.container.spring;
 
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 
 /**
  * This is a simple test bean.

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ComponentContext.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ComponentContext.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ComponentContext.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ComponentContext.java Thu Jul  6 04:07:38 2006
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2004 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.
@@ -29,7 +29,7 @@
  * This is the {@link Context} implementation for Cocoon components.
  * It extends the {@link DefaultContext} by a special handling for
  * getting objects from the object model and other application information.
- * 
+ *
  * @see org.apache.cocoon.components.ContextHelper
  * @version $Id$
  */
@@ -37,7 +37,7 @@
     extends DefaultContext {
 
     protected static final String OBJECT_MODEL_KEY_PREFIX = ContextHelper.CONTEXT_OBJECT_MODEL + '.';
-    
+
     /**
      * Create a Context with specified data and parent.
      *
@@ -105,7 +105,7 @@
                 }
                 final Map objectModel = env.getObjectModel();
                 String objectKey = stringKey.substring(OBJECT_MODEL_KEY_PREFIX.length());
-                
+
                 Object o = objectModel.get( objectKey );
                 if ( o == null ) {
                     final String message = "Unable to locate " + key;
@@ -116,5 +116,4 @@
         }
         return super.get( key );
     }
-
 }

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ConfigurationBuilder.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ConfigurationBuilder.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/ConfigurationBuilder.java Thu Jul  6 04:07:38 2006
@@ -26,7 +26,8 @@
 
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.DefaultConfiguration;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
+import org.apache.cocoon.configuration.impl.PropertyHelper;
 import org.xml.sax.Attributes;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.ErrorHandler;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/SettingsContext.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/SettingsContext.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/SettingsContext.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/util/SettingsContext.java Thu Jul  6 04:07:38 2006
@@ -18,13 +18,14 @@
 import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.context.DefaultContext;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 
 /**
  * This is an extension of the default context implementation.
  * It first looks into the settings object and only if the key
  * is not found there, it delegates to the parent.
- * 
+ * This object is used for setting up the logger.
+ *
  * @version $Id$
  * @since 2.2
  */
@@ -46,10 +47,11 @@
      * @see org.apache.avalon.framework.context.Context#get(java.lang.Object)
      */
     public Object get(Object name) throws ContextException {
-        if ( this.settings.getProperty(name.toString()) != null ) {
-            return this.settings.getProperty(name.toString());
+        if ( name != null && this.settings != null ) {
+            if ( this.settings.getProperty(name.toString()) != null ) {
+                return this.settings.getProperty(name.toString());
+            }
         }
         return super.get(name);
     }
-
 }

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSettings.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSettings.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSettings.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSettings.java Thu Jul  6 04:07:38 2006
@@ -16,8 +16,8 @@
 package org.apache.cocoon.core.osgi;
 
 import org.apache.avalon.framework.logger.Logger;
+import org.apache.cocoon.configuration.impl.MutableSettings;
 import org.apache.cocoon.core.CoreUtil;
-import org.apache.cocoon.core.MutableSettings;
 import org.osgi.service.component.ComponentContext;
 
 /**

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSpringECMFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSpringECMFactory.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSpringECMFactory.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/osgi/OSGiSpringECMFactory.java Thu Jul  6 04:07:38 2006
@@ -29,8 +29,8 @@
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceSelector;
 import org.apache.cocoon.ProcessingUtil;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.core.CoreUtil;
-import org.apache.cocoon.core.Settings;
 import org.apache.cocoon.core.container.spring.AvalonEnvironment;
 import org.apache.cocoon.core.container.spring.BeanFactoryUtil;
 import org.apache.cocoon.core.container.spring.ConfigReader;
@@ -148,7 +148,7 @@
 		this.logger.debug("Context path: " + contextPath);
 
 		// create a minimal Avalon Context
-		DefaultContext avalonContext = CoreUtil.createContext(this.settings, osgiServletContext, contextPath, null);
+		DefaultContext avalonContext = CoreUtil.createContext(this.settings, osgiServletContext, contextPath);
 		
 		// create an Avalon environment (it's some kind of container for Avalon related information)
 		AvalonEnvironment avalonEnvironment = new AvalonEnvironment();

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/generation/StatusGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/generation/StatusGenerator.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/generation/StatusGenerator.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/generation/StatusGenerator.java Thu Jul  6 04:07:38 2006
@@ -31,7 +31,7 @@
 import org.apache.cocoon.components.flow.ContinuationsManager;
 import org.apache.cocoon.components.flow.WebContinuationDataBean;
 import org.apache.cocoon.components.source.SourceUtil;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.cocoon.xml.XMLUtils;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java Thu Jul  6 04:07:38 2006
@@ -23,7 +23,7 @@
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.Constants;
 import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.util.ClassUtils;
 import org.apache.cocoon.util.TraxErrorHandler;
 import org.apache.cocoon.xml.AbstractXMLPipe;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/CocoonServletListener.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/CocoonServletListener.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/CocoonServletListener.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/CocoonServletListener.java Thu Jul  6 04:07:38 2006
@@ -16,17 +16,17 @@
 package org.apache.cocoon.servlet;
 
 import java.io.File;
+import java.util.Properties;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
-import org.apache.avalon.framework.context.DefaultContext;
 import org.apache.cocoon.Constants;
 import org.apache.cocoon.ProcessingUtil;
-import org.apache.cocoon.core.BootstrapEnvironment;
+import org.apache.cocoon.configuration.PropertyProvider;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.core.CoreUtil;
-import org.apache.cocoon.core.MutableSettings;
 import org.apache.cocoon.environment.http.HttpContext;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -62,7 +62,7 @@
         servletContext.log("Initializing Apache Cocoon " + Constants.VERSION);
 
         // initialize settings
-        ServletBootstrapEnvironment env = new ServletBootstrapEnvironment(servletContext);
+        ServletPropertyProvider env = new ServletPropertyProvider(servletContext);
 
         try {
             this.cocoonBeanFactory = CoreUtil.createRootContainer(new HttpContext(servletContext), env);
@@ -77,33 +77,25 @@
         servletContext.log("Apache Cocoon " + Constants.VERSION + " is up and ready.");
     }
 
-    protected static final class ServletBootstrapEnvironment
-    implements BootstrapEnvironment {
+    protected static final class ServletPropertyProvider
+    implements PropertyProvider {
 
         private final ServletContext context;
     
-        public ServletBootstrapEnvironment(ServletContext context) {
+        public ServletPropertyProvider(ServletContext context) {
             this.context = context;
         }
-    
+
         /**
-         * @see org.apache.cocoon.core.BootstrapEnvironment#configure(org.apache.cocoon.core.MutableSettings)
+         * @see org.apache.cocoon.configuration.PropertyProvider#getProperties(Settings, java.lang.String, java.lang.String)
          */
-        public void configure(MutableSettings settings) {
+        public Properties getProperties(Settings settings, String runningMode, String path) {
+            final Properties p = new Properties();
             if ( settings.getWorkDirectory() == null ) {
                 final File workDir = (File)context.getAttribute("javax.servlet.context.tempdir");
-                settings.setWorkDirectory(workDir.getAbsolutePath());
+                p.setProperty(Settings.KEY_WORK_DIRECTORY, workDir.getAbsolutePath());
             }
-            if ( settings.getLoggingConfiguration() == null ) {
-                settings.setLoggingConfiguration("/WEB-INF/log4j.xconf");
-            }
-        }
-    
-        /**
-         * @see org.apache.cocoon.core.BootstrapEnvironment#configure(org.apache.avalon.framework.context.DefaultContext)
-         */
-        public void configure(DefaultContext componentContext) {
-            // nothing to do
+            return p;
         }
     }
 }

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java Thu Jul  6 04:07:38 2006
@@ -34,7 +34,7 @@
 import org.apache.cocoon.components.notification.DefaultNotifyingBuilder;
 import org.apache.cocoon.components.notification.Notifier;
 import org.apache.cocoon.components.notification.Notifying;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.environment.Context;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.environment.http.HttpContext;

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/multipart/MultipartFilter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/multipart/MultipartFilter.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/multipart/MultipartFilter.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/multipart/MultipartFilter.java Thu Jul  6 04:07:38 2006
@@ -34,7 +34,7 @@
 import org.apache.cocoon.components.notification.DefaultNotifyingBuilder;
 import org.apache.cocoon.components.notification.Notifier;
 import org.apache.cocoon.components.notification.Notifying;
-import org.apache.cocoon.core.Settings;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.environment.Environment;
 import org.springframework.beans.factory.BeanFactory;
 

Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/sitemap/SitemapServlet.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/sitemap/SitemapServlet.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/sitemap/SitemapServlet.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/sitemap/SitemapServlet.java Thu Jul  6 04:07:38 2006
@@ -31,8 +31,8 @@
 import org.apache.cocoon.Processor;
 import org.apache.cocoon.components.LifecycleHelper;
 import org.apache.cocoon.components.treeprocessor.TreeProcessor;
+import org.apache.cocoon.configuration.Settings;
 import org.apache.cocoon.core.CoreUtil;
-import org.apache.cocoon.core.Settings;
 import org.apache.cocoon.environment.Context;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.environment.http.HttpContext;
@@ -91,7 +91,7 @@
         this.contextUrl = CoreUtil.getContextUrl(this.cocoonContext, MANIFEST_FILE);
         org.apache.avalon.framework.context.Context avalonContext;
         try {
-            avalonContext = CoreUtil.createContext(this.settings, this.cocoonContext, this.contextUrl, null);
+            avalonContext = CoreUtil.createContext(this.settings, this.cocoonContext, this.contextUrl);
         } catch (MalformedURLException e) {
             throw new ServletException(e);
         }

Modified: cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java (original)
+++ cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java Thu Jul  6 04:07:38 2006
@@ -28,9 +28,9 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.Processor;
-import org.apache.cocoon.core.BootstrapEnvironment;
+import org.apache.cocoon.configuration.PropertyProvider;
 import org.apache.cocoon.core.CoreUtil;
-import org.apache.cocoon.core.TestBootstrapEnvironment;
+import org.apache.cocoon.core.TestPropertyProvider;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.internal.EnvironmentHelper;
@@ -71,8 +71,8 @@
         objectmodel.put(ObjectModelHelper.CONTEXT_OBJECT, environmentContext);
 
         this.classDir = this.getClassDirURL().toExternalForm();
-        BootstrapEnvironment env = 
-            new TestBootstrapEnvironment(this.getConfiguration());
+        PropertyProvider env = 
+            new TestPropertyProvider(this.getConfiguration());
 
         this.container = CoreUtil.createRootContainer(new MockContext(), env);
         this.serviceManager = (ServiceManager)this.container.getBean(ServiceManager.class.getName());

Copied: cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestPropertyProvider.java (from r418996, cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestBootstrapEnvironment.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestPropertyProvider.java?p2=cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestPropertyProvider.java&p1=cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestBootstrapEnvironment.java&r1=418996&r2=419520&rev=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestBootstrapEnvironment.java (original)
+++ cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/TestPropertyProvider.java Thu Jul  6 04:07:38 2006
@@ -15,28 +15,27 @@
  */
 package org.apache.cocoon.core;
 
-import org.apache.avalon.framework.context.DefaultContext;
-import org.apache.cocoon.core.BootstrapEnvironment;
-import org.apache.cocoon.core.MutableSettings;
+import java.util.Properties;
 
-public class TestBootstrapEnvironment
-    implements BootstrapEnvironment {
+import org.apache.cocoon.configuration.PropertyProvider;
+import org.apache.cocoon.configuration.Settings;
+
+public class TestPropertyProvider
+    implements PropertyProvider {
     
     private final String configuration;
 
-    public TestBootstrapEnvironment(String configuration) {
+    public TestPropertyProvider(String configuration) {
         this.configuration = configuration;
     }
 
     /**
-     * @see org.apache.cocoon.core.BootstrapEnvironment#configure(org.apache.cocoon.core.MutableSettings)
+     * @see org.apache.cocoon.configuration.PropertyProvider#getProperties(org.apache.cocoon.configuration.Settings, java.lang.String, java.lang.String)
      */
-    public void configure(MutableSettings settings) {
-        settings.setConfiguration(this.configuration);
-        settings.setWorkDirectory("work");
-    }
-
-    public void configure(DefaultContext context) {
-        // nothing to do here
+    public Properties getProperties(Settings settings, String runningMode, String path) {
+        final Properties p = new Properties();
+        p.setProperty(Settings.KEY_CONFIGURATION, this.configuration);
+        p.setProperty(Settings.KEY_WORK_DIRECTORY, "work");
+        return p;
     }
 }

Modified: cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java (original)
+++ cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/ContainerTestCase.java Thu Jul  6 04:07:38 2006
@@ -35,7 +35,7 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.Constants;
-import org.apache.cocoon.core.MutableSettings;
+import org.apache.cocoon.configuration.impl.MutableSettings;
 import org.apache.cocoon.core.container.spring.BeanFactoryUtil;
 import org.apache.cocoon.core.container.spring.AvalonEnvironment;
 import org.apache.cocoon.core.container.spring.ConfigReader;

Modified: cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/util/PropertyHelperTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/util/PropertyHelperTestCase.java?rev=419520&r1=419519&r2=419520&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/util/PropertyHelperTestCase.java (original)
+++ cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/core/container/util/PropertyHelperTestCase.java Thu Jul  6 04:07:38 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.cocoon.core.container.util;
 
+import org.apache.cocoon.configuration.impl.PropertyHelper;
+
 import junit.framework.TestCase;
 
 /**



Mime
View raw message