Author: hlship
Date: Mon May  7 21:55:30 2007
New Revision: 536053

URL: http://svn.apache.org/viewvc?view=rev&rev=536053
Log:
Marge changes from the temporary branch

Added:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/ServletContextSymbolProvider.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/main/java/org/apache/tapestry/internal/ServletContextSymbolProvider.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/SingleKeySymbolProvider.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/main/java/org/apache/tapestry/internal/SingleKeySymbolProvider.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/SyntheticModuleDef.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/main/java/org/apache/tapestry/internal/SyntheticModuleDef.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/SyntheticSymbolSourceContributionDef.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/main/java/org/apache/tapestry/internal/SyntheticSymbolSourceContributionDef.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/ServletContextSymbolProviderTest.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/test/java/org/apache/tapestry/internal/ServletContextSymbolProviderTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/SingleKeySymbolProviderTest.java
      - copied unchanged from r536043, 
tapestry/tapestry5/branches/hlship-20070503/tapestry-core/src/test/java/org/apache/tapestry/internal/SingleKeySymbolProviderTest.java
    tapestry/tapestry5/trunk/tapestry-spring/bin-test/
Modified:
    tapestry/tapestry5/trunk/quickstart/pom.xml
    tapestry/tapestry5/trunk/tapestry-component-report/pom.xml
    tapestry/tapestry5/trunk/tapestry-core/.classpath
    tapestry/tapestry5/trunk/tapestry-core/pom.xml
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/TapestryFilter.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryAppInitializer.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/AliasImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentClassResolverImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InternalModule.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/test/pagelevel/PageTester.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/AliasImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentClassResolverImplTest.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
    tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml
    tapestry/tapestry5/trunk/tapestry-ioc/pom.xml
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
    tapestry/tapestry5/trunk/tapestry-project/pom.xml
    tapestry/tapestry5/trunk/tapestry-project/src/site/apt/index.apt
    tapestry/tapestry5/trunk/tapestry-project/support/new-project.rb
    tapestry/tapestry5/trunk/tapestry-test/pom.xml

Modified: tapestry/tapestry5/trunk/quickstart/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/pom.xml (original)
+++ tapestry/tapestry5/trunk/quickstart/pom.xml Mon May  7 21:55:30 2007
@@ -4,12 +4,12 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.tapestry</groupId>
   <artifactId>quickstart</artifactId>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
   <name>Tapestry 5 Quickstart Archetype</name>

Modified: tapestry/tapestry5/trunk/tapestry-component-report/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-component-report/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-component-report/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-component-report/pom.xml Mon May  7 
21:55:30 2007
@@ -6,13 +6,13 @@
   <artifactId>tapestry-component-report</artifactId>
   <packaging>maven-plugin</packaging>
   <name>Tapestry Component Parameters Report</name>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <description>Generates component parameter documentation for Tapestry 
components, mixins (and base
     classes)</description>
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
 

Modified: tapestry/tapestry5/trunk/tapestry-core/.classpath
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/.classpath?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/.classpath (original)
+++ tapestry/tapestry5/trunk/tapestry-core/.classpath Mon May  7 21:55:30 2007
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="src" path="src/main/java"/>
-       <classpathentry kind="lib" path="src/main/resources"/>
-       <classpathentry kind="src" path="src/test/java"/>
-       <classpathentry kind="lib" path="src/test/resources"/>
-       <classpathentry kind="lib" path="src/test/conf"/>
-       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-       <classpathentry kind="con" 
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-       <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="src/main/java"/>
+       <classpathentry kind="lib" path="src/main/resources"/>
+       <classpathentry kind="src" output="bin-test" path="src/test/java"/>
+       <classpathentry kind="lib" path="src/test/resources"/>
+       <classpathentry kind="lib" path="src/test/conf"/>
+       <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry kind="con" 
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>

Modified: tapestry/tapestry5/trunk/tapestry-core/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/pom.xml Mon May  7 21:55:30 2007
@@ -5,11 +5,11 @@
   <groupId>org.apache.tapestry</groupId>
   <artifactId>tapestry-core</artifactId>
   <packaging>jar</packaging>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
   <name>Tapestry Core Library</name>

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/TapestryFilter.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/TapestryFilter.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/TapestryFilter.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/TapestryFilter.java
 Mon May  7 21:55:30 2007
@@ -21,6 +21,7 @@
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
@@ -29,14 +30,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.tapestry.internal.InternalConstants;
+import org.apache.tapestry.internal.ServletContextSymbolProvider;
 import org.apache.tapestry.internal.TapestryAppInitializer;
-import org.apache.tapestry.ioc.IOCUtilities;
 import org.apache.tapestry.ioc.Registry;
-import org.apache.tapestry.ioc.RegistryBuilder;
+import org.apache.tapestry.ioc.def.ModuleDef;
+import org.apache.tapestry.ioc.services.SymbolProvider;
 import org.apache.tapestry.services.HttpServletRequestHandler;
 import org.apache.tapestry.services.ServletApplicationInitializer;
-import org.apache.tapestry.services.TapestryModule;
 
 /**
  * The TapestryFilter is responsible for intercepting all requests into the 
web application. It
@@ -63,13 +63,14 @@
     {
         _config = filterConfig;
 
-        // Note: configured as a <context-param>, not a filter <init-param>
-        String appPackage = _config.getServletContext().getInitParameter(
-                InternalConstants.TAPESTRY_APP_PACKAGE_PARAM);
+        ServletContext context = _config.getServletContext();
+
         String filterName = _config.getFilterName();
 
-        TapestryAppInitializer appInitializer = new 
TapestryAppInitializer(appPackage, filterName,
-                "servlet");
+        SymbolProvider provider = new ServletContextSymbolProvider(context);
+
+        TapestryAppInitializer appInitializer = new 
TapestryAppInitializer(provider, filterName,
+                "servlet", provideExtraModuleDefs(context));
 
         _registry = appInitializer.getRegistry();
 
@@ -94,17 +95,12 @@
     }
 
     /**
-     * Adds additional modules to the builder. This implementation adds any 
modules identified by
-     * [EMAIL PROTECTED] IOCUtilities#addDefaultModules(RegistryBuilder)}. 
Most subclasses will invoke this
-     * implementation, and add additional modules to the RegistryBuilder 
besides.
-     * [EMAIL PROTECTED] org.apache.tapestry.ioc.services.TapestryIOCModule} 
and [EMAIL PROTECTED] TapestryModule} will
-     * already have been added, as will an application module if present.
-     * 
-     * @param builder
+     * Overridden in subclasses to provide additional module definitions 
beyond those normally
+     * located. This implementation returns an empty array.
      */
-    protected void addModules(RegistryBuilder builder)
+    protected ModuleDef[] provideExtraModuleDefs(ServletContext context)
     {
-        IOCUtilities.addDefaultModules(builder);
+        return new ModuleDef[0];
     }
 
     public final void doFilter(ServletRequest request, ServletResponse 
response, FilterChain chain)
@@ -126,6 +122,7 @@
 
     /** Shuts down and discards the registry. */
     public final void destroy()
+    
     {
         _registry.shutdown();
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
 Mon May  7 21:55:30 2007
@@ -22,6 +22,8 @@
      */
     public static final String TAPESTRY_APP_PACKAGE_PARAM = 
"tapestry.app-package";
 
+    public static final String TAPESTRY_ALIAS_MODE_SYMBOL = 
"tapestry.alias-mode";
+    
     /**
      * The extension used for Tapestry component template files. Template 
files are well-formed XML
      * files. This is also used as the extension for page render requests 
(perhaps these will be

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryAppInitializer.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryAppInitializer.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryAppInitializer.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/TapestryAppInitializer.java
 Mon May  7 21:55:30 2007
@@ -20,9 +20,13 @@
 import org.apache.tapestry.ioc.IOCUtilities;
 import org.apache.tapestry.ioc.Registry;
 import org.apache.tapestry.ioc.RegistryBuilder;
+import org.apache.tapestry.ioc.def.ContributionDef;
+import org.apache.tapestry.ioc.def.ModuleDef;
 import org.apache.tapestry.ioc.internal.util.InternalUtils;
+import org.apache.tapestry.ioc.services.SymbolProvider;
 import org.apache.tapestry.services.Alias;
 import org.apache.tapestry.services.TapestryModule;
+import org.apache.tapestry.test.pagelevel.PageTester;
 
 /**
  * This class is used to build the [EMAIL PROTECTED] Registry}. The Registry 
contains
@@ -36,43 +40,66 @@
  */
 public class TapestryAppInitializer
 {
-    private String _appPackage;
+    private final SymbolProvider _appProvider;
 
-    private String _appName;
+    private final String _appPackage;
 
-    private String _aliasMode;
+    private final String _appName;
 
-    private Registry _registry;
+    private final String _aliasMode;
 
-    private long _startTime;
+    private final Registry _registry;
 
-    private long _registryCreatedTime;
+    private final long _startTime;
+
+    private final long _registryCreatedTime;
 
     private final Map<String, Object> _serviceOverrides;
 
     public TapestryAppInitializer(String appPackage, String appName, String 
aliasMode)
     {
-        this(appPackage, appName, aliasMode, null);
+        this(new 
SingleKeySymbolProvider(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM, 
appPackage),
+                appName, aliasMode);
     }
 
-    public TapestryAppInitializer(String appPackage, String appName, String 
aliasMode,
-            Map<String, Object> serviceOverrides)
+    public TapestryAppInitializer(SymbolProvider appProvider, String appName, 
String aliasMode,
+            ModuleDef... moduleDefs)
     {
-        _appPackage = appPackage;
+        this(appProvider, appName, aliasMode, null, moduleDefs);
+    }
+
+    /**
+     * @param appProvider
+     *            provides symbols for the application (normally, from the 
ServletContext init
+     *            parameters)
+     * @param appName
+     *            the name of the application (i.e., the name of the 
application servlet)
+     * @param aliasMode
+     *            the mode, used by the [EMAIL PROTECTED] Alias} service, 
normally "servlet"
+     * @param serviceOverrides
+     *            specific service overrides (used by [EMAIL PROTECTED] 
PageTester}
+     * @param moduleDefs
+     *            additional module definitions to be mixed in to those 
automatically located
+     */
+    public TapestryAppInitializer(SymbolProvider appProvider, String appName, 
String aliasMode,
+            Map<String, Object> serviceOverrides, ModuleDef... moduleDefs)
+    {
+        _appProvider = appProvider;
+
+        _appPackage = 
_appProvider.valueForSymbol(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM);
+
         _appName = appName;
         _aliasMode = aliasMode;
         _serviceOverrides = serviceOverrides;
 
         _startTime = System.currentTimeMillis();
 
-        createRegistry();
+        _registry = createRegistry(moduleDefs);
 
         _registryCreatedTime = System.currentTimeMillis();
-
-        setupServices();
     }
 
-    private void createRegistry()
+    private Registry createRegistry(ModuleDef... moduleDefs)
     {
         RegistryBuilder builder = new RegistryBuilder();
 
@@ -98,9 +125,31 @@
 
         addModules(builder);
 
+        // Add any explicitly provided module defs
+
+        for (ModuleDef def : moduleDefs)
+            builder.add(def);
+
+        // Add a synthetic module that contributes symbol sources.
+
+        addSyntheticSymbolSourceModule(builder);
+
         overrideServices(builder);
 
-        _registry = builder.build();
+        return builder.build();
+    }
+
+    private void addSyntheticSymbolSourceModule(RegistryBuilder builder)
+    {
+        ContributionDef symbolSourceContribution = new 
SyntheticSymbolSourceContributionDef(
+                "ServletContext", _appProvider, "before:ApplicationDefaults");
+
+        ContributionDef aliasModeContribution = new 
SyntheticSymbolSourceContributionDef(
+                "AliasMode", new SingleKeySymbolProvider(
+                        InternalConstants.TAPESTRY_ALIAS_MODE_SYMBOL, 
_aliasMode),
+                "before:ServletContext");
+
+        builder.add(new SyntheticModuleDef(symbolSourceContribution, 
aliasModeContribution));
     }
 
     private void overrideServices(RegistryBuilder builder)
@@ -112,13 +161,6 @@
                 builder.addServiceOverride(e.getKey(), e.getValue());
             }
         }
-    }
-
-    private void setupServices()
-    {
-        Alias alias = _registry.getService("Alias", Alias.class);
-
-        alias.setMode(_aliasMode);
     }
 
     /**

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/AliasImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/AliasImpl.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/AliasImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/AliasImpl.java
 Mon May  7 21:55:30 2007
@@ -15,14 +15,12 @@
 package org.apache.tapestry.internal.services;
 
 import static org.apache.tapestry.ioc.internal.util.CollectionFactory.newMap;
-import static org.apache.tapestry.ioc.internal.util.Defense.notNull;
 
 import java.util.Map;
 
 import org.apache.tapestry.ioc.AnnotationProvider;
-import org.apache.tapestry.ioc.ObjectProvider;
 import org.apache.tapestry.ioc.ObjectLocator;
-import org.apache.tapestry.ioc.internal.util.OneShotLock;
+import org.apache.tapestry.ioc.ObjectProvider;
 import org.apache.tapestry.services.Alias;
 import org.apache.tapestry.services.AliasManager;
 
@@ -32,19 +30,18 @@
 
     private final Map<Class, Object> _properties = newMap();
 
+    private final String _mode;
+
     private boolean _initialized = false;
 
     private AliasManager _masterManager;
 
     private AliasManager _overridesManager;
 
-    private String _mode;
-
-    private final OneShotLock _lock = new OneShotLock();
-
-    public AliasImpl(AliasManager masterManager, AliasManager overridesManager)
+    public AliasImpl(AliasManager masterManager, String mode, AliasManager 
overridesManager)
     {
         _masterManager = masterManager;
+        _mode = mode;
         _overridesManager = overridesManager;
     }
 
@@ -53,16 +50,9 @@
         return this;
     }
 
-    // Probably don't need to make this concurrent, since it executes at 
startup,
-    // before multithreading takes hold.
-
-    public synchronized void setMode(String mode)
+    private synchronized void initialize()
     {
-        _mode = notNull(mode, "mode");
-
-        // This method may only be invoked once.
-
-        _lock.lock();
+        if (_initialized) return;
 
         _properties.putAll(_masterManager.getAliasesForMode(_mode));
         _properties.putAll(_overridesManager.getAliasesForMode(_mode));
@@ -76,7 +66,7 @@
     public <T> T provide(Class<T> objectType, AnnotationProvider 
annotationProvider,
             ObjectLocator locator)
     {
-        if (!_initialized) throw new 
RuntimeException(ServicesMessages.aliasModeNotSet());
+        initialize();
 
         Object object = _properties.get(objectType);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentClassResolverImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentClassResolverImpl.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentClassResolverImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentClassResolverImpl.java
 Mon May  7 21:55:30 2007
@@ -23,6 +23,8 @@
 import java.util.Map;
 
 import org.apache.tapestry.events.InvalidationListener;
+import org.apache.tapestry.ioc.annotations.Inject;
+import org.apache.tapestry.ioc.annotations.Value;
 import org.apache.tapestry.services.ComponentClassResolver;
 import org.apache.tapestry.services.LibraryMapping;
 
@@ -38,7 +40,7 @@
 
     private final ClassNameLocator _classNameLocator;
 
-    private String _appRootPackage;
+    private final String _appRootPackage;
 
     // Map from folder name to a list of root package names.
     // The key does not begin or end with a slash.
@@ -64,11 +66,21 @@
     private final Map<String, String> _pageClassNameToLogicalName = newMap();
 
     public ComponentClassResolverImpl(ComponentInstantiatorSource 
componentInstantiatorSource,
-            ClassNameLocator classNameLocator, Collection<LibraryMapping> 
mappings)
+            ClassNameLocator classNameLocator,
+
+            @Inject
+            @Value("${tapestry.app-package}")
+            String appRootPackage,
+
+            Collection<LibraryMapping> mappings)
     {
         _componentInstantiatorSource = componentInstantiatorSource;
         _classNameLocator = classNameLocator;
 
+        _appRootPackage = appRootPackage;
+
+        addPackagesToInstantiatorSource(_appRootPackage);
+
         for (LibraryMapping mapping : mappings)
         {
             String prefix = mapping.getPathPrefix();
@@ -311,12 +323,5 @@
             throw new 
IllegalArgumentException(ServicesMessages.pageNameUnresolved(pageClassName));
 
         return result;
-    }
-
-    public void setApplicationPackage(String packageName)
-    {
-        _appRootPackage = packageName;
-
-        addPackagesToInstantiatorSource(packageName);
     }
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InternalModule.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InternalModule.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InternalModule.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/InternalModule.java
 Mon May  7 21:55:30 2007
@@ -29,17 +29,16 @@
 import org.apache.tapestry.Binding;
 import org.apache.tapestry.ComponentResources;
 import org.apache.tapestry.events.InvalidationListener;
-import org.apache.tapestry.internal.InternalConstants;
 import org.apache.tapestry.internal.bindings.LiteralBinding;
 import org.apache.tapestry.internal.bindings.PropBindingFactory;
 import org.apache.tapestry.internal.util.IntegerRange;
 import org.apache.tapestry.ioc.Configuration;
 import org.apache.tapestry.ioc.Location;
 import org.apache.tapestry.ioc.MappedConfiguration;
+import org.apache.tapestry.ioc.ObjectLocator;
 import org.apache.tapestry.ioc.ObjectProvider;
 import org.apache.tapestry.ioc.OrderedConfiguration;
 import org.apache.tapestry.ioc.ServiceBinder;
-import org.apache.tapestry.ioc.ObjectLocator;
 import org.apache.tapestry.ioc.ServiceResources;
 import org.apache.tapestry.ioc.annotations.InjectService;
 import org.apache.tapestry.ioc.annotations.Scope;
@@ -419,22 +418,6 @@
             final ApplicationGlobals applicationGlobals, final PropertyAccess 
propertyAccess,
             final TypeCoercer typeCoercer)
     {
-        ApplicationInitializerFilter setApplicationPackage = new 
ApplicationInitializerFilter()
-        {
-            public void initializeApplication(Context context, 
ApplicationInitializer initializer)
-            {
-                String packageName = context
-                        
.getInitParameter(InternalConstants.TAPESTRY_APP_PACKAGE_PARAM);
-
-                applicationGlobals.store(packageName);
-                _componentClassResolver.setApplicationPackage(packageName);
-
-                initializer.initializeApplication(context);
-            }
-        };
-
-        configuration.add("SetApplicationPackage", setApplicationPackage, 
"before:*.*");
-
         final InvalidationListener listener = new InvalidationListener()
         {
             public void objectWasInvalidated()

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
 Mon May  7 21:55:30 2007
@@ -49,11 +49,6 @@
                 existing);
     }
 
-    static final String aliasModeNotSet()
-    {
-        return MESSAGES.get("alias-mode-not-set");
-    }
-
     static final String markupWriterNoCurrentElement()
     {
         return MESSAGES.get("markup-writer-no-current-element");

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
 Mon May  7 21:55:30 2007
@@ -34,6 +34,10 @@
 import org.apache.tapestry.Link;
 import org.apache.tapestry.events.InvalidationListener;
 import org.apache.tapestry.internal.InternalComponentResources;
+import org.apache.tapestry.internal.InternalConstants;
+import org.apache.tapestry.internal.SingleKeySymbolProvider;
+import org.apache.tapestry.internal.SyntheticModuleDef;
+import org.apache.tapestry.internal.SyntheticSymbolSourceContributionDef;
 import org.apache.tapestry.internal.parser.ComponentTemplate;
 import org.apache.tapestry.internal.parser.TemplateToken;
 import org.apache.tapestry.internal.services.ComponentInstantiatorSource;
@@ -62,13 +66,15 @@
 import org.apache.tapestry.ioc.Registry;
 import org.apache.tapestry.ioc.RegistryBuilder;
 import org.apache.tapestry.ioc.Resource;
+import org.apache.tapestry.ioc.def.ContributionDef;
+import org.apache.tapestry.ioc.def.ModuleDef;
 import org.apache.tapestry.ioc.internal.InternalRegistry;
 import org.apache.tapestry.ioc.internal.util.MessagesImpl;
+import org.apache.tapestry.ioc.services.SymbolProvider;
 import org.apache.tapestry.model.ComponentModel;
 import org.apache.tapestry.model.EmbeddedComponentModel;
 import org.apache.tapestry.runtime.Component;
 import org.apache.tapestry.runtime.RenderQueue;
-import org.apache.tapestry.services.Alias;
 import org.apache.tapestry.services.ComponentClassResolver;
 import org.apache.tapestry.services.Request;
 import org.apache.tapestry.services.TapestryModule;
@@ -94,9 +100,20 @@
 
         builder.add(TapestryModule.class);
 
+        // A synthetic module to ensure that the tapestry.alias-mode is set 
correctly.
+
+        SymbolProvider provider = new SingleKeySymbolProvider(
+                InternalConstants.TAPESTRY_ALIAS_MODE_SYMBOL, "servlet");
+        ContributionDef contribution = new 
SyntheticSymbolSourceContributionDef("AliasMode",
+                provider, "before:ApplicationDefaults");
+
+        ModuleDef module = new SyntheticModuleDef(contribution);
+
+        builder.add(module);
+
         _registry = builder.build();
 
-        _registry.getService(Alias.class).setMode("servlet");
+        // _registry.getService(Alias.class).setMode("servlet");
     }
 
     @AfterSuite

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/Alias.java
 Mon May  7 21:55:30 2007
@@ -17,17 +17,13 @@
 import org.apache.tapestry.ioc.ObjectProvider;
 
 /**
- * Primarily, the Alias service is an ObjectProvider that fits into the 
command chain and disambiguates
- * injections on type. Contributions to the Alias service identify the normal 
service to inject for a
- * particular service interface; this is only necessary when there is more 
than one service implementing
- * the same interface.
- * 
+ * Primarily, the Alias service is an ObjectProvider that fits into the 
command chain and
+ * disambiguates injections on type. Contributions to the Alias service 
identify the normal service
+ * to inject for a particular service interface; this is only necessary when 
there is more than one
+ * service implementing the same interface.
  */
 public interface Alias
 {
-    /** Inform the Alias service about what mode it is operating in. */
-    void setMode(String mode);
-
     /**
      * Returns an object that can provide objects based on contributions into 
the Alias (and
      * AliasOverrides) service.

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/ComponentClassResolver.java
 Mon May  7 21:55:30 2007
@@ -27,9 +27,9 @@
  * package is expected to have sub-packages: "pages", "components", "mixins" 
and "base" ("base" is
  * for base classes).
  * <p>
- * The resolver performs a search of the classpath (via [EMAIL PROTECTED] 
ClassNameLocator}, to build up
- * a set of case-insensitive maps from logical page name, component type, or 
mixin type to fully
- * qualified class name.
+ * The resolver performs a search of the classpath (via [EMAIL PROTECTED] 
ClassNameLocator}, to build up a set
+ * of case-insensitive maps from logical page name, component type, or mixin 
type to fully qualified
+ * class name.
  * <p>
  * Certain ambiguities occur if mapped packages overlap, either in terms of 
the the prefixes or the
  * package names. Keep things clearly seperate to avoid lookup problems.
@@ -94,12 +94,4 @@
      *             if the mixin type can not be resolved
      */
     String resolveMixinTypeToClassName(String mixinType);
-
-    /**
-     * Sets the root package for the application. Pages are expected to be in 
a sub-package named
-     * "pages" (i.e., root.pages). Components will be in a sub-package named 
"components".
-     * 
-     * @param packageName
-     */
-    void setApplicationPackage(String packageName);
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
 Mon May  7 21:55:30 2007
@@ -157,10 +157,10 @@
 import org.apache.tapestry.ioc.Location;
 import org.apache.tapestry.ioc.MappedConfiguration;
 import org.apache.tapestry.ioc.Messages;
+import org.apache.tapestry.ioc.ObjectLocator;
 import org.apache.tapestry.ioc.ObjectProvider;
 import org.apache.tapestry.ioc.OrderedConfiguration;
 import org.apache.tapestry.ioc.ServiceBinder;
-import org.apache.tapestry.ioc.ObjectLocator;
 import org.apache.tapestry.ioc.ServiceResources;
 import org.apache.tapestry.ioc.annotations.InjectService;
 import org.apache.tapestry.ioc.annotations.SubModule;
@@ -236,6 +236,10 @@
 
     public static Alias build(Log log,
 
+    @org.apache.tapestry.ioc.annotations.Inject
+    @Value("${tapestry.alias-mode}")
+    String mode,
+
     @InjectService("AliasOverrides")
     AliasManager overridesManager,
 
@@ -243,7 +247,7 @@
     {
         AliasManager manager = new AliasManagerImpl(log, configuration);
 
-        return new AliasImpl(manager, overridesManager);
+        return new AliasImpl(manager, mode, overridesManager);
     }
 
     /**
@@ -591,14 +595,7 @@
             }
         };
 
-        // Or you can defuse the dependency by using @InjectService("foo") 
instead of
-        // @Inject("service:foo"). The latter requires the 
MasterObjectProvider, which requires
-        // the Alias service, which then fails if any contribution
-        // to the Alias service configuration makes use of @Inject. However, 
since its likely that
-        // end users will try
-        // to do this, the wrapper has been left in place (it does very little 
harm).
-
-        configuration.add("Alias", wrapper);
+        configuration.add("Alias", wrapper, "after:Value");
 
         configuration.add("Asset", assetObjectProvider, "before:Alias");
     }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/test/pagelevel/PageTester.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/test/pagelevel/PageTester.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/test/pagelevel/PageTester.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/test/pagelevel/PageTester.java
 Mon May  7 21:55:30 2007
@@ -23,6 +23,8 @@
 import org.apache.tapestry.dom.Document;
 import org.apache.tapestry.dom.Element;
 import org.apache.tapestry.dom.Node;
+import org.apache.tapestry.internal.InternalConstants;
+import org.apache.tapestry.internal.SingleKeySymbolProvider;
 import org.apache.tapestry.internal.TapestryAppInitializer;
 import org.apache.tapestry.internal.services.ActionLinkTarget;
 import org.apache.tapestry.internal.services.ComponentInvocation;
@@ -31,9 +33,9 @@
 import org.apache.tapestry.ioc.Registry;
 import org.apache.tapestry.ioc.internal.NullAnnotationProvider;
 import org.apache.tapestry.ioc.internal.util.Defense;
+import org.apache.tapestry.ioc.services.SymbolProvider;
 import org.apache.tapestry.ioc.util.StrategyRegistry;
 import org.apache.tapestry.services.ApplicationGlobals;
-import org.apache.tapestry.services.ComponentClassResolver;
 
 /**
  * This class is used to run a Tapestry app in an in-process testing 
environment. You can ask it to
@@ -107,12 +109,12 @@
         _preferedLanguage = Locale.ENGLISH;
         _contextPath = contextPath;
         _cookies = new CookiesForPageTester();
-        _registry = new TapestryAppInitializer(appPackage, appName, "test",
-                addDefaultOverrides(serviceOverrides)).getRegistry();
 
-        // This is normally done by the ApplicationInitializer pipeline 
service.
+        SymbolProvider provider = new SingleKeySymbolProvider(
+                InternalConstants.TAPESTRY_APP_PACKAGE_PARAM, appPackage);
 
-        
_registry.getService(ComponentClassResolver.class).setApplicationPackage(appPackage);
+        _registry = new TapestryAppInitializer(provider, appName, "test",
+                addDefaultOverrides(serviceOverrides)).getRegistry();
 
         _localizationSetter = _registry.getService("LocalizationSetter", 
LocalizationSetter.class);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
 Mon May  7 21:55:30 2007
@@ -13,7 +13,6 @@
 # limitations under the License.
 
 duplicate-contribution=Contribution %s (for type %s) conflicts with existing 
contribution %s and has been ignored.
-alias-mode-not-set=The Alias service's mode has not been set. Unable to 
determine the correct set of alias properties.
 markup-writer-no-current-element=This markup writer does not have a current 
element. \
   The current element is established with the first call to element() and is \
   maintained across subsequent calls. 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/AliasImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/AliasImplTest.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/AliasImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/AliasImplTest.java
 Mon May  7 21:55:30 2007
@@ -31,36 +31,6 @@
 {
     private Map<Class, Object> _emptyMap = Collections.emptyMap();
 
-    @Test
-    public void mode_not_set_when_resolution_requested()
-    {
-        AliasManager manager = newAliasManager();
-        AliasManager overridesManager = newAliasManager();
-        ObjectLocator locator = mockObjectLocator();
-        AnnotationProvider annotationProvider = mockAnnotationProvider();
-
-        replay();
-
-        Alias alias = new AliasImpl(manager, overridesManager);
-
-        // Do not assume that alias and provider are the same;
-        // that's an implementation choice.
-
-        ObjectProvider provider = alias.getObjectProvider();
-
-        try
-        {
-            provider.provide(Runnable.class, annotationProvider, locator);
-            unreachable();
-        }
-        catch (RuntimeException ex)
-        {
-            assertEquals(ex.getMessage(), ServicesMessages.aliasModeNotSet());
-        }
-
-        verify();
-    }
-
     protected final AliasManager newAliasManager()
     {
         return newMock(AliasManager.class);
@@ -86,9 +56,7 @@
 
         replay();
 
-        Alias alias = new AliasImpl(manager, overridesManager);
-
-        alias.setMode(mode);
+        Alias alias = new AliasImpl(manager, mode, overridesManager);
 
         // Do not assume that infra and provider are the same;
         // that's an implementation choice.
@@ -131,9 +99,7 @@
 
         replay();
 
-        Alias alias = new AliasImpl(manager, overridesManager);
-
-        alias.setMode(mode);
+        Alias alias = new AliasImpl(manager, mode, overridesManager);
 
         ObjectProvider provider = alias.getObjectProvider();
 
@@ -160,9 +126,7 @@
 
         replay();
 
-        Alias alias = new AliasImpl(manager, overridesManager);
-
-        alias.setMode(mode);
+        Alias alias = new AliasImpl(manager, mode, overridesManager);
 
         // Do not assume that infra and provider are the same;
         // that's an implementation choice.

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentClassResolverImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentClassResolverImplTest.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentClassResolverImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentClassResolverImplTest.java
 Mon May  7 21:55:30 2007
@@ -43,11 +43,7 @@
     {
         List<LibraryMapping> list = Arrays.asList(mappings);
 
-        ComponentClassResolverImpl resolver = new 
ComponentClassResolverImpl(source, locator, list);
-
-        resolver.setApplicationPackage(APP_ROOT_PACKAGE);
-
-        return resolver;
+        return new ComponentClassResolverImpl(source, locator, 
APP_ROOT_PACKAGE, list);
     }
 
     @Test

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentInstantiatorSourceImplTest.java
 Mon May  7 21:55:30 2007
@@ -31,14 +31,20 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.tapestry.internal.InternalComponentResources;
+import org.apache.tapestry.internal.InternalConstants;
+import org.apache.tapestry.internal.SingleKeySymbolProvider;
+import org.apache.tapestry.internal.SyntheticModuleDef;
+import org.apache.tapestry.internal.SyntheticSymbolSourceContributionDef;
 import org.apache.tapestry.internal.test.InternalBaseTestCase;
 import org.apache.tapestry.internal.transform.pages.BasicComponent;
 import org.apache.tapestry.internal.transform.pages.BasicSubComponent;
 import org.apache.tapestry.ioc.Registry;
 import org.apache.tapestry.ioc.RegistryBuilder;
+import org.apache.tapestry.ioc.def.ContributionDef;
+import org.apache.tapestry.ioc.def.ModuleDef;
 import org.apache.tapestry.ioc.services.PropertyAccess;
+import org.apache.tapestry.ioc.services.SymbolProvider;
 import org.apache.tapestry.runtime.Component;
-import org.apache.tapestry.services.Alias;
 import org.apache.tapestry.services.TapestryModule;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
@@ -276,9 +282,18 @@
 
         builder.add(TapestryModule.class);
 
+        SymbolProvider provider = new SingleKeySymbolProvider(
+                InternalConstants.TAPESTRY_ALIAS_MODE_SYMBOL, "servlet");
+        ContributionDef contribution = new 
SyntheticSymbolSourceContributionDef("AliasMode",
+                provider, "before:ApplicationDefaults");
+
+        ModuleDef module = new SyntheticModuleDef(contribution);
+
+        builder.add(module);
+
         _registry = builder.build();
 
-        _registry.getService("Alias", Alias.class).setMode("servlet");
+        // _registry.getService("Alias", Alias.class).setMode("servlet");
 
         _source = _registry.getService(ComponentInstantiatorSource.class);
         _access = _registry.getService(PropertyAccess.class);

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/pom.xml Mon May  7 21:55:30 2007
@@ -4,14 +4,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.tapestry</groupId>
   <artifactId>tapestry-hibernate</artifactId>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <name>Tapestry/Hibernate Integration Library</name>
   <description>Provides support for simple CRUD applications built ontop of 
Tapestry and Hibernate</description>
   <packaging>jar</packaging>
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
   <inceptionYear>2007</inceptionYear>

Modified: tapestry/tapestry5/trunk/tapestry-ioc/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/pom.xml Mon May  7 21:55:30 2007
@@ -5,12 +5,12 @@
   <groupId>org.apache.tapestry</groupId>
   <artifactId>tapestry-ioc</artifactId>
   <packaging>jar</packaging>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <!-- This should change to tapestry-project -->
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
   <name>Tapestry Inversion of Control Container</name>

Modified: 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/internal/RegistryImpl.java
 Mon May  7 21:55:30 2007
@@ -144,7 +144,7 @@
 
         for (ModuleDef def : moduleDefs)
         {
-            Log log = _logSource.getLog(def.getBuilderClass());
+            Log log = _logSource.getLog(def.getLogName());
 
             Module module = new ModuleImpl(this, def, classFactory, log);
 

Modified: tapestry/tapestry5/trunk/tapestry-project/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-project/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-project/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-project/pom.xml Mon May  7 21:55:30 2007
@@ -5,7 +5,7 @@
   <groupId>org.apache.tapestry</groupId>
   <artifactId>tapestry-project</artifactId>
   <packaging>pom</packaging>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <name>Tapestry 5 Project</name>
   <inceptionYear>2006</inceptionYear>
   <url>http://tapestry.apache.org/tapestry5/</url>

Modified: tapestry/tapestry5/trunk/tapestry-project/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-project/src/site/apt/index.apt?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-project/src/site/apt/index.apt (original)
+++ tapestry/tapestry5/trunk/tapestry-project/src/site/apt/index.apt Mon May  7 
21:55:30 2007
@@ -94,6 +94,9 @@
   
 New and Noteworthy
 
+  The {{{tapestry-spring/tapestry-spring}} module has also been simplified, to 
make
+  Spring beans look like Tapestry IoC services. It's all now quite seamless.
+
   The {{{tapestry-ioc/}tapestry-ioc}} module has been simplified, removing the 
concept
   of module ids and namespaces, as well as private services, and borrowing a 
lot of cool
   ideas from {{{http://code.google.com/p/google-guice/}Guice}}. The goal is to 
make the container

Modified: tapestry/tapestry5/trunk/tapestry-project/support/new-project.rb
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-project/support/new-project.rb?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-project/support/new-project.rb (original)
+++ tapestry/tapestry5/trunk/tapestry-project/support/new-project.rb Mon May  7 
21:55:30 2007
@@ -6,7 +6,7 @@
 $artifact = nil
 $package = nil
 $version = "1.0.0-SNAPSHOT"
-$archetypeVersion = "5.0.4-SNAPSHOT"
+$archetypeVersion = "5.0.4"
 $offline = false
 
 $opts = OptionParser.new do |opts|

Modified: tapestry/tapestry5/trunk/tapestry-test/pom.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/pom.xml?view=diff&rev=536053&r1=536052&r2=536053
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-test/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-test/pom.xml Mon May  7 21:55:30 2007
@@ -5,14 +5,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.tapestry</groupId>
   <artifactId>tapestry-test</artifactId>
-  <version>5.0.4</version>
+  <version>5.0.5-SNAPSHOT</version>
   <name>Tapestry Test Utilities</name>
   <inceptionYear>2007</inceptionYear>
   <description>Test utilities needed by Tapestry</description>
   <parent>
     <groupId>org.apache.tapestry</groupId>
     <artifactId>tapestry-project</artifactId>
-    <version>5.0.4</version>
+    <version>5.0.5-SNAPSHOT</version>
     <relativePath>../tapestry-project/pom.xml</relativePath>
   </parent>
 


Reply via email to