tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Howard Lewis Ship <hls...@gmail.com>
Subject Re: svn commit: r1069114 [1/2] - in /tapestry/tapestry5/trunk: ./ quickstart/src/main/resources/archetype-resources/src/main/java/services/ tapestry-annotations/ tapestry-core/ tapestry-core/src/main/java/org/apache/tapestry5/ tapestry-core/src/main/
Date Wed, 09 Feb 2011 22:30:26 GMT
At best, its only temporary. Is that a problem?

On Wed, Feb 9, 2011 at 1:49 PM, Andreas Andreou <andyhot@di.uoa.gr> wrote:
> Should the reference to ftp://howardlewisship.com/snapshot-repository
> exist in the commit?
>
> On Wed, Feb 9, 2011 at 23:18,  <hlship@apache.org> wrote:
>> Author: hlship
>> Date: Wed Feb  9 21:18:11 2011
>> New Revision: 1069114
>>
>> URL: http://svn.apache.org/viewvc?rev=1069114&view=rev
>> Log:
>> Merge branch 'local' into trunk
>>
>> Added:
>>    tapestry/tapestry5/trunk/build.gradle
>>    tapestry/tapestry5/trunk/settings.gradle
>>    tapestry/tapestry5/trunk/tapestry-annotations/build.gradle
>>    tapestry/tapestry5/trunk/tapestry-core/build.gradle
>>    tapestry/tapestry5/trunk/tapestry-func/build.gradle
>>    tapestry/tapestry5/trunk/tapestry-ioc/build.gradle
>>    tapestry/tapestry5/trunk/tapestry-json/build.gradle
>>    tapestry/tapestry5/trunk/tapestry-test/build.gradle
>> Removed:
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/OptimizedApplicationStateObject.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/PrimaryKeyEncoder.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/ApplicationState.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/IncludeJavaScriptLibrary.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/IncludeStylesheet.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/OptimizedApplicationStateObjectAnalyzer.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeJavaScriptLibraryWorker.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/IncludeStylesheetWorker.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/util/PrimaryKeyEncoder2ValueEncoder.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/util/DefaultPrimaryKeyEncoder.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/util/PrimaryKeyEncoder2ValueEncoderTest.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/util/DefaultPrimaryKeyEncoderTest.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/IOCSymbols.java
>> Modified:
>>    tapestry/tapestry5/trunk/.gitignore
>>    tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/java/services/AppModule.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ApplicationStateWorker.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavaScriptSupport.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DateFieldAjaxFormLoop.tml
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormInjectorDemo.tml
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/BaseComponent.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorBeanEditContext.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorDemo.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorOverride.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldAjaxFormLoop.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanDemoResult.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanEditDemo.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowBirthdayReminder.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ViewRegistration.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/nested/ZoneDemo.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app2/pages/TestPageForASO.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PersistentLocaleImplTest.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/pages/MaybeStateHolder.java
>>    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/pages/StateHolder.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/IOCConstants.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImpl.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ClassFabUtils.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PerthreadManager.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/test/IOCTestCase.java
>>    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/PerthreadManagerImplTest.java
>>
>> Modified: tapestry/tapestry5/trunk/.gitignore
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/.gitignore?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/.gitignore (original)
>> +++ tapestry/tapestry5/trunk/.gitignore Wed Feb  9 21:18:11 2011
>> @@ -7,4 +7,8 @@
>>  *.iws
>>  target
>>  test-output
>> -temp-testng*.xml
>> \ No newline at end of file
>> +temp-testng*.xml
>> +build/
>> +.gradle
>> +*~
>> +\#*
>> \ No newline at end of file
>>
>> Added: tapestry/tapestry5/trunk/build.gradle
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/build.gradle?rev=1069114&view=auto
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/build.gradle (added)
>> +++ tapestry/tapestry5/trunk/build.gradle Wed Feb  9 21:18:11 2011
>> @@ -0,0 +1,69 @@
>> +description = "Apache Tapestry 5 Project"
>> +
>> +if (!project.hasProperty('deployUserName')) deployUserName = '*UNSET-USERNAME*'
>> +if (!project.hasProperty('deployPassword')) deployPassword = '*UNSET-PASSWORD*'
>> +
>> +
>> +jettyVersion = '7.0.0.v20091005'
>> +tomcatVersion = '6.0.30'
>> +testngVersion = '5.14.9'
>> +easymockVersion = '3.0'
>> +
>> +subprojects {
>> +    apply plugin: 'java'
>> +    apply plugin: 'groovy' // mostly for testing
>> +    apply plugin: 'eclipse'
>> +    apply plugin: 'maven'
>> +    apply plugin: 'project-report'
>> +
>> +    sourceCompatibility = '1.5'
>> +    targetCompatibility = '1.5'
>> +
>> +    version = '5.3.0-SNAPSHOT'
>> +
>> +    group = 'org.apache.tapestry'
>> +
>> +    repositories {
>> +        mavenCentral()
>> +
>> +        // All things JBoss/Javassist/Hibernate
>> +        mavenRepo urls: "https://repository.jboss.org/nexus/content/repositories/releases/"
>> +    }
>> +
>> +    configurations {
>> +        deployerJars
>> +    }
>> +
>> +    dependencies {
>> +        groovy "org.codehaus.groovy:groovy-all:1.7.4"
>> +
>> +        deployerJars "org.apache.maven.wagon:wagon-ftp:1.0-beta-2"
>> +    }
>> +
>> +    test {
>> +        useTestNG()
>> +
>> +        options.suites("src/test/conf/testng.xml")
>> +    }
>> +
>> +    task sourcesJar(type: Jar, dependsOn:classes) {
>> +       classifier = 'sources'
>> +       from sourceSets.main.allSource
>> +    }
>> +
>> +    artifacts {
>> +       archives sourcesJar
>> +    }
>> +
>> +
>> +    uploadArchives {
>> +        repositories.mavenDeployer {
>> +            configuration = configurations.deployerJars
>> +            // deployUserName and deployPassword should be specified in ~/.gradle/gradle.properties
>> +            snapshotRepository(url: "ftp://howardlewisship.com/snapshot-repository") {
>> +              authentication(userName: deployUserName, password: deployPassword)
>> +            }
>> +
>> +        }
>> +    }
>> +}
>> \ No newline at end of file
>>
>> Modified: tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/java/services/AppModule.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/java/services/AppModule.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/java/services/AppModule.java (original)
>> +++ tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/java/services/AppModule.java Wed Feb  9 21:18:11 2011
>> @@ -51,6 +51,14 @@ public class AppModule
>>         // header. If existing assets are changed, the version number should also
>>         // change, to force the browser to download new versions.
>>         configuration.add(SymbolConstants.APPLICATION_VERSION, "${version}");
>> +
>> +        // This is desirable in development, but again, is usually turned off
>> +        // by the time the application gets to production. The Blackbird console
>> +        // is very functionaly, but may be intimidating to users (who should not see
>> +        // it unless there are Ajax-oriented programming bugs). Regardless, when disabled
>> +        // a simple floating, fading message is displayed at the top of the page.
>> +
>> +        configuration.add(SymbolConstants.BLACKBIRD_ENABLED, "true");
>>     }
>>
>>
>>
>> Added: tapestry/tapestry5/trunk/settings.gradle
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/settings.gradle?rev=1069114&view=auto
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/settings.gradle (added)
>> +++ tapestry/tapestry5/trunk/settings.gradle Wed Feb  9 21:18:11 2011
>> @@ -0,0 +1,4 @@
>> +include "tapestry-annotations", "tapestry-test", "tapestry-func", "tapestry-ioc", "tapestry-json", "tapestry-core"
>> +// TODO: tapestry-hibernate-core, tapestry-hibernate, tapestry-jmx, tapestry-upload, tapestry-spring, tapestry-beanvalidator
>> +// TODO (LATER): tapestry-component-report, quickstart
>> +
>>
>> Added: tapestry/tapestry5/trunk/tapestry-annotations/build.gradle
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/build.gradle?rev=1069114&view=auto
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-annotations/build.gradle (added)
>> +++ tapestry/tapestry5/trunk/tapestry-annotations/build.gradle Wed Feb  9 21:18:11 2011
>> @@ -0,0 +1,10 @@
>> +description = "Annotations used with Tapestry applications"
>> +
>> +// To avoid conflict with the Tapestry 4 tapestry-annotations, so both may be used at the same time
>> +baseName = 'tapestry5-annotations'
>> +
>> +configure(install.repositories.mavenInstaller) {
>> +  pom.project {
>> +    artifactId baseName
>> +  }
>> +}
>> \ No newline at end of file
>>
>> Added: tapestry/tapestry5/trunk/tapestry-core/build.gradle
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/build.gradle?rev=1069114&view=auto
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/build.gradle (added)
>> +++ tapestry/tapestry5/trunk/tapestry-core/build.gradle Wed Feb  9 21:18:11 2011
>> @@ -0,0 +1,14 @@
>> +description="Central module for Tapestry, containing all core services and components"
>> +
>> +dependencies {
>> +  compile project(':tapestry-ioc')
>> +  compile project(':tapestry-json')
>> +
>> +  testCompile project(':tapestry-test')
>> +
>> +  compile "commons-codec:commons-codec:1.3"
>> +  compile "javax.servlet:servlet-api:2.4"
>> +
>> +  compile "org.antlr:antlr-runtime:3.3", { transitive = false }
>> +
>> +}
>> \ No newline at end of file
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/ProgressiveDisplay.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2009, 2010 The Apache Software Foundation
>> +// Copyright 2009, 2010, 2011 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.
>> @@ -27,7 +27,7 @@ import org.apache.tapestry5.TrackableCom
>>  import org.apache.tapestry5.ajax.MultiZoneUpdate;
>>  import org.apache.tapestry5.annotations.Environmental;
>>  import org.apache.tapestry5.annotations.Events;
>> -import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
>> +import org.apache.tapestry5.annotations.Import;
>>  import org.apache.tapestry5.annotations.Parameter;
>>  import org.apache.tapestry5.annotations.SupportsInformalParameters;
>>  import org.apache.tapestry5.dom.Element;
>> @@ -53,7 +53,7 @@ import org.apache.tapestry5.services.jav
>>  * @since 5.1.0.1
>>  */
>>  @SupportsInformalParameters
>> -@IncludeJavaScriptLibrary("ProgressiveDisplay.js")
>> +@Import(library = "ProgressiveDisplay.js")
>>  @Events(EventConstants.PROGRESSIVE_DISPLAY)
>>  @SuppressWarnings("all")
>>  public class ProgressiveDisplay
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/mixins/Autocomplete.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2007, 2008, 2009, 2010 The Apache Software Foundation
>> +// Copyright 2007, 2008, 2009, 2010, 2011 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.
>> @@ -17,11 +17,19 @@ package org.apache.tapestry5.corelib.mix
>>  import java.util.Collections;
>>  import java.util.List;
>>
>> -import org.apache.tapestry5.*;
>> +import org.apache.tapestry5.Asset;
>> +import org.apache.tapestry5.BindingConstants;
>> +import org.apache.tapestry5.CSSClassConstants;
>> +import org.apache.tapestry5.ComponentEventCallback;
>> +import org.apache.tapestry5.ComponentResources;
>> +import org.apache.tapestry5.ContentType;
>> +import org.apache.tapestry5.EventConstants;
>> +import org.apache.tapestry5.Field;
>> +import org.apache.tapestry5.Link;
>> +import org.apache.tapestry5.MarkupWriter;
>>  import org.apache.tapestry5.annotations.Environmental;
>>  import org.apache.tapestry5.annotations.Events;
>>  import org.apache.tapestry5.annotations.Import;
>> -import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
>>  import org.apache.tapestry5.annotations.InjectContainer;
>>  import org.apache.tapestry5.annotations.Parameter;
>>  import org.apache.tapestry5.annotations.Path;
>> @@ -29,7 +37,6 @@ import org.apache.tapestry5.annotations.
>>  import org.apache.tapestry5.internal.util.Holder;
>>  import org.apache.tapestry5.ioc.annotations.Inject;
>>  import org.apache.tapestry5.ioc.services.TypeCoercer;
>> -import org.apache.tapestry5.json.JSONArray;
>>  import org.apache.tapestry5.json.JSONObject;
>>  import org.apache.tapestry5.services.MarkupWriterFactory;
>>  import org.apache.tapestry5.services.ResponseRenderer;
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentLocaleImpl.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2007, 2008, 2009, 2010 The Apache Software Foundation
>> +// Copyright 2007, 2008, 2009, 2010, 2011 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.
>> @@ -21,15 +21,16 @@ import org.apache.tapestry5.SymbolConsta
>>  import org.apache.tapestry5.internal.TapestryInternalUtils;
>>  import org.apache.tapestry5.ioc.annotations.Symbol;
>>  import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
>> +import org.apache.tapestry5.ioc.services.PerThreadValue;
>>  import org.apache.tapestry5.ioc.services.PerthreadManager;
>>  import org.apache.tapestry5.services.PersistentLocale;
>>
>>  public class PersistentLocaleImpl implements PersistentLocale
>>  {
>> -    private final PerthreadManager perThreadManager;
>> -
>>     private final String supportedLocales;
>>
>> +    private final PerThreadValue<Locale> localeValue;
>> +
>>     private final Set<String> localeNames = CollectionFactory.newSet();
>>
>>     public PersistentLocaleImpl(PerthreadManager perThreadManager,
>> @@ -37,9 +38,10 @@ public class PersistentLocaleImpl implem
>>     @Symbol(SymbolConstants.SUPPORTED_LOCALES)
>>     String supportedLocales)
>>     {
>> -        this.perThreadManager = perThreadManager;
>>         this.supportedLocales = supportedLocales;
>>
>> +        localeValue = perThreadManager.createValue();
>> +
>>         for (String name : TapestryInternalUtils.splitAtCommas(supportedLocales))
>>         {
>>             localeNames.add(name.toLowerCase());
>> @@ -49,26 +51,26 @@ public class PersistentLocaleImpl implem
>>     public void set(Locale locale)
>>     {
>>         assert locale != null;
>> +
>>         if (!localeNames.contains(locale.toString().toLowerCase()))
>>         {
>>             String message = String
>> -                    .format(
>> -                            "Locale '%s' is not supported by this application. Supported locales are '%s'; this is configured via the %s symbol.",
>> +                    .format("Locale '%s' is not supported by this application. Supported locales are '%s'; this is configured via the %s symbol.",
>>                             locale, supportedLocales, SymbolConstants.SUPPORTED_LOCALES);
>>
>>             throw new IllegalArgumentException(message);
>>         }
>>
>> -        perThreadManager.put(this, locale);
>> +        localeValue.set(locale);
>>     }
>>
>>     public Locale get()
>>     {
>> -        return (Locale) perThreadManager.get(this);
>> +        return localeValue.get();
>>     }
>>
>>     public boolean isSet()
>>     {
>> -        return get() != null;
>> +        return localeValue.exists();
>>     }
>>  }
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ApplicationStateWorker.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ApplicationStateWorker.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ApplicationStateWorker.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ApplicationStateWorker.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2007, 2008, 2010 The Apache Software Foundation
>> +// Copyright 2007, 2008, 2010, 2011 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.
>> @@ -15,10 +15,7 @@
>>  package org.apache.tapestry5.internal.transform;
>>
>>  import java.util.List;
>> -import java.util.Map;
>> -import java.util.TreeMap;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.func.Predicate;
>>  import org.apache.tapestry5.internal.services.ComponentClassCache;
>> @@ -48,30 +45,14 @@ public class ApplicationStateWorker impl
>>
>>     public void transform(ClassTransformation transformation, MutableComponentModel model)
>>     {
>> -        Map<TransformField, Boolean> fields = new TreeMap<TransformField, Boolean>();
>> -
>> -        for (TransformField field : transformation.matchFieldsWithAnnotation(ApplicationState.class))
>> -        {
>> -            ApplicationState annotation = field.getAnnotation(ApplicationState.class);
>> -
>> -            fields.put(field, annotation.create());
>> -
>> -            field.claim(annotation);
>> -        }
>> -
>>         for (TransformField field : transformation.matchFieldsWithAnnotation(SessionState.class))
>>         {
>>             SessionState annotation = field.getAnnotation(SessionState.class);
>>
>> -            fields.put(field, annotation.create());
>> +            transform(transformation, field, annotation.create());
>>
>>             field.claim(annotation);
>>         }
>> -
>> -        for (Map.Entry<TransformField, Boolean> e : fields.entrySet())
>> -        {
>> -            transform(transformation, e.getKey(), e.getValue());
>> -        }
>>     }
>>
>>     @SuppressWarnings("unchecked")
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2006, 2007, 2008, 2009, 2010 The Apache Software Foundation
>> +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 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.
>> @@ -25,10 +25,24 @@ import org.apache.tapestry5.internal.bin
>>  import org.apache.tapestry5.internal.services.ComponentClassCache;
>>  import org.apache.tapestry5.ioc.internal.util.InternalUtils;
>>  import org.apache.tapestry5.ioc.internal.util.TapestryException;
>> +import org.apache.tapestry5.ioc.services.PerThreadValue;
>>  import org.apache.tapestry5.ioc.services.PerthreadManager;
>>  import org.apache.tapestry5.ioc.services.TypeCoercer;
>>  import org.apache.tapestry5.model.MutableComponentModel;
>> -import org.apache.tapestry5.services.*;
>> +import org.apache.tapestry5.services.BindingSource;
>> +import org.apache.tapestry5.services.ClassTransformation;
>> +import org.apache.tapestry5.services.ComponentClassTransformWorker;
>> +import org.apache.tapestry5.services.ComponentDefaultProvider;
>> +import org.apache.tapestry5.services.ComponentMethodAdvice;
>> +import org.apache.tapestry5.services.ComponentMethodInvocation;
>> +import org.apache.tapestry5.services.ComponentValueProvider;
>> +import org.apache.tapestry5.services.FieldAccess;
>> +import org.apache.tapestry5.services.MethodAccess;
>> +import org.apache.tapestry5.services.MethodInvocationResult;
>> +import org.apache.tapestry5.services.TransformConstants;
>> +import org.apache.tapestry5.services.TransformField;
>> +import org.apache.tapestry5.services.TransformMethod;
>> +import org.apache.tapestry5.services.TransformMethodSignature;
>>  import org.slf4j.Logger;
>>  import org.slf4j.LoggerFactory;
>>
>> @@ -230,10 +244,10 @@ public class ParameterWorker implements
>>             {
>>                 final InternalComponentResources icr = (InternalComponentResources) resources;
>>
>> -                final String key = String.format("ParameterWorker:%s/%s", resources.getCompleteId(), parameterName);
>> -
>>                 final Class fieldType = classCache.forName(fieldTypeName);
>>
>> +                final PerThreadValue<ParameterState> stateValue = perThreadManager.createValue();
>> +
>>                 // Rely on some code generation in the component to set the default binding from
>>                 // the field, or from a default method.
>>
>> @@ -259,13 +273,13 @@ public class ParameterWorker implements
>>
>>                     private ParameterState getState()
>>                     {
>> -                        ParameterState state = (ParameterState) perThreadManager.get(key);
>> +                        ParameterState state = stateValue.get();
>>
>>                         if (state == null)
>>                         {
>>                             state = new ParameterState();
>>                             state.value = defaultValue;
>> -                            perThreadManager.put(key, state);
>> +                            stateValue.set(state);
>>                         }
>>
>>                         return state;
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Wed Feb  9 21:18:11 2011
>> @@ -35,10 +35,44 @@ import javax.servlet.ServletContext;
>>  import javax.servlet.http.HttpServletRequest;
>>  import javax.servlet.http.HttpServletResponse;
>>
>> -import org.apache.tapestry5.*;
>> +import org.apache.tapestry5.Asset;
>> +import org.apache.tapestry5.BindingConstants;
>> +import org.apache.tapestry5.Block;
>> +import org.apache.tapestry5.ComponentResources;
>> +import org.apache.tapestry5.EventContext;
>> +import org.apache.tapestry5.Field;
>> +import org.apache.tapestry5.FieldValidationSupport;
>> +import org.apache.tapestry5.FieldValidator;
>> +import org.apache.tapestry5.Link;
>> +import org.apache.tapestry5.MarkupWriter;
>> +import org.apache.tapestry5.MetaDataConstants;
>> +import org.apache.tapestry5.NullFieldStrategy;
>> +import org.apache.tapestry5.OptimizedSessionPersistedObject;
>> +import org.apache.tapestry5.PersistenceConstants;
>> +import org.apache.tapestry5.PropertyOverrides;
>> +import org.apache.tapestry5.RenderSupport;
>> +import org.apache.tapestry5.Renderable;
>> +import org.apache.tapestry5.SelectModel;
>> +import org.apache.tapestry5.StreamResponse;
>> +import org.apache.tapestry5.SymbolConstants;
>> +import org.apache.tapestry5.TapestryConstants;
>> +import org.apache.tapestry5.Translator;
>> +import org.apache.tapestry5.ValidationDecorator;
>> +import org.apache.tapestry5.Validator;
>> +import org.apache.tapestry5.VersionUtils;
>>  import org.apache.tapestry5.ajax.MultiZoneUpdate;
>> -import org.apache.tapestry5.annotations.*;
>> +import org.apache.tapestry5.annotations.ActivationRequestParameter;
>>  import org.apache.tapestry5.annotations.ContentType;
>> +import org.apache.tapestry5.annotations.HeartbeatDeferred;
>> +import org.apache.tapestry5.annotations.Import;
>> +import org.apache.tapestry5.annotations.Meta;
>> +import org.apache.tapestry5.annotations.PageAttached;
>> +import org.apache.tapestry5.annotations.PageDetached;
>> +import org.apache.tapestry5.annotations.PageLoaded;
>> +import org.apache.tapestry5.annotations.PageReset;
>> +import org.apache.tapestry5.annotations.Path;
>> +import org.apache.tapestry5.annotations.Secure;
>> +import org.apache.tapestry5.annotations.Service;
>>  import org.apache.tapestry5.beaneditor.Validate;
>>  import org.apache.tapestry5.corelib.ClientValidation;
>>  import org.apache.tapestry5.corelib.LoopFormState;
>> @@ -59,7 +93,18 @@ import org.apache.tapestry5.internal.bea
>>  import org.apache.tapestry5.internal.beaneditor.MessagesConstraintGenerator;
>>  import org.apache.tapestry5.internal.beaneditor.PrimitiveFieldConstraintGenerator;
>>  import org.apache.tapestry5.internal.beaneditor.ValidateAnnotationConstraintGenerator;
>> -import org.apache.tapestry5.internal.bindings.*;
>> +import org.apache.tapestry5.internal.bindings.AssetBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.BlockBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.ComponentBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.ContextBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.LiteralBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.MessageBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.NullFieldStrategyBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.PropBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.RenderVariableBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.SymbolBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.TranslateBindingFactory;
>> +import org.apache.tapestry5.internal.bindings.ValidateBindingFactory;
>>  import org.apache.tapestry5.internal.grid.CollectionGridDataSource;
>>  import org.apache.tapestry5.internal.grid.NullDataSource;
>>  import org.apache.tapestry5.internal.gzip.GZipFilter;
>> @@ -89,18 +134,85 @@ import org.apache.tapestry5.internal.ser
>>  import org.apache.tapestry5.internal.services.meta.MetaWorkerImpl;
>>  import org.apache.tapestry5.internal.services.templates.DefaultTemplateLocator;
>>  import org.apache.tapestry5.internal.services.templates.PageTemplateLocator;
>> -import org.apache.tapestry5.internal.transform.*;
>> +import org.apache.tapestry5.internal.transform.ActivationRequestParameterWorker;
>> +import org.apache.tapestry5.internal.transform.ApplicationStateWorker;
>> +import org.apache.tapestry5.internal.transform.BindParameterWorker;
>> +import org.apache.tapestry5.internal.transform.CachedWorker;
>> +import org.apache.tapestry5.internal.transform.ComponentWorker;
>> +import org.apache.tapestry5.internal.transform.DiscardAfterWorker;
>> +import org.apache.tapestry5.internal.transform.EnvironmentalWorker;
>> +import org.apache.tapestry5.internal.transform.HeartbeatDeferredWorker;
>> +import org.apache.tapestry5.internal.transform.ImportWorker;
>> +import org.apache.tapestry5.internal.transform.InjectComponentWorker;
>> +import org.apache.tapestry5.internal.transform.InjectContainerWorker;
>> +import org.apache.tapestry5.internal.transform.InjectNamedWorker;
>> +import org.apache.tapestry5.internal.transform.InjectPageWorker;
>> +import org.apache.tapestry5.internal.transform.InjectServiceWorker;
>> +import org.apache.tapestry5.internal.transform.InjectWorker;
>> +import org.apache.tapestry5.internal.transform.InvokePostRenderCleanupOnResourcesWorker;
>> +import org.apache.tapestry5.internal.transform.LogWorker;
>> +import org.apache.tapestry5.internal.transform.MixinAfterWorker;
>> +import org.apache.tapestry5.internal.transform.MixinWorker;
>> +import org.apache.tapestry5.internal.transform.OnEventWorker;
>> +import org.apache.tapestry5.internal.transform.PageActivationContextWorker;
>> +import org.apache.tapestry5.internal.transform.PageLifecycleAnnotationWorker;
>> +import org.apache.tapestry5.internal.transform.PageResetAnnotationWorker;
>> +import org.apache.tapestry5.internal.transform.ParameterWorker;
>> +import org.apache.tapestry5.internal.transform.PersistWorker;
>> +import org.apache.tapestry5.internal.transform.PropertyWorker;
>> +import org.apache.tapestry5.internal.transform.RenderCommandWorker;
>> +import org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker;
>> +import org.apache.tapestry5.internal.transform.RetainWorker;
>> +import org.apache.tapestry5.internal.transform.SessionAttributeWorker;
>> +import org.apache.tapestry5.internal.transform.SupportsInformalParametersWorker;
>> +import org.apache.tapestry5.internal.transform.UnclaimedFieldWorker;
>>  import org.apache.tapestry5.internal.translator.NumericTranslator;
>>  import org.apache.tapestry5.internal.translator.NumericTranslatorSupport;
>>  import org.apache.tapestry5.internal.translator.StringTranslator;
>> -import org.apache.tapestry5.internal.util.PrimaryKeyEncoder2ValueEncoder;
>>  import org.apache.tapestry5.internal.util.RenderableAsBlock;
>>  import org.apache.tapestry5.internal.util.StringRenderable;
>>  import org.apache.tapestry5.internal.validator.ValidatorMacroImpl;
>> -import org.apache.tapestry5.ioc.*;
>> -import org.apache.tapestry5.ioc.annotations.*;
>> +import org.apache.tapestry5.ioc.AnnotationProvider;
>> +import org.apache.tapestry5.ioc.Configuration;
>> +import org.apache.tapestry5.ioc.Location;
>> +import org.apache.tapestry5.ioc.MappedConfiguration;
>> +import org.apache.tapestry5.ioc.Messages;
>> +import org.apache.tapestry5.ioc.MethodAdviceReceiver;
>> +import org.apache.tapestry5.ioc.ObjectLocator;
>> +import org.apache.tapestry5.ioc.ObjectProvider;
>> +import org.apache.tapestry5.ioc.OrderedConfiguration;
>> +import org.apache.tapestry5.ioc.Resource;
>> +import org.apache.tapestry5.ioc.ScopeConstants;
>> +import org.apache.tapestry5.ioc.ServiceBinder;
>> +import org.apache.tapestry5.ioc.annotations.Autobuild;
>> +import org.apache.tapestry5.ioc.annotations.Contribute;
>> +import org.apache.tapestry5.ioc.annotations.Inject;
>> +import org.apache.tapestry5.ioc.annotations.InjectService;
>> +import org.apache.tapestry5.ioc.annotations.IntermediateType;
>> +import org.apache.tapestry5.ioc.annotations.Local;
>> +import org.apache.tapestry5.ioc.annotations.Marker;
>> +import org.apache.tapestry5.ioc.annotations.Match;
>> +import org.apache.tapestry5.ioc.annotations.Primary;
>> +import org.apache.tapestry5.ioc.annotations.Scope;
>> +import org.apache.tapestry5.ioc.annotations.SubModule;
>> +import org.apache.tapestry5.ioc.annotations.Symbol;
>>  import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
>> -import org.apache.tapestry5.ioc.services.*;
>> +import org.apache.tapestry5.ioc.services.Builtin;
>> +import org.apache.tapestry5.ioc.services.ChainBuilder;
>> +import org.apache.tapestry5.ioc.services.ClassFactory;
>> +import org.apache.tapestry5.ioc.services.ClasspathURLConverter;
>> +import org.apache.tapestry5.ioc.services.Coercion;
>> +import org.apache.tapestry5.ioc.services.CoercionTuple;
>> +import org.apache.tapestry5.ioc.services.LazyAdvisor;
>> +import org.apache.tapestry5.ioc.services.MasterObjectProvider;
>> +import org.apache.tapestry5.ioc.services.PerthreadManager;
>> +import org.apache.tapestry5.ioc.services.PipelineBuilder;
>> +import org.apache.tapestry5.ioc.services.PropertyAccess;
>> +import org.apache.tapestry5.ioc.services.PropertyShadowBuilder;
>> +import org.apache.tapestry5.ioc.services.StrategyBuilder;
>> +import org.apache.tapestry5.ioc.services.SymbolSource;
>> +import org.apache.tapestry5.ioc.services.ThreadLocale;
>> +import org.apache.tapestry5.ioc.services.TypeCoercer;
>>  import org.apache.tapestry5.ioc.util.AvailableValues;
>>  import org.apache.tapestry5.ioc.util.IdAllocator;
>>  import org.apache.tapestry5.ioc.util.StrategyRegistry;
>> @@ -524,31 +636,22 @@ public final class TapestryModule
>>      * <dt>Persist</dt>
>>      * <dd>Allows fields to store their their value persistently between requests</dd>
>>      * <dt>Parameter</dt>
>> -     * <dd>Identifies parameters based on the {@link org.apache.tapestry5.annotations.Parameter}
>> -     * annotation</dd>
>> +     * <dd>Identifies parameters based on the {@link org.apache.tapestry5.annotations.Parameter} annotation</dd>
>>      * <dt>Component</dt>
>> -     * <dd>Defines embedded components based on the
>> -     * {@link org.apache.tapestry5.annotations.Component} annotation</dd>
>> +     * <dd>Defines embedded components based on the {@link org.apache.tapestry5.annotations.Component} annotation</dd>
>>      * <dt>Mixin</dt>
>>      * <dd>Adds a mixin as part of a component's implementation</dd>
>>      * <dt>Environment</dt>
>> -     * <dd>Allows fields to contain values extracted from the
>> -     * {@link org.apache.tapestry5.services.Environment} service</dd>
>> +     * <dd>Allows fields to contain values extracted from the {@link org.apache.tapestry5.services.Environment} service</dd>
>>      * <dt>Inject</dt>
>> -     * <dd>Used with the {@link org.apache.tapestry5.ioc.annotations.Inject} annotation, when a
>> -     * value is supplied</dd>
>> +     * <dd>Used with the {@link org.apache.tapestry5.ioc.annotations.Inject} annotation, when a value is supplied</dd>
>>      * <dt>InjectService</dt>
>>      * <dd>Handles the {@link org.apache.tapestry5.ioc.annotations.InjectService} annotation</dd>
>>      * <dt>InjectPage</dt>
>> -     * <dd>Adds code to allow access to other pages via the
>> -     * {@link org.apache.tapestry5.annotations.InjectPage} field annotation</dd>
>> +     * <dd>Adds code to allow access to other pages via the {@link org.apache.tapestry5.annotations.InjectPage} field
>> +     * annotation</dd>
>>      * <dt>InjectBlock</dt>
>>      * <dd>Allows a block from the template to be injected into a field</dd>
>> -     * <dt>IncludeStylesheet</dt>
>> -     * <dd>Supports the {@link org.apache.tapestry5.annotations.IncludeStylesheet} annotation</dd>
>> -     * <dt>IncludeJavaScriptLibrary</dt>
>> -     * <dd>Supports the {@link org.apache.tapestry5.annotations.IncludeJavaScriptLibrary} annotation
>> -     * </dd>
>>      * <dt>Import</dt>
>>      * <dd>Supports the {@link Import} annotation</dd>
>>      * <dt>SupportsInformalParameters</dt>
>> @@ -564,12 +667,10 @@ public final class TapestryModule
>>      * <dt>RenderPhase</dt>
>>      * <dd>Link in render phaes methods</dd>
>>      * <dt>InvokePostRenderCleanupOnResources</dt>
>> -     * <dd>Makes sure
>> -     * {@link org.apache.tapestry5.internal.InternalComponentResources#postRenderCleanup()} is
>> -     * invoked after a component finishes rendering</dd>
>> +     * <dd>Makes sure {@link org.apache.tapestry5.internal.InternalComponentResources#postRenderCleanup()} is invoked
>> +     * after a component finishes rendering</dd>
>>      * <dt>GenerateAccessors</dt>
>> -     * <dd>Generates accessor methods if {@link org.apache.tapestry5.annotations.Property}
>> -     * annotation is present</dd>
>> +     * <dd>Generates accessor methods if {@link org.apache.tapestry5.annotations.Property} annotation is present</dd>
>>      * <dt>Cached</dt>
>>      * <dd>Checks for the {@link org.apache.tapestry5.annotations.Cached} annotation</dd>
>>      * <dt>Log</dt>
>> @@ -637,9 +738,6 @@ public final class TapestryModule
>>
>>         configuration.addInstance("DiscardAfter", DiscardAfterWorker.class);
>>
>> -        configuration.addInstance("IncludeStylesheet", IncludeStylesheetWorker.class, "after:SetupRender");
>> -        configuration
>> -                .addInstance("IncludeJavaScriptLibrary", IncludeJavaScriptLibraryWorker.class, "after:SetupRender");
>>         configuration.addInstance("Import", ImportWorker.class, "after:SetupRender");
>>
>>         configuration.add("InvokePostRenderCleanupOnResources", new InvokePostRenderCleanupOnResourcesWorker());
>> @@ -794,11 +892,10 @@ public final class TapestryModule
>>      * <dt>CommonResources</dt>
>>      * <dd>access to properties of resources (log, messages, etc.)</dd>
>>      * <dt>Asset</dt>
>> -     * <dd>injection of assets (triggered via {@link Path} annotation), with the path relative to
>> -     * the component class</dd>
>> +     * <dd>injection of assets (triggered via {@link Path} annotation), with the path relative to the component class</dd>
>>      * <dt>Service</dt>
>> -     * <dd>ordered last, for use when Inject is present and nothing else works, matches field type
>> -     * against Tapestry IoC services</dd>
>> +     * <dd>ordered last, for use when Inject is present and nothing else works, matches field type against Tapestry IoC
>> +     * services</dd>
>>      * </dl>
>>      */
>>     public static void contributeInjectionProvider(OrderedConfiguration<InjectionProvider> configuration,
>> @@ -861,11 +958,11 @@ public final class TapestryModule
>>     /**
>>      * <dl>
>>      * <dt>StoreIntoGlobals</dt>
>> -     * <dd>Stores the request and response into {@link org.apache.tapestry5.services.RequestGlobals}
>> -     * at the start of the pipeline</dd>
>> +     * <dd>Stores the request and response into {@link org.apache.tapestry5.services.RequestGlobals} at the start of the
>> +     * pipeline</dd>
>>      * <dt>IgnoredPaths</dt>
>> -     * <dd>Identifies requests that are known (via the IgnoredPathsFilter service's configuration)
>> -     * to be mapped to other applications</dd>
>> +     * <dd>Identifies requests that are known (via the IgnoredPathsFilter service's configuration) to be mapped to other
>> +     * applications</dd>
>>      * <dt>GZip</dt>
>>      * <dd>Handles GZIP compression of response streams (if supported by client)</dd>
>>      */
>> @@ -902,18 +999,17 @@ public final class TapestryModule
>>      * Continues a number of filters into the RequestHandler service:
>>      * <dl>
>>      * <dt>StaticFiles</dt>
>> -     * <dd>Checks to see if the request is for an actual file, if so, returns true to let the
>> -     * servlet container process the request</dd>
>> +     * <dd>Checks to see if the request is for an actual file, if so, returns true to let the servlet container process
>> +     * the request</dd>
>>      * <dt>CheckForUpdates</dt>
>> -     * <dd>Periodically fires events that checks to see if the file system sources for any cached
>> -     * data has changed (see {@link org.apache.tapestry5.internal.services.CheckForUpdatesFilter}).
>> +     * <dd>Periodically fires events that checks to see if the file system sources for any cached data has changed (see
>> +     * {@link org.apache.tapestry5.internal.services.CheckForUpdatesFilter}).
>>      * <dt>ErrorFilter</dt>
>> -     * <dd>Catches request errors and lets the
>> -     * {@link org.apache.tapestry5.services.RequestExceptionHandler} handle them</dd>
>> +     * <dd>Catches request errors and lets the {@link org.apache.tapestry5.services.RequestExceptionHandler} handle them
>> +     * </dd>
>>      * <dt>StoreIntoGlobals</dt>
>> -     * <dd>Stores the request and response into the
>> -     * {@link org.apache.tapestry5.services.RequestGlobals} service (this is repeated at the end of
>> -     * the pipeline, in case any filter substitutes the request or response).
>> +     * <dd>Stores the request and response into the {@link org.apache.tapestry5.services.RequestGlobals} service (this
>> +     * is repeated at the end of the pipeline, in case any filter substitutes the request or response).
>>      * </dl>
>>      */
>>     public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, Context context,
>> @@ -1028,7 +1124,6 @@ public final class TapestryModule
>>      * <li>String to {@link Renderable}
>>      * <li>{@link Renderable} to {@link Block}
>>      * <li>String to {@link DateFormat}
>> -     * <li>{@link PrimaryKeyEncoder} to {@link ValueEncoder}
>>      * <li>String to {@link Resource} (via {@link AssetSource#resourceForPath(String)})
>>      * <li>{@link Renderable} to {@link RenderCommand}</li>
>>      * <li>String to {@link LoopFormState}</li>
>> @@ -1173,9 +1268,6 @@ public final class TapestryModule
>>                     }
>>                 }));
>>
>> -        configuration.add(CoercionTuple.create(PrimaryKeyEncoder.class, ValueEncoder.class,
>> -                new PrimaryKeyEncoder2ValueEncoder(coercer)));
>> -
>>         configuration.add(CoercionTuple.create(Date.class, Calendar.class, new Coercion<Date, Calendar>()
>>         {
>>             public Calendar coerce(Date input)
>> @@ -1278,9 +1370,9 @@ public final class TapestryModule
>>      * the chain is responsible for ordinary
>>      * property names (and property paths).
>>      * <p/>
>> -     * This mechanism has been replaced in 5.1 with a more sophisticated parser based on ANTLR. See
>> -     * <a href="https://issues.apache.org/jira/browse/TAP5-79">TAP5-79</a> for details. There are no
>> -     * longer any built-in contributions to the configuration.
>> +     * This mechanism has been replaced in 5.1 with a more sophisticated parser based on ANTLR. See <a
>> +     * href="https://issues.apache.org/jira/browse/TAP5-79">TAP5-79</a> for details. There are no longer any built-in
>> +     * contributions to the configuration.
>>      *
>>      * @param configuration
>>      *            contributions of special factories for some constants, each
>> @@ -1348,8 +1440,7 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Builds a proxy to the current {@link JavaScriptSupport} inside this thread's
>> -     * {@link Environment}.
>> +     * Builds a proxy to the current {@link JavaScriptSupport} inside this thread's {@link Environment}.
>>      *
>>      * @since 5.2.0
>>      */
>> @@ -1359,8 +1450,7 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Builds a proxy to the current {@link org.apache.tapestry5.services.ClientBehaviorSupport}
>> -     * inside this
>> +     * Builds a proxy to the current {@link org.apache.tapestry5.services.ClientBehaviorSupport} inside this
>>      * thread's {@link org.apache.tapestry5.services.Environment}.
>>      *
>>      * @since 5.1.0.1
>> @@ -1418,8 +1508,7 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Initializes the application, using a pipeline of
>> -     * {@link org.apache.tapestry5.services.ApplicationInitializer}s.
>> +     * Initializes the application, using a pipeline of {@link org.apache.tapestry5.services.ApplicationInitializer}s.
>>      */
>>     @Marker(Primary.class)
>>     public ApplicationInitializer buildApplicationInitializer(Logger logger,
>> @@ -1621,8 +1710,7 @@ public final class TapestryModule
>>
>>     /**
>>      * The MarkupRenderer service is used to render a full page as markup.
>> -     * Supports an ordered configuration of
>> -     * {@link org.apache.tapestry5.services.MarkupRendererFilter}s.
>> +     * Supports an ordered configuration of {@link org.apache.tapestry5.services.MarkupRendererFilter}s.
>>      */
>>     public MarkupRenderer buildMarkupRenderer(Logger logger, @Autobuild
>>     MarkupRendererTerminator terminator, List<MarkupRendererFilter> configuration)
>> @@ -1634,11 +1722,10 @@ public final class TapestryModule
>>     /**
>>      * A wrapper around {@link org.apache.tapestry5.internal.services.PageRenderQueue} used for
>>      * partial page renders.
>> -     * Supports an ordered configuration of
>> -     * {@link org.apache.tapestry5.services.PartialMarkupRendererFilter}s.
>> +     * Supports an ordered configuration of {@link org.apache.tapestry5.services.PartialMarkupRendererFilter}s.
>>      *
>> -     * @see #contributePartialMarkupRenderer(org.apache.tapestry5.ioc.OrderedConfiguration,
>> -     *      org.apache.tapestry5.Asset, org.apache.tapestry5.ioc.services.SymbolSource, AssetSource)
>> +     * @see #contributePartialMarkupRenderer(org.apache.tapestry5.ioc.OrderedConfiguration, org.apache.tapestry5.Asset,
>> +     *      org.apache.tapestry5.ioc.services.SymbolSource, AssetSource)
>>      */
>>     public PartialMarkupRenderer buildPartialMarkupRenderer(Logger logger,
>>             List<PartialMarkupRendererFilter> configuration, @Autobuild
>> @@ -1675,8 +1762,7 @@ public final class TapestryModule
>>     /**
>>      * Builds the action request handler for Ajax requests, based on a
>>      * {@linkplain org.apache.tapestry5.ioc.services.PipelineBuilder
>> -     * pipeline} around
>> -     * {@link org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler} . Filters on
>> +     * pipeline} around {@link org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler} . Filters on
>>      * the
>>      * request handler are supported here as well.
>>      */
>> @@ -1728,11 +1814,11 @@ public final class TapestryModule
>>      * <dt>String</dt>
>>      * <dd>Sends a page render redirect</dd>
>>      * <dt>Class</dt>
>> -     * <dd>Interpreted as the class name of a page, sends a page render render redirect (this is
>> -     * more refactoring safe than the page name)</dd>
>> +     * <dd>Interpreted as the class name of a page, sends a page render render redirect (this is more refactoring safe
>> +     * than the page name)</dd>
>>      * <dt>{@link Component}</dt>
>> -     * <dd>A page's root component (though a non-root component will work, but will generate a
>> -     * warning). A direct to the containing page is sent.</dd>
>> +     * <dd>A page's root component (though a non-root component will work, but will generate a warning). A direct to the
>> +     * containing page is sent.</dd>
>>      * <dt>{@link org.apache.tapestry5.StreamResponse}</dt>
>>      * <dd>The stream response is sent as the actual reply.</dd>
>>      * <dt>URL</dt>
>> @@ -1788,16 +1874,13 @@ public final class TapestryModule
>>      * <dt>{@link RenderCommand}</dt>
>>      * <dd>Typically, a {@link org.apache.tapestry5.Block}</dd>
>>      * <dt>{@link org.apache.tapestry5.annotations.Component}</dt>
>> -     * <dd>Renders the component and its body (unless its a page, in which case a redirect JSON
>> -     * response is sent)</dd>
>> -     * <dt>{@link org.apache.tapestry5.json.JSONObject} or
>> -     * {@link org.apache.tapestry5.json.JSONArray}</dt>
>> +     * <dd>Renders the component and its body (unless its a page, in which case a redirect JSON response is sent)</dd>
>> +     * <dt>{@link org.apache.tapestry5.json.JSONObject} or {@link org.apache.tapestry5.json.JSONArray}</dt>
>>      * <dd>The JSONObject is returned as a text/javascript response</dd>
>>      * <dt>{@link org.apache.tapestry5.StreamResponse}</dt>
>>      * <dd>The stream response is sent as the actual response</dd>
>>      * <dt>String</dt>
>> -     * <dd>Interprets the value as a logical page name and sends a client response to redirect to
>> -     * that page</dd>
>> +     * <dd>Interprets the value as a logical page name and sends a client response to redirect to that page</dd>
>>      * <dt>{@link org.apache.tapestry5.Link}</dt>
>>      * <dd>Sends a JSON response to redirect to the link</dd>
>>      * <dt>{@link Class}</dt>
>> @@ -1806,10 +1889,9 @@ public final class TapestryModule
>>      * <dd>Sends a single JSON response to update the content of multiple zones
>>      * </dl>
>>      * <p>
>> -     * In most cases, when you want to support a new type, you should convert it to one of the
>> -     * built-in supported types (such as {@link RenderCommand}. You can then inject the master
>> -     * AjaxComponentEventResultProcessor (use the {@link Ajax} marker annotation) and delegate to
>> -     * it.
>> +     * In most cases, when you want to support a new type, you should convert it to one of the built-in supported types
>> +     * (such as {@link RenderCommand}. You can then inject the master AjaxComponentEventResultProcessor (use the
>> +     * {@link Ajax} marker annotation) and delegate to it.
>>      */
>>     @Contribute(ComponentEventResultProcessor.class)
>>     @Ajax
>> @@ -1837,8 +1919,8 @@ public final class TapestryModule
>>      * <dt>Asset</dt>
>>      * <dd>Provides access to assets (context, classpath and virtual) via {@link AssetDispatcher}</dd>
>>      * <dt>PageRender</dt>
>> -     * <dd>Identifies the {@link org.apache.tapestry5.services.PageRenderRequestParameters} and
>> -     * forwards onto {@link PageRenderRequestHandler}</dd>
>> +     * <dd>Identifies the {@link org.apache.tapestry5.services.PageRenderRequestParameters} and forwards onto
>> +     * {@link PageRenderRequestHandler}</dd>
>>      * <dt>ComponentEvent</dt>
>>      * <dd>Identifies the {@link ComponentEventRequestParameters} and forwards onto the
>>      * {@link ComponentEventRequestHandler}</dd>
>> @@ -1869,9 +1951,9 @@ public final class TapestryModule
>>
>>     /**
>>      * Contributes a default object renderer for type Object, plus specialized
>> -     * renderers for {@link org.apache.tapestry5.services.Request},
>> -     * {@link org.apache.tapestry5.ioc.Location}, {@link org.apache.tapestry5.ComponentResources},
>> -     * {@link org.apache.tapestry5.EventContext}, {@link AvailableValues},
>> +     * renderers for {@link org.apache.tapestry5.services.Request}, {@link org.apache.tapestry5.ioc.Location},
>> +     * {@link org.apache.tapestry5.ComponentResources}, {@link org.apache.tapestry5.EventContext},
>> +     * {@link AvailableValues},
>>      * List, and Object[].
>>      */
>>     @SuppressWarnings("unchecked")
>> @@ -1908,8 +1990,8 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Adds page render filters, each of which provides an
>> -     * {@link org.apache.tapestry5.annotations.Environmental} service. Filters
>> +     * Adds page render filters, each of which provides an {@link org.apache.tapestry5.annotations.Environmental}
>> +     * service. Filters
>>      * often provide {@link org.apache.tapestry5.annotations.Environmental} services needed by
>>      * components as they render.
>>      * <dl>
>> @@ -2486,8 +2568,7 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Adds a listener to the
>> -     * {@link org.apache.tapestry5.internal.services.ComponentInstantiatorSource} that clears the
>> +     * Adds a listener to the {@link org.apache.tapestry5.internal.services.ComponentInstantiatorSource} that clears the
>>      * {@link PropertyAccess} and {@link TypeCoercer} caches on
>>      * a class loader invalidation. In addition, forces the
>>      * realization of {@link ComponentClassResolver} at startup.
>> @@ -2538,12 +2619,11 @@ public final class TapestryModule
>>      * Contributes filters:
>>      * <dl>
>>      * <dt>Ajax</dt>
>> -     * <dd>Determines if the request is Ajax oriented, and redirects to an alternative handler if so
>> -     * </dd>
>> +     * <dd>Determines if the request is Ajax oriented, and redirects to an alternative handler if so</dd>
>>      * <dt>ImmediateRender</dt>
>>      * <dd>When {@linkplain SymbolConstants#SUPPRESS_REDIRECT_FROM_ACTION_REQUESTS
>> -     * immediate action response rendering} is enabled, generates the markup response (instead of a
>> -     * page redirect response, which is the normal behavior)</dd>
>> +     * immediate action response rendering} is enabled, generates the markup response (instead of a page redirect
>> +     * response, which is the normal behavior)</dd>
>>      * <dt>Secure</dt>
>>      * <dd>Sends a redirect if an non-secure request accesses a secure page</dd>
>>      * </dl>
>> @@ -2686,8 +2766,7 @@ public final class TapestryModule
>>      * Identifies String, Number and Boolean as immutable objects, a catch-all
>>      * handler for Object (that understands
>>      * the {@link org.apache.tapestry5.annotations.ImmutableSessionPersistedObject} annotation),
>> -     * and handlers for {@link org.apache.tapestry5.OptimizedSessionPersistedObject} and
>> -     * {@link org.apache.tapestry5.OptimizedApplicationStateObject}.
>> +     * and a handler for {@link org.apache.tapestry5.OptimizedSessionPersistedObject}.
>>      *
>>      * @since 5.1.0.0
>>      */
>> @@ -2709,7 +2788,6 @@ public final class TapestryModule
>>         configuration.add(Boolean.class, immutable);
>>
>>         configuration.add(OptimizedSessionPersistedObject.class, new OptimizedSessionPersistedObjectAnalyzer());
>> -        configuration.add(OptimizedApplicationStateObject.class, new OptimizedApplicationStateObjectAnalyzer());
>>     }
>>
>>     /**
>> @@ -2894,8 +2972,7 @@ public final class TapestryModule
>>     }
>>
>>     /**
>> -     * Contributes "AppCatalog" as the Resource defined by
>> -     * {@link SymbolConstants#APPLICATION_CATALOG}.
>> +     * Contributes "AppCatalog" as the Resource defined by {@link SymbolConstants#APPLICATION_CATALOG}.
>>      *
>>      * @since 5.2.0
>>      */
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavaScriptSupport.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavaScriptSupport.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavaScriptSupport.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/javascript/JavaScriptSupport.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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.
>> @@ -20,7 +20,6 @@ import org.apache.tapestry5.FieldFocusPr
>>  import org.apache.tapestry5.RenderSupport;
>>  import org.apache.tapestry5.SymbolConstants;
>>  import org.apache.tapestry5.annotations.Environmental;
>> -import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
>>  import org.apache.tapestry5.json.JSONObject;
>>  import org.apache.tapestry5.services.EnvironmentalShadowBuilder;
>>
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DateFieldAjaxFormLoop.tml
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DateFieldAjaxFormLoop.tml?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DateFieldAjaxFormLoop.tml (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DateFieldAjaxFormLoop.tml Wed Feb  9 21:18:11 2011
>> @@ -1,20 +1,20 @@
>>  <html t:type="border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>>
>> -    <h1>DateField in AjaxFormLoop</h1>
>> +  <h1>DateField in AjaxFormLoop</h1>
>>
>> -    <t:form>
>> +  <t:form>
>>
>> -        <div t:type="ajaxformloop" t:id="loop" source="dateHolders" value="current" encoder="dateHolderConverter">
>> +    <div t:type="ajaxformloop" t:id="loop" source="dateHolders" value="current" encoder="dateHolderEncoder">
>>
>> -            <t:datefield value="current.date"/>
>> -            <t:removerowlink>remove</t:removerowlink>
>> +      <t:datefield value="current.date"/>
>> +      <t:removerowlink>remove</t:removerowlink>
>>
>> -        </div>
>> +    </div>
>>
>> -        <p>
>> -            <input type="submit" value="Go"/>
>> -        </p>
>> -    </t:form>
>> +    <p>
>> +      <input type="submit" value="Go"/>
>> +    </p>
>> +  </t:form>
>>
>>
>>  </html>
>> \ No newline at end of file
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormInjectorDemo.tml
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormInjectorDemo.tml?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormInjectorDemo.tml (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormInjectorDemo.tml Wed Feb  9 21:18:11 2011
>> @@ -1,36 +1,35 @@
>>  <html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>>
>> -    <h1>FormInjector Demo (now including AjaxFormLoop)</h1>
>> +  <h1>FormInjector Demo (now including AjaxFormLoop)</h1>
>>
>> -    <t:form>
>> +  <t:form>
>>
>> -        <ul>
>> -            <li t:id="loop" t:type="AjaxFormLoop" source="doubleItems" value="item" encoder="encoder"
>> -                context="demoContextValue">
>> -                <t:submitnotifier>
>> -                    <t:textfield t:id="value" value="item.value"/>
>> -                    <t:removerowlink>remove</t:removerowlink>
>> -                </t:submitnotifier>
>> -                <t:parameter name="addRow">
>> -                    <t:addrowlink>Add a row</t:addrowlink>
>> -                </t:parameter>
>> -            </li>
>> -        </ul>
>> -
>> -        <div class="t-beaneditor-row">
>> -            <input type="submit" value="Sum up the values"/>
>> -        </div>
>> -
>> -    </t:form>
>> -
>> -    <p>
>> -        Current sum:
>> -        <span id="sum">${sum}</span>
>> -    </p>
>> +    <ul>
>> +      <li t:id="loop" t:type="AjaxFormLoop" source="doubleItems" value="item" encoder="doubleItemEncoder" context="demoContextValue">
>> +        <t:submitnotifier>
>> +          <t:textfield t:id="value" value="item.value"/>
>> +          <t:removerowlink>remove</t:removerowlink>
>> +        </t:submitnotifier>
>> +        <t:parameter name="addRow">
>> +          <t:addrowlink>Add a row</t:addrowlink>
>> +        </t:parameter>
>> +      </li>
>> +    </ul>
>> +
>> +    <div class="t-beaneditor-row">
>> +      <input type="submit" value="Sum up the values"/>
>> +    </div>
>> +
>> +  </t:form>
>> +
>> +  <p>
>> +    Current sum:
>> +    <span id="sum">${sum}</span>
>> +  </p>
>>
>> -    <h2>Data</h2>
>> +  <h2>Data</h2>
>>
>> -    <t:grid source="doubleItems"/>
>> +  <t:grid source="doubleItems"/>
>>
>>
>>  </html>
>> \ No newline at end of file
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml Wed Feb  9 21:18:11 2011
>> @@ -11,7 +11,7 @@
>>                 <th> Title </th>
>>                 <th> Reorder </th>
>>             </tr>
>> -            <tr t:type="Loop" source="items" value="item" encoder="encoder">
>> +            <tr t:type="Loop" source="items" value="item" encoder="toDoItemEncoder">
>>                 <td>
>>                     <input t:type="TextField" t:id="title" value="item.title" size="30"
>>                         validate="required"/>
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/TapestryCoreTestCase.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2009 The Apache Software Foundation
>> +// Copyright 2009, 2011 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
>> +// 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,
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/BaseComponent.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/BaseComponent.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/BaseComponent.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/BaseComponent.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2007 The Apache Software Foundation
>> +// Copyright 2007, 2011 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
>> +// 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,
>> @@ -14,13 +14,13 @@
>>
>>  package org.apache.tapestry5.integration.app1.base;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.Property;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.integration.app1.data.IncidentData;
>>
>>  public class BaseComponent
>>  {
>> -    @ApplicationState
>> +    @SessionState
>>     @Property
>>     private IncidentData incidentData;
>>  }
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/components/Border.java Wed Feb  9 21:18:11 2011
>> @@ -4,7 +4,7 @@
>>  // 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
>> +// 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,
>> @@ -14,7 +14,7 @@
>>
>>  package org.apache.tapestry5.integration.app1.components;
>>
>> -import org.apache.tapestry5.annotations.IncludeStylesheet;
>> +import org.apache.tapestry5.annotations.Import;
>>  import org.apache.tapestry5.ioc.annotations.Inject;
>>  import org.apache.tapestry5.ioc.services.Builtin;
>>  import org.apache.tapestry5.ioc.services.ClassFactory;
>> @@ -22,10 +22,11 @@ import org.apache.tapestry5.services.Com
>>  import org.apache.tapestry5.services.Request;
>>
>>  /**
>> - * Here's a component with a template, including a t:body element.   Really should rename this to "Layout" as that's the
>> + * Here's a component with a template, including a t:body element. Really should rename this to "Layout" as that's the
>>  * T5 naming.
>>  */
>> -@IncludeStylesheet({ "context:layout/style.css", "context:css/app.css" })
>> +@Import(stylesheet =
>> +{ "context:layout/style.css", "context:css/app.css" })
>>  public class Border
>>  {
>>     @Inject
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorBeanEditContext.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorBeanEditContext.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorBeanEditContext.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorBeanEditContext.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2008 The Apache Software Foundation
>> +// Copyright 2008, 2011 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
>> +// 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,
>> @@ -14,8 +14,8 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.Component;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.corelib.components.BeanEditor;
>>  import org.apache.tapestry5.corelib.components.Form;
>>  import org.apache.tapestry5.integration.app1.data.RegistrationData;
>> @@ -25,13 +25,13 @@ public class BeanEditorBeanEditContext
>>     @Component
>>     private Form form;
>>
>> -    @Component(parameters = { "object=registrationData" })
>> +    @Component(parameters =
>> +    { "object=registrationData" })
>>     private BeanEditor editor;
>>
>> -    @ApplicationState
>> +    @SessionState
>>     private RegistrationData data;
>>
>> -
>>     public RegistrationData getRegistrationData()
>>     {
>>         return data;
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorDemo.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorDemo.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorDemo.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorDemo.java Wed Feb  9 21:18:11 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2007, 2010 The Apache Software Foundation
>> +// Copyright 2007, 2010, 2011 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.
>> @@ -15,10 +15,10 @@
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>>  import org.apache.tapestry5.PersistenceConstants;
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.Component;
>>  import org.apache.tapestry5.annotations.Persist;
>>  import org.apache.tapestry5.annotations.Property;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.beaneditor.Validate;
>>  import org.apache.tapestry5.corelib.ClientValidation;
>>  import org.apache.tapestry5.corelib.components.BeanEditForm;
>> @@ -33,7 +33,7 @@ public class BeanEditorDemo
>>     { "clientValidation=prop:clientValidation" })
>>     private BeanEditForm form;
>>
>> -    @ApplicationState
>> +    @SessionState
>>     @Property
>>     private RegistrationData registrationData;
>>
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorOverride.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorOverride.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorOverride.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BeanEditorOverride.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2008 The Apache Software Foundation
>> +// Copyright 2008, 2011 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
>> +// 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,
>> @@ -14,8 +14,8 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.Component;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.corelib.components.BeanEditor;
>>  import org.apache.tapestry5.corelib.components.Form;
>>  import org.apache.tapestry5.integration.app1.data.RegistrationData;
>> @@ -25,10 +25,11 @@ public class BeanEditorOverride
>>     @Component
>>     private Form form;
>>
>> -    @Component(parameters = { "object=registrationData" })
>> +    @Component(parameters =
>> +    { "object=registrationData" })
>>     private BeanEditor editor;
>>
>> -    @ApplicationState
>> +    @SessionState
>>     private RegistrationData data;
>>
>>     public RegistrationData getRegistrationData()
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldAjaxFormLoop.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldAjaxFormLoop.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldAjaxFormLoop.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldAjaxFormLoop.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -//  Copyright 2008, 2009 The Apache Software Foundation
>> +// Copyright 2008, 2009, 2011 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
>> +// 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,
>> @@ -14,18 +14,18 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.PrimaryKeyEncoder;
>> -import org.apache.tapestry5.annotations.Persist;
>> -import org.apache.tapestry5.annotations.Property;
>> -import org.apache.tapestry5.integration.app1.data.DateHolder;
>> -import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
>> -import org.apache.tapestry5.util.DefaultPrimaryKeyEncoder;
>> -
>>  import java.util.Collections;
>>  import java.util.Comparator;
>>  import java.util.List;
>>  import java.util.Map;
>>
>> +import org.apache.tapestry5.ValueEncoder;
>> +import org.apache.tapestry5.annotations.Persist;
>> +import org.apache.tapestry5.annotations.Property;
>> +import org.apache.tapestry5.func.F;
>> +import org.apache.tapestry5.integration.app1.data.DateHolder;
>> +import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
>> +
>>  public class DateFieldAjaxFormLoop
>>  {
>>     @Persist
>> @@ -40,6 +40,24 @@ public class DateFieldAjaxFormLoop
>>             database = CollectionFactory.newMap();
>>     }
>>
>> +    public ValueEncoder<DateHolder> getDateHolderEncoder()
>> +    {
>> +        return new ValueEncoder<DateHolder>()
>> +        {
>> +            public String toClient(DateHolder value)
>> +            {
>> +                return String.valueOf(value.getId());
>> +            }
>> +
>> +            public DateHolder toValue(String clientValue)
>> +            {
>> +                Integer key = new Integer(clientValue);
>> +
>> +                return database.get(key);
>> +            }
>> +
>> +        };
>> +    }
>>
>>     public List<DateHolder> getDateHolders()
>>     {
>> @@ -56,19 +74,6 @@ public class DateFieldAjaxFormLoop
>>         return result;
>>     }
>>
>> -    public PrimaryKeyEncoder<Integer, DateHolder> getDateHolderConverter()
>> -    {
>> -        DefaultPrimaryKeyEncoder<Integer, DateHolder> result =
>> -                new DefaultPrimaryKeyEncoder<Integer, DateHolder>(Integer.class);
>> -
>> -        for (DateHolder dh : getDateHolders())
>> -        {
>> -            result.add(dh.getId(), dh);
>> -        }
>> -
>> -        return result;
>> -    }
>> -
>>     DateHolder onAddRowFromLoop()
>>     {
>>         DateHolder dh = new DateHolder();
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2008, 2009 The Apache Software Foundation
>> +// Copyright 2008, 2009, 2011 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
>> +// 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,
>> @@ -14,7 +14,13 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.PrimaryKeyEncoder;
>> +import java.util.Collections;
>> +import java.util.Comparator;
>> +import java.util.List;
>> +import java.util.Map;
>> +import java.util.concurrent.atomic.AtomicLong;
>> +
>> +import org.apache.tapestry5.ValueEncoder;
>>  import org.apache.tapestry5.annotations.Log;
>>  import org.apache.tapestry5.annotations.Persist;
>>  import org.apache.tapestry5.annotations.Property;
>> @@ -22,12 +28,6 @@ import org.apache.tapestry5.integration.
>>  import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
>>  import org.testng.Assert;
>>
>> -import java.util.Collections;
>> -import java.util.Comparator;
>> -import java.util.List;
>> -import java.util.Map;
>> -import java.util.concurrent.atomic.AtomicLong;
>> -
>>  public class FormInjectorDemo
>>  {
>>     private static final long DEMO_CONTEXT_VALUE = System.currentTimeMillis();
>> @@ -51,27 +51,21 @@ public class FormInjectorDemo
>>         }
>>     }
>>
>> -    public PrimaryKeyEncoder getEncoder()
>> +    public ValueEncoder<DoubleItem> getDoubleItemEncoder()
>>     {
>> -        return new PrimaryKeyEncoder<Long, DoubleItem>()
>> +        return new ValueEncoder<DoubleItem>()
>>         {
>> -            public Long toKey(DoubleItem value)
>> -            {
>> -                return value.getId();
>> -            }
>>
>> -            public void prepareForKeys(List<Long> keys)
>> +            public DoubleItem toValue(String clientValue)
>>             {
>> -            }
>> +                Long key = new Long(clientValue);
>>
>> -            public DoubleItem toValue(Long key)
>> -            {
>>                 return DB.get(key);
>>             }
>>
>> -            public Class<Long> getKeyType()
>> +            public String toClient(DoubleItem value)
>>             {
>> -                return Long.class;
>> +                return String.valueOf(value.getId());
>>             }
>>         };
>>     }
>> @@ -94,7 +88,7 @@ public class FormInjectorDemo
>>     Object onAddRow(long context)
>>     {
>>         Assert.assertEquals(context, DEMO_CONTEXT_VALUE,
>> -                            "Context value provided to AjaxFormLoop must be provided to the event handler method.");
>> +                "Context value provided to AjaxFormLoop must be provided to the event handler method.");
>>
>>         DoubleItem item = new DoubleItem();
>>         item.setId(ID_ALLOCATOR.incrementAndGet());
>> @@ -119,7 +113,6 @@ public class FormInjectorDemo
>>         sum += item.getValue();
>>     }
>>
>> -
>>     void onActionFromReset()
>>     {
>>         DB.clear();
>> @@ -133,6 +126,6 @@ public class FormInjectorDemo
>>     void onActivate(String context)
>>     {
>>         Assert.assertEquals(context, "FakePageActivationContextValue",
>> -                            "Page activation context was not passed through correctly.");
>> +                "Page activation context was not passed through correctly.");
>>     }
>>  }
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanDemoResult.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanDemoResult.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanDemoResult.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanDemoResult.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2007 The Apache Software Foundation
>> +// Copyright 2007, 2011 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
>> +// 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,
>> @@ -14,16 +14,16 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.integration.app1.data.RolePath;
>>  import org.apache.tapestry5.integration.app1.data.UserCredentials;
>>
>>  public class MultiBeanDemoResult
>>  {
>> -    @ApplicationState
>> +    @SessionState
>>     private UserCredentials credentials;
>>
>> -    @ApplicationState
>> +    @SessionState
>>     private RolePath rolePath;
>>
>>     public UserCredentials getCredentials()
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanEditDemo.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanEditDemo.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanEditDemo.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MultiBeanEditDemo.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2007 The Apache Software Foundation
>> +// Copyright 2007, 2011 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
>> +// 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,
>> @@ -14,19 +14,19 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>>  import org.apache.tapestry5.annotations.Component;
>>  import org.apache.tapestry5.annotations.InjectPage;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.corelib.components.Form;
>>  import org.apache.tapestry5.integration.app1.data.RolePath;
>>  import org.apache.tapestry5.integration.app1.data.UserCredentials;
>>
>>  public class MultiBeanEditDemo
>>  {
>> -    @ApplicationState
>> +    @SessionState
>>     private UserCredentials credentials;
>>
>> -    @ApplicationState
>> +    @SessionState
>>     private RolePath rolePath;
>>
>>     @InjectPage
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowBirthdayReminder.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowBirthdayReminder.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowBirthdayReminder.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ShowBirthdayReminder.java Wed Feb  9 21:18:11 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2007 The Apache Software Foundation
>> +// Copyright 2007, 2011 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
>> +// 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,
>> @@ -14,12 +14,12 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.annotations.ApplicationState;
>> +import org.apache.tapestry5.annotations.SessionState;
>>  import org.apache.tapestry5.integration.app1.data.BirthdayReminder;
>>
>>  public class ShowBirthdayReminder
>>  {
>> -    @ApplicationState
>> +    @SessionState
>>     private BirthdayReminder reminder;
>>
>>     public BirthdayReminder getReminder()
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java
>> URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java?rev=1069114&r1=1069113&r2=1069114&view=diff
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java (original)
>> +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java Wed Feb  9 21:18:11 2011
>> @@ -4,7 +4,7 @@
>>  // 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
>> +// 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,
>> @@ -14,31 +14,58 @@
>>
>>  package org.apache.tapestry5.integration.app1.pages;
>>
>> -import org.apache.tapestry5.PrimaryKeyEncoder;
>> +import java.util.List;
>> +
>> +import org.apache.tapestry5.ValueEncoder;
>>  import org.apache.tapestry5.annotations.Component;
>> +import org.apache.tapestry5.annotations.Property;
>>  import org.apache.tapestry5.corelib.components.Form;
>> +import org.apache.tapestry5.func.F;
>> +import org.apache.tapestry5.func.Predicate;
>>  import org.apache.tapestry5.integration.app1.data.ToDoItem;
>>  import org.apache.tapestry5.integration.app1.services.ToDoDatabase;
>>  import org.apache.tapestry5.ioc.annotations.Inject;
>> -import org.apache.tapestry5.util.DefaultPrimaryKeyEncoder;
>> -
>> -import java.util.List;
>>
>>  public class ToDoList
>>  {
>> +    @Property
>>     @Inject
>>     private ToDoDatabase database;
>>
>> -    private ToDoItem item;
>> +    private List<ToDoItem> items;
>>
>> -    private DefaultPrimaryKeyEncoder<Long, ToDoItem> encoder;
>> +    private ToDoItem item;
>>
>>     @Component
>>     private Form form;
>>
>> +    public ValueEncoder<ToDoItem> getToDoItemEncoder()
>> +    {
>> +        return new ValueEncoder<ToDoItem>()
>> +        {
>> +            public ToDoItem toValue(String clientValue)
>> +            {
>> +                final long id = Long.parseLong(clientValue);
>> +
>> +                return F.flow(items).filter(new Predicate<ToDoItem>()
>> +                {
>> +                    public boolean accept(ToDoItem element)
>> +                    {
>> +                        return element.getId() == id;
>> +                    }
>> +                }).first();
>> +            }
>> +
>> +            public String toClient(ToDoItem value)
>> +            {
>> +                return String.valueOf(value.getId());
>> +            }
>> +        };
>> +    }
>> +
>>     public List<ToDoItem> getItems()
>>     {
>> -        return encoder.getValues();
>> +        return items;
>>     }
>>
>>     public ToDoItem getItem()
>> @@ -51,33 +78,16 @@ public class ToDoList
>>         this.item = item;
>>     }
>>
>> -    public ToDoDatabase getDatabase()
>> -    {
>> -        return database;
>> -    }
>> -
>> -    public PrimaryKeyEncoder getEncoder()
>> -    {
>> -        return encoder;
>> -    }
>> -
>>     void onPrepare()
>>     {
>> -        List<ToDoItem> items = database.findAll();
>> -
>> -        encoder = new DefaultPrimaryKeyEncoder<Long, ToDoItem>(long.class);
>> -
>> -        for (ToDoItem item : items)
>> -        {
>> -            encoder.add(item.getId(), item);
>> -        }
>> +        items = database.findAll();
>>     }
>>
>>     void onSuccess()
>>     {
>>         int order = 0;
>>
>> -        for (ToDoItem item : encoder.getValues())
>> +        for (ToDoItem item : items)
>>         {
>>             item.setOrder(order++);
>>             database.update(item);
>> @@ -90,7 +100,7 @@ public class ToDoList
>>         {
>>             ToDoItem item = new ToDoItem();
>>             item.setTitle("<New To Do>");
>> -            item.setOrder(encoder.getValues().size());
>> +            item.setOrder(items.size());
>>
>>             database.add(item);
>>         }
>>
>>
>>
>
>
>
> --
> Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
> Tapestry PMC / Tacos developer
> Open Source / JEE Consulting
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Mime
View raw message