Author: hlship
Date: Wed Sep 26 23:23:25 2007
New Revision: 579907
URL: http://svn.apache.org/viewvc?rev=579907&view=rev
Log:
TAPESTRY-1781: Tapestry templates should use the extension .tml (Tapestry Markup Language) since they may contain other than (X)HTML
Added:
tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/Start.tml
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditForm.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditForm.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditor.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditor.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Grid.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Grid.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridColumns.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridColumns.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridRows.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridRows.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Palette.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Palette.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/ExceptionReport.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/ExceptionReport.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyDisplayBlocks.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyDisplayBlocks.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyEditBlocks.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyEditBlocks.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/AttributeExpansionsDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditRemoveReorder.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditorDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BlockDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClassLoaderInspect.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClientPersistenceDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/EventHandlerDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FlashDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormEncodingType.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridEnumDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridRemoveReorderDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/InheritedBindingsDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Kicker.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanDemoResult.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanEditDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/NullGrid.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLoadedDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PaletteDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PasswordFieldDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PostLogin.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Protected.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RadioDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RecursiveDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RegexpDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderComponentDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderableDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ReturnTypes.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SecurityAlert.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleForm.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleTrackGridDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Target.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoList.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ToDoListVolatile.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ViewRegistration.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/app2/TestPageForTemplateInContext.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForTemplateInContext.java
- copied, changed from r579888, tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForTemplateInWEBINF.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/pagelevel/TemplateInContextTest.java
- copied, changed from r579888, tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/pagelevel/TemplateInWEBINFTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Outer.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Recursive.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/AssetDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/BadTemplate.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Barney.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Countdown.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/EnvironmentalDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Expansion.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Fred.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InjectComponentMismatch.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InjectDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InstanceMixin.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Localization.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/MerryChristmas.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/NumberSelect.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ParameterConflict.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ParameterDefault.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/RenderPhaseOrder.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ShowSelection.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Wilma.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/components/SimpleLayout.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/DTDFromComponent.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/DTDFromPage.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/MultipleDTD.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/NoDTD.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/ResultPageForActionLink.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForASO.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForActionLink.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForAsset.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForHead.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForIf.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLocale.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLocale_fr.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLoop.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/pageload/Fred.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/basic.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/block_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/body_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/cdata.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/comment.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/complex_component_type.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/componentWithBody.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/componentWithParameters.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component_ids.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component_with_mixins.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/content_within_body_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/empty_string_mixins_is_null.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_in_normal_text.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_must_be_on_one_line.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_not_allowed_in_attributes.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_not_allowed_in_cdata.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_frameset_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_strict_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_transitional_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html_entity.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/illegal_nesting_within_body_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/instrumented_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/justHTML.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/mixin_requires_id_or_type.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/multilineComment.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/multiple_expansions_on_one_line.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/name_attribute_of_parameter_element_blank.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/name_attribute_of_parameter_element_omitted.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/parameter_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/root_element_is_component.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/unexpected_attribute_in_block_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/unexpected_attribute_in_parameter_element.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_frameset_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_strict_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_transitional_doctype.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xmlEntity.tml
tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/Start.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/Start.html
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/GameOver.tml
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/Guess.tml
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/Start.tml
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/address/
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/address/CreateAddress.tml
tapestry/tapestry5/trunk/tapestry-upload/src/test/webapp/WEB-INF/Start.tml
- copied unchanged from r579888, tapestry/tapestry5/trunk/tapestry-upload/src/test/webapp/WEB-INF/Start.html
Removed:
tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/Start.html
tapestry/tapestry5/trunk/tapestry-core/src/main/aspect/
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/ioc/
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditForm.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/BeanEditor.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Grid.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridColumns.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/GridRows.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/components/Palette.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/ExceptionReport.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyDisplayBlocks.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/corelib/pages/PropertyEditBlocks.html
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/ioc/
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/AttributeExpansionsDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/BeanEditRemoveReorder.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/BeanEditorDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/BlockDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ClassLoaderInspect.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ClientPersistenceDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/EventHandlerDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/FlashDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/FormEncodingType.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/GridDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/GridEnumDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/GridRemoveReorderDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/InheritedBindingsDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/Kicker.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/MultiBeanDemoResult.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/MultiBeanEditDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/NullGrid.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/PageLinkContext.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/PageLoadedDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/PaletteDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/PasswordFieldDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/PostLogin.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/Protected.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/RadioDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/RecursiveDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/RegexpDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/RenderComponentDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/RenderableDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ReturnTypes.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/SecurityAlert.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/SimpleForm.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/SimpleTrackGridDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/Start.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/Target.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ToDoList.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ToDoListVolatile.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/WEB-INF/ViewRegistration.html
tapestry/tapestry5/trunk/tapestry-core/src/test/app2/WEB-INF/TestPageForTemplateInWEBINF.html
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app2/pages/TestPageForTemplateInWEBINF.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/pagelevel/TemplateInWEBINFTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Outer.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Recursive.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ActionPage.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/AssetDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/BadTemplate.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Barney.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Countdown.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/EnvironmentalDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Expansion.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Fred.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InjectComponentMismatch.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InjectDemo.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/InstanceMixin.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Localization.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/MerryChristmas.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/NumberSelect.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ParameterConflict.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ParameterDefault.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/RenderPhaseOrder.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ShowSelection.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/ValidForm.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/Wilma.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/components/SimpleLayout.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/DTDFromComponent.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/DTDFromPage.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/MultipleDTD.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/NoDTD.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/ResultPageForActionLink.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForASO.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForActionLink.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForAsset.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForForm.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForHead.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForIf.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLocale.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLocale_fr.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForLoop.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app2/pages/TestPageForSubmit.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/pageload/Fred.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/basic.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/block_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/body_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/cdata.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/comment.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/complex_component_type.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/componentWithBody.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/componentWithParameters.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component_ids.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/component_with_mixins.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/content_within_body_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/empty_string_mixins_is_null.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_in_normal_text.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_must_be_on_one_line.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_not_allowed_in_attributes.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/expansions_not_allowed_in_cdata.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_frameset_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_strict_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html4_transitional_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/html_entity.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/illegal_nesting_within_body_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/instrumented_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/justHTML.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/mixin_requires_id_or_type.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/multilineComment.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/multiple_expansions_on_one_line.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/name_attribute_of_parameter_element_blank.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/name_attribute_of_parameter_element_omitted.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/parameter_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/root_element_is_component.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/unexpected_attribute_in_block_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/unexpected_attribute_in_parameter_element.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_frameset_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_strict_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xhtml1_transitional_doctype.html
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/internal/services/xmlEntity.html
tapestry/tapestry5/trunk/tapestry-spring/src/test/webapp/WEB-INF/Start.html
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/WEB-INF/GameOver.html
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/WEB-INF/Guess.html
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/WEB-INF/Start.html
tapestry/tapestry5/trunk/tapestry-tutorial1/src/main/webapp/WEB-INF/address/
tapestry/tapestry5/trunk/tapestry-upload/src/test/webapp/WEB-INF/Start.html
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/PageTemplateLocatorImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/StaticFilesFilter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
tapestry/tapestry5/trunk/tapestry-core/src/site/apt/guide/templates.apt
tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ContextImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PageTemplateLocatorImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ParserExperiment.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/StaticFilesFilterTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/TemplateParserImplTest.java
tapestry/tapestry5/trunk/tapestry-tutorial1/src/site/apt/env.apt
tapestry/tapestry5/trunk/tapestry-tutorial1/src/site/apt/first.apt
tapestry/tapestry5/trunk/tapestry-tutorial1/src/site/apt/forms.apt
tapestry/tapestry5/trunk/tapestry-tutorial1/src/site/apt/hilo.apt
Added: tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/Start.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/Start.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/Start.tml (added)
+++ tapestry/tapestry5/trunk/quickstart/src/main/resources/archetype-resources/src/main/webapp/Start.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,18 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <head>
+ <title>${artifactId} Start Page</title>
+ </head>
+ <body>
+ <h1>${artifactId} Start Page</h1>
+
+ <p> This is the start page for this application, a good place to start your modifications.
+ Just to prove this is live: </p>
+
+ <p> The current time is: ${currentTime}. </p>
+
+
+ <p>
+ [<t:pagelink t:page="Start">refresh</t:pagelink>]
+ </p>
+ </body>
+</html>
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/InternalConstants.java Wed Sep 26 23:23:25 2007
@@ -37,12 +37,10 @@
public static final String TAPESTRY_APP_NAME_SYMBOL = "tapestry.app-name";
/**
- * The extension used for Tapestry component template files. Template files are well-formed XML
- * files. This is also used as the extension for page render requests (perhaps these will be
- * split into two concepts later, especially if the we designate a particular extension for
- * Tapestry template files, such as .tsp).
+ * The extension used for Tapestry component template files, <em>T</em>apestry <em>M</em>arkup
+ * <em>L</em>anguage. Template files are well-formed XML files.
*/
- public static final String TEMPLATE_EXTENSION = "html";
+ public static final String TEMPLATE_EXTENSION = "tml";
/** All purpose CSS class name for anything related to Tapestry errors. */
public static final String TAPESTRY_ERROR_CLASS = "t-error";
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImpl.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ComponentTemplateSourceImpl.java Wed Sep 26 23:23:25 2007
@@ -48,7 +48,7 @@
/**
* Caches from a key (combining component name and locale) to a resource. Often, many different
* keys will point to the same resource (i.e., "foo:en_US", "foo:en_UK", and "foo:en" may all be
- * parsed from the same "foo.html" resource). The resource may end up being null, meaning the
+ * parsed from the same "foo.tml" resource). The resource may end up being null, meaning the
* template does not exist in any locale.
*/
private final Map<MultiKey, Resource> _templateResources = newConcurrentMap();
@@ -191,7 +191,7 @@
/**
* Checks to see if any parsed resource has changed. If so, then all internal caches are
- * cleared, and an invalidation event is fired. This is brute force ... a more targetted
+ * cleared, and an invalidation event is fired. This is brute force ... a more targeted
* dependency management strategy may come later.
*/
public void checkForUpdates()
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/PageTemplateLocatorImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/PageTemplateLocatorImpl.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/PageTemplateLocatorImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/PageTemplateLocatorImpl.java Wed Sep 26 23:23:25 2007
@@ -58,7 +58,7 @@
logicalName = logicalName.substring(0, slashx + 1) + simpleClassName;
}
- String path = format("WEB-INF/%s.%s", logicalName, InternalConstants.TEMPLATE_EXTENSION);
+ String path = format("%s.%s", logicalName, InternalConstants.TEMPLATE_EXTENSION);
return _contextRoot.forFile(path).forLocale(locale);
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImpl.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ResourceDigestGeneratorImpl.java Wed Sep 26 23:23:25 2007
@@ -19,9 +19,12 @@
import java.io.InputStream;
import java.net.URL;
import java.security.MessageDigest;
+import java.util.Collection;
+import java.util.Set;
import org.apache.commons.codec.binary.Hex;
import org.apache.tapestry.internal.TapestryInternalUtils;
+import org.apache.tapestry.ioc.internal.util.CollectionFactory;
import org.apache.tapestry.services.ResourceDigestGenerator;
/**
@@ -31,6 +34,13 @@
{
private static final int BUFFER_SIZE = 5000;
+ private final Set<String> _digestExtensions;
+
+ public ResourceDigestGeneratorImpl(Collection<String> configuration)
+ {
+ _digestExtensions = CollectionFactory.newSet(configuration);
+ }
+
public String generateDigest(URL url)
{
InputStream stream = null;
@@ -75,10 +85,13 @@
}
}
- /** Current implementation: any path that ends with ".class", but this will expand in the future. */
+ /** Current implementation is based on the path extension, and a configured list of extensions. */
public boolean requiresDigest(String path)
{
- return path.endsWith(".class");
+ int dotx = path.lastIndexOf('.');
+ String extension = path.substring(dotx + 1).toLowerCase();
+
+ return _digestExtensions.contains(extension);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/ServicesMessages.java Wed Sep 26 23:23:25 2007
@@ -113,7 +113,8 @@
return MESSAGES.format("may-not-nest-elements-inside-body", elementName);
}
- static String methodCompileError(TransformMethodSignature signature, String methodBody, Throwable cause)
+ static String methodCompileError(TransformMethodSignature signature, String methodBody,
+ Throwable cause)
{
return MESSAGES.format("method-compile-error", signature, methodBody, cause);
}
@@ -406,5 +407,10 @@
static String missingValidatorConstraint(String validatorType, Class type)
{
return MESSAGES.format("missing-validator-constraint", validatorType, type.getName());
+ }
+
+ static String resourcesAccessForbidden(String URI)
+ {
+ return MESSAGES.format("resource-access-forbidden", URI);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/StaticFilesFilter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/StaticFilesFilter.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/StaticFilesFilter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/internal/services/StaticFilesFilter.java Wed Sep 26 23:23:25 2007
@@ -17,6 +17,9 @@
import java.io.IOException;
import java.net.URL;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tapestry.internal.InternalConstants;
import org.apache.tapestry.services.Context;
import org.apache.tapestry.services.Request;
import org.apache.tapestry.services.RequestFilter;
@@ -45,19 +48,37 @@
// servlet even if the file doesn't exist, to keep the request from looking like a
// component action request.
- if (path.equals("/favicon.ico"))
- return false;
+ if (path.equals("/favicon.ico")) return false;
// We are making the questionable assumption that all files to be vended out will contain
- // an extension (with a dot seperator). Without this, the filter tends to match against
+ // an extension (with a dot separator). Without this, the filter tends to match against
// folder names when we don't want it to (especially for the root context path).
- if (path.contains("."))
+ int dotx = path.lastIndexOf(".");
+
+ if (dotx > 0)
{
URL url = _context.getResource(path);
if (url != null)
+ {
+ String suffix = path.substring(dotx + 1);
+
+ // We never allow access to Tapestry component templates, even if they exist.
+ // It is considered a security risk, like seeing a raw JSP. Earlier alpha versions
+ // of Tapestry required that the templates be stored in WEB-INF.
+
+ if (suffix.equalsIgnoreCase(InternalConstants.TEMPLATE_EXTENSION))
+ {
+
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, ServicesMessages
+ .resourcesAccessForbidden(path));
+
+ return true;
+ }
+
return false;
+ }
}
return handler.service(request, response);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/TapestryModule.java Wed Sep 26 23:23:25 2007
@@ -1568,4 +1568,24 @@
resources.autobuild(ComponentActionRequestHandlerImpl.class));
}
+ /**
+ * Configures the extensions that will require a digest to be downloaded via the asset
+ * dispatcher. Most resources are "safe", they don't require a digest. For unsafe resources, the
+ * digest is incorporated into the URL to ensure that the client side isn't just "fishing".
+ * <p>
+ * The extensions must be all lower case.
+ * <p>
+ * This contributes "class" and "tml" (the template extension).
+ *
+ * @param configuration
+ * collection of extensions
+ */
+ public static void contributeResourceDigestGenerator(Configuration<String> configuration)
+ {
+ // Java class files always require a digest.
+ configuration.add("class");
+
+ // Likewise, we don't want people fishing for templates.
+ configuration.add(InternalConstants.TEMPLATE_EXTENSION);
+ }
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry/internal/services/ServicesStrings.properties Wed Sep 26 23:23:25 2007
@@ -82,3 +82,5 @@
no-edit-for-data-type=There is no defined way to edit data of type '%s'. Make a contribution to the BeanBlockSource service for this type.
missing-validator-constraint=Validator '%s' requires a validation constraint (of type %s) but none was provided.
startup-failure=An exception occurred during startup: %s
+resource-access-forbidden=URI %s may not be accessed remotely.
+
Modified: tapestry/tapestry5/trunk/tapestry-core/src/site/apt/guide/templates.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/site/apt/guide/templates.apt?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/site/apt/guide/templates.apt (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/site/apt/guide/templates.apt Wed Sep 26 23:23:25 2007
@@ -17,35 +17,36 @@
Template Location
- Component templates are stored with the component class file. The files have a ".html" extension, and are stored in
+ Component templates are stored with the component class file. The files have a ".tml" extension (i.e., <T>apestry <M>arkup
+ <L>anguage), and are stored in
the same package as corresponding component class.
Under a typical Maven directory structure, the Java class for a component
might be <<<src/main/java/org/example/myapp/components/MyComponent.java>>>.
- The corresponding template will be <<<src/main/resources/org/example/myapp/components/MyComponent.html>>>.
+ The corresponding template will be <<<src/main/resources/org/example/myapp/components/MyComponent.tml>>>.
Likewise, the Java class for a component might be <<<src/main/java/org/example/myapp/pages/MyPage.java>>> and
- the corresponding template will be <<<src/main/resources/org/example/myapp/pages/MyPage.html>>>.
+ the corresponding template will be <<<src/main/resources/org/example/myapp/pages/MyPage.tml>>>.
The template and the compiled class will be packaged together in the WEB-INF/classes folder of the application WAR.
For <pages> (not <components>), a second location will be searched: in the web application context.
The location is based on the logical name of the page, in the previous example, the template
- would be <<<MyPage.html>>> in the root folder of the web application.
+ would be <<<MyPage.tml>>> in the root folder of the web application.
In certain cases, Tapestry will simplify the the logical name of a page. For example, the page class
org.example.pages.address.CreateAddress will be given a logical name of "address/Create" (the redundant "Address"
is removed as a suffix). However, this only affects how the page is referenced in URLs; the template file
- will still be CreateAddress.html, whether on the classpath, or as WEB-INF/address/CreateAddress.html.
+ will still be CreateAddress.tml, whether on the classpath, or as address/CreateAddress.tml (in the web context).
- A template on the classpath takes precendence over a file in the web application context.
+ A template on the classpath takes precedence over a file in the web application context.
Template Localization
Templates are {{{localization.html}localized}} in much the same way as individual files of a component's message
catalog: the effective locale is inserted into the name of the file. Thus a German users will see the content
- generated from <<<MyPage_de.html>>> and French users will see content generated from <<<MyPage_fr.html>>>. When no
- specific localization is available, the default location (<<<MyPage.html>>>) is used.
+ generated from <<<MyPage_de.tml>>> and French users will see content generated from <<<MyPage_fr.tml>>>. When no
+ specific localization is available, the default location (<<<MyPage.tml>>>) is used.
Template Inheritance
Modified: tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt?rev=579907&r1=579906&r2=579907&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt Wed Sep 26 23:23:25 2007
@@ -13,6 +13,8 @@
Progress on Tapestry 5 is really taking off. This space lists some cool new features that have been added
recently.
+ * Tapestry templates now use the extension .tml (not .html). Page templates in the context are now stored at the root, not under WEB-INF.
+
* The core of BeanEditForm has been factored out as a new component, BeanEditor (this allows you to edit multiple beans within the same form).
* Some of the annotations that aren't used specifically with component classes have been split off into the new
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/AttributeExpansionsDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/AttributeExpansionsDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/AttributeExpansionsDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/AttributeExpansionsDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,25 @@
+<t:border xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Expansions in Attributes</h1>
+
+ <style>
+ DIV.red { font-weight: bold; color: red; }
+
+ DIV.goober-red { font-style: italic; color: #FF9F2F; }
+
+ DIV.goober-green { font-size: x-large; color: green; }
+
+ </style>
+
+ <div id="mixed-expansion" style="color: ${colorscheme}">This text is blue, thanks to property colorscheme.</div>
+
+ <div id="single" class="${styleClass}">This text is red and bold, thanks to the class attribute, set from property styleClass.</div>
+
+ <div id="consecutive" class="${message:cssclassprefix}${styleClass}">And this text is italic and orange, from a complex CSS class attribute, built from multiple expansions.</div>
+
+ <div id="trailer" class="${message:cssclassprefix}green">This text is green and large, and tests a trailing literal string within an attribute with an expansion.</div>
+
+ <div id="formal"><t:echo value="${prefix}${message:alert}"/></div>
+
+ <!-- A comment! -->
+</t:border>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditRemoveReorder.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditRemoveReorder.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditRemoveReorder.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditRemoveReorder.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,14 @@
+<t:border xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <h1>${pageTitle}</h1>
+
+ <form t:id="registrationData" submitlabel="Register" remove="birthYear" reorder="lastname,firstname">
+
+ <t:parameter name="firstName">
+ <t:label for="firstName"/>
+ <input t:type="TextField" t:id="firstName" value="registrationData.firstName" size="40"/>
+ (First Name is Required) </t:parameter>
+
+ </form>
+
+ <p>[<a t:type="ActionLink" t:id="clear">Clear Data</a>]</p>
+</t:border>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditorDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditorDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditorDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BeanEditorDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,14 @@
+<t:border xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <h1>${pageTitle}</h1>
+
+ <form t:id="registrationData" submitlabel="Register">
+
+ <t:parameter name="firstName">
+ <t:label for="firstName"/>
+ <input t:type="TextField" t:id="firstName" value="registrationData.firstName" size="40"/>
+ (First Name is Required) </t:parameter>
+
+ </form>
+
+ <p>[<a t:type="ActionLink" t:id="clear">Clear Data</a>]</p>
+</t:border>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BlockDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BlockDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BlockDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/BlockDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,24 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Block Demo</h1>
+
+ <p> This page demonstrates how blocks may be used to contain text and other elements and control
+ when and if they are rendered. </p>
+
+ <t:form>
+ <t:select t:id="blockName" model="',fred,barney'" onchange="this.form.submit();"/>
+ <t:label for="blockName">Block to display</t:label>
+ </t:form>
+
+ <p>The block: [<t:render value="blockToRender"/>]</p>
+
+ <t:block id="fred">Block fred.</t:block>
+ <t:block id="barney">Block barney.</t:block>
+
+<hr/>
+
+ You can also render a block before it is defined: [<t:delegate to="block:wilma"/>].
+
+ <t:block id="wilma">Block wilma</t:block>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClassLoaderInspect.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClassLoaderInspect.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClassLoaderInspect.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClassLoaderInspect.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,70 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Class Loader Inspection</h1>
+
+
+ <dl>
+ <dt>Context ClassLoader</dt>
+ <dd>${classLoader} [${classLoader.class.name}]</dd>
+
+ <dt> Instance ClassLoader </dt>
+ <dd>${class.classLoader}</dd>
+
+ </dl>
+
+ <h2>Class Loader Hierarchy</h2>
+
+ <ul>
+ <t:loop source="loaders" value="loader">
+ <li>${loader}</li>
+ </t:loop>
+ </ul>
+
+ <h2> Find Resources </h2>
+
+ <form t:id="search">
+ <t:errors/>
+ <t:label for="resource"/>: <input t:id="resource" t:type="TextField" size="50"
+ validate="required"/>
+ <br/>
+ <input type="submit"/>
+ </form>
+
+ <t:if test="showMatches">
+
+ <h3>${listSize} Matches</h3>
+
+ <ul>
+ <t:loop source="URLs" value="URL">
+ <li>${URL} <dl>
+
+ <dt>Connection</dt>
+ <dd>${URLConnection} [${URLConnection.class.name}]</dd>
+ <dt>Content</dt>
+ <dd>${URL.content}</dd>
+
+ <dt>Stream </dt>
+ <dd>
+ <pre>
+${contentStreamContents}
+</pre>
+ </dd>
+
+ <dt> JAR Entries </dt>
+
+ <dd>
+ <ul>
+ <t:loop source="jarEntries" value="jarEntry">
+ <li>${jarEntry}</li>
+ </t:loop>
+ </ul>
+ </dd>
+
+ </dl>
+ </li>
+ </t:loop>
+ </ul>
+
+ </t:if>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClientPersistenceDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClientPersistenceDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClientPersistenceDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ClientPersistenceDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,27 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+<h1>Client Persistence Demo</h1>
+
+
+ <p>
+ Persisted value: [${persistedValue}]
+ </p>
+
+ <p>
+ Session: [${sessionExists}]
+ </p>
+
+
+ <p>
+ <t:actionlink t:id="storeString">store string</t:actionlink>
+ </p>
+
+ <p>
+ <t:actionlink t:id="storeBad">store non-serializable</t:actionlink>
+ </p>
+
+ <p>
+ <t:pagelink page="clientpersistencedemo">refresh</t:pagelink>
+ </p>
+
+</html>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/EventHandlerDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/EventHandlerDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/EventHandlerDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/EventHandlerDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,29 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>EventHandler Demo</h1>
+
+ <t:if test="methodNames">
+ <p> Event method names: ${methodNames} </p>
+ </t:if>
+
+
+ <p> [<t:pagelink page="eventhandlerdemo" context="'anything'">clear</t:pagelink>] </p>
+
+
+ <ul>
+ <li>
+ <t:actionlink t:id="wilma">No Context</t:actionlink>
+ </li>
+ <li>
+ <t:actionlink t:id="barney" context="literal:one">Single context value</t:actionlink>
+ </li>
+ <li>
+ <t:actionlink t:id="betty" context="twoContext">Two value context</t:actionlink>
+ </li>
+ <li>
+ <t:actionlink context="'two'" t:id="fred">Two value context (from fred)</t:actionlink>
+ </li>
+ </ul>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FlashDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FlashDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FlashDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FlashDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,18 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Flash Demo</h1>
+
+ <p>
+ The message: [${message}]
+ </p>
+
+ <p>
+ Click <a t:type="ActionLink" t:id="show">here</a> to show the message.
+ </p>
+
+ <p>
+ Click <a t:id="refresh" t:type="PageLink" page="FlashDemo">here</a> to refresh the page.
+ </p>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormEncodingType.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormEncodingType.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormEncodingType.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/FormEncodingType.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,17 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Form Encoding Type Demo</h1>
+
+
+ <t:form>
+
+ <p>
+ Not much to see here, unless you check the DOM.
+ </p>
+
+ <t:delegate to="forceEncodingType"/>
+
+ </t:form>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,11 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Grid Demo</h1>
+
+ <table t:type="Grid" source="tracks" row="track">
+ <t:parameter name="ratingcell">
+ <t:outputRating rating="track.rating"/>
+ </t:parameter>
+ </table>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridEnumDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridEnumDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridEnumDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridEnumDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,10 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Grid Enum Demo</h1>
+
+ <table t:type="Grid" source="database.findAll()"/>
+
+ <p>
+ [<a t:type="ActionLink" t:id="reset">reset</a>]
+ </p>
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridRemoveReorderDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridRemoveReorderDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridRemoveReorderDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/GridRemoveReorderDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,11 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Grid Remove/Reorder Demo</h1>
+
+ <table t:type="Grid" source="tracks" row="track" remove="playCount" reorder="rating,title" >
+ <t:parameter name="ratingcell">
+ <t:outputRating rating="track.rating"/>
+ </t:parameter>
+ </table>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/InheritedBindingsDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/InheritedBindingsDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/InheritedBindingsDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/InheritedBindingsDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,12 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <h1>Inherited Bindings Demo</h1>
+
+ <h1>Bound</h1>
+
+ Bound: <t:outer outerValue="the-bound-value"/>
+
+ <h1>Unbound</h1>
+
+ Unbound: <t:outer/>
+
+</html>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Kicker.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Kicker.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Kicker.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Kicker.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,8 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+<h1>Kicker</h1>
+
+[<a t:type="actionlink">kick target</a>]
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanDemoResult.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanDemoResult.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanDemoResult.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanDemoResult.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,13 @@
+<html t:type="Border"
+ xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>MultiBean Edit Demo</h1>
+
+ <ul>
+ <li>First Name: [${credentials.firstName}]</li>
+ <li>Last Name: [${credentials.lastName}]</li>
+ <li>Path: [${rolePath.path}]</li>
+ <li>Role: [${rolePath.role}]</li>
+ </ul>
+
+</html>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanEditDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanEditDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanEditDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MultiBeanEditDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,32 @@
+<html t:type="Border"
+ xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>MultiBean Edit</h1>
+
+ <form t:id="form">
+
+ <t:errors />
+
+ <div class="t-beaneditor">
+
+ <!-- Demonstrate default object binding from component id -->
+ <t:beaneditor t:id="credentials" />
+ <t:beaneditor t:id="rolePath" />
+
+ <div class="t-beaneditor-row">
+ <input type="submit" value="Set Access" />
+ </div>
+
+
+ </div>
+
+
+ </form>
+
+ <p>
+ [
+ <t:actionlink t:id="clear">Clear Data</t:actionlink>
+ ]
+ </p>
+
+</html>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/NullGrid.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/NullGrid.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/NullGrid.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/NullGrid.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,9 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Null Grid Demo</h1>
+
+ <p>Default behavior for when a Grid is passed null for source.</p>
+
+ <table t:type="Grid" source="null"/>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLinkContext.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,17 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>PageLink Context Demo</h1>
+
+ <p>
+ Demonstrates how to supply explicit context is a page link. This is often used in pages with a master/detail relationship,
+ with the master page providing links to the detail page, configured via the explicit context.
+ </p>
+
+ <a t:type="pagelink" page="target">no context</a>
+ <br/>
+ <a t:type="pagelink" page="target" context="literal:literal context">literal context</a>
+ <br/>
+ <a t:type="pagelink" page="target" context="computedContext">computed context</a>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLoadedDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLoadedDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLoadedDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PageLoadedDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,9 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Page Loaded Demo</h1>
+
+ <p>
+ The message: [${message}]
+ </p>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PaletteDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PaletteDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PaletteDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PaletteDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,30 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <style>
+ DIV.t-palette SELECT { width: 300px; }
+ </style>
+
+ <h1>Palette Demo</h1>
+
+
+ <t:form>
+ <div>
+ <t:checkbox t:id="reorder" label="Enable Reorder"/>
+ <t:label for="reorder"/>
+ </div>
+
+ <div class="t-beaneditor">
+
+
+ <t:palette t:id="languages" model="languageModel" reorder="reorder" encoder="languageEncoder"/>
+ <br/>
+ <input type="submit"/>
+ </div>
+ </t:form>
+
+ <p> Selected Languages: ${languages} </p>
+
+ <p>
+ [ <t:actionlink t:id="reset">reset</t:actionlink> ]
+ </p>
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PasswordFieldDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PasswordFieldDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PasswordFieldDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PasswordFieldDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,30 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <h1>Simple Form</h1>
+
+ <p> This is the <em>very early</em> start to Tapestry 5 form support. </p>
+
+ <form t:id="form">
+
+ <t:errors/>
+
+ <t:label for="userName"/>
+ <input t:type="TextField" t:id="userName" t:validate="required" size="30"/>
+ <br/>
+ <t:label for="password"/>
+ <input t:id="password" t:validate="required" size="30"/>
+ <br/>
+ <input type="submit" value="Login"/>
+ </form>
+
+ <hr/>
+
+ <p> Entered data: </p>
+
+ <ul>
+ <li>userName: [${userName}]</li>
+ <li>password: [${password}]</li>
+ </ul>
+
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PostLogin.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PostLogin.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PostLogin.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/PostLogin.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,9 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+<h1>Post Login</h1>
+
+ <p>
+ You have provided the correct user name and password.
+ </p>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Protected.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Protected.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Protected.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Protected.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,8 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+<h1>Protected Page</h1>
+
+<p>It should never be possible to see this, as the onActivate() event handler method prevents it.</p>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RadioDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RadioDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RadioDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RadioDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,27 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Radio Demo</h1>
+
+ <p>Choose a department: </p>
+
+ <t:form>
+ <t:radiogroup t:id="department">
+ <t:loop source="departments" value="loopValue">
+ <p>
+ <t:radio t:id="radio" value="loopValue" label="prop:label"/>
+ <t:label for="radio"/>
+ </p>
+ </t:loop>
+ </t:radiogroup>
+ <p>
+ <input type="submit" value="Update"/>
+ </p>
+ </t:form>
+
+
+ <t:if test="department">
+ <hr/>
+ Selected department: ${department}
+ </t:if>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RecursiveDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RecursiveDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RecursiveDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RecursiveDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,5 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ This page contains a <t:recursive>Recursive component</t:recursive>, so it will never be able to render itself.
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RegexpDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RegexpDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RegexpDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RegexpDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,11 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+<t:beaneditform object="this"/>
+
+<hr/>
+
+ <t:if test="zipCode">
+ Zip code: [${zipCode}]
+ </t:if>
+
+</html>
\ No newline at end of file
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderComponentDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderComponentDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderComponentDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderComponentDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,22 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Render Component Demo</h1>
+
+ <p> This page demonstrates how a component may return a component instance from one of its render
+ phase methods to allow that object to render. </p>
+
+ <t:block id="optional"> <span>Optional Text</span> </t:block>
+
+ <t:form>
+ <input t:type="Checkbox" t:id="enabled" onchange="this.form.submit();"/>
+ <label t:type="Label" for="enabled">Enable optional text</label>
+ </t:form>
+
+ <t:if test="enabled"> Should now show up: <t:parameter name="else"> Should be blank:
+ </t:parameter>
+ </t:if>
+
+ <span id="container">[<t:render value="thing"/>]</span>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderableDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderableDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderableDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/RenderableDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,10 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Renderable Demo</h1>
+
+ <p>
+ The following text is provided by a Renderable: [<t:delegate to="renderable"/>]
+ </p>
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ReturnTypes.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ReturnTypes.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ReturnTypes.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/ReturnTypes.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,33 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Return Type Tests</h1>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="NullReturnValue">null</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="StringReturnValue">string</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="ClassReturnValue">class</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="PageReturnValue">page</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="LinkReturnValue">link</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="StreamReturnValue">stream</a> return values.
+ </p>
+
+ <p>
+ Test <a t:type="ActionLink" t:id="BadReturnValue">bad</a> return values.
+ </p>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SecurityAlert.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SecurityAlert.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SecurityAlert.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SecurityAlert.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,9 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Security Alert</h1>
+
+ <p>
+ Security exception: ${message}
+ </p>
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleForm.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleForm.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleForm.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleForm.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,48 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+ <h1>Simple Form</h1>
+
+ <p> This is the <em>very early</em> start to Tapestry 5 form support. </p>
+
+ <t:form>
+ <input t:type="Checkbox" t:id="disabled"/>
+ <t:label for="disabled"/>
+ <br/>
+
+ <div class="t-beaneditor">
+
+ <t:label for="email">This isn't used</t:label>
+ <input t:type="TextField" t:id="email" value="incident.email" size="50" disabled="disabled"/>
+ <br/>
+ <t:label for="message"/>
+ <input t:type="TextArea" t:id="message" label="Incident Message" value="incident.message"
+ cols="50" rows="10" disabled="disabled"> You can put text here, but it isn't used. </input>
+ <br/>
+ <t:label for="operatingSystem"/>
+ <select t:type="Select" t:id="operatingSystem" value="incident.operatingSystem"
+ model="message:os-values" disabled="disabled"/>
+ <br/>
+ <t:label for="department"/>
+ <select t:type="Select" t:id="department" value="incident.department" disabled="disabled"/>
+ <br/>
+ <t:label for="urgent"/>
+ <input t:type="Checkbox" t:id="urgent" value="incident.urgent" disabled="disabled"/>
+ <br/>
+ <input type="submit"/>
+ </div>
+ </t:form>
+
+ <hr/>
+
+ <p> Entered data: </p>
+
+ <ul>
+ <li>email: [${incident.email}]</li>
+ <li>message: [${incident.message}]</li>
+ <li>OS: [${incident.operatingSystem}]</li>
+ <li>urgent: [${incident.urgent}]</li>
+ <li>department: [${incident.department}]</li>
+ </ul>
+
+
+
+</html>
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleTrackGridDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleTrackGridDemo.tml?rev=579907&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleTrackGridDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/SimpleTrackGridDemo.tml Wed Sep 26 23:23:25 2007
@@ -0,0 +1,11 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <h1>Grid Demo</h1>
+
+ <table t:type="Grid" source="tracks" row="track" model="simpleTrackModel">
+ <t:parameter name="ratingcell">
+ <t:outputRating rating="track.rating"/>
+ </t:parameter>
+ </table>
+
+</html>
|