You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2008/01/15 18:56:25 UTC
svn commit: r612177 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry/corelib/components/
main/java/org/apache/tapestry/services/ site/apt/ test/app1/
test/java/org/apache/tapestry/integration/ test/java/org/apache/tapestr...
Author: hlship
Date: Tue Jan 15 09:56:14 2008
New Revision: 612177
URL: http://svn.apache.org/viewvc?rev=612177&view=rev
Log:
Simplify (and sort!) the integration app's Start page
Add an Unless component
Added:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/Unless.java
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/UnlessDemo.tml
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/UnlessDemo.java
Removed:
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/MerryChristmas.java
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/pages/MerryChristmas.tml
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/If.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java
tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt
tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml
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/integration/app1/pages/Start.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/If.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/If.java?rev=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/If.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/If.java Tue Jan 15 09:56:14 2008
@@ -29,22 +29,24 @@
private boolean _test;
/**
- * Optional parameter to invert the test. If true, then the body is rendered when the test
- * parameter is false (not true).
+ * Optional parameter to invert the test. If true, then the body is rendered when the test parameter is false (not
+ * true).
+ *
+ * @see Unless
*/
@Parameter
private boolean _negate;
/**
- * An alternate {@link Block} to render if the test parameter is false. The default, null, means
- * render nothing in that situation.
+ * An alternate {@link Block} to render if the test parameter is false. The default, null, means render nothing in
+ * that situation.
*/
@Parameter
private Block _else;
/**
- * Returns null if the test parameter is true, which allows normal rendering (of the body). If
- * the test parameter is false, returns the else parameter (this may also be null).
+ * Returns null if the test parameter is true, which allows normal rendering (of the body). If the test parameter is
+ * false, returns the else parameter (this may also be null).
*/
Object beginRender()
{
@@ -52,8 +54,8 @@
}
/**
- * If the test parameter is true, then the body is rendered, otherwise not. The component does
- * not have a template or do any other rendering besides its body.
+ * If the test parameter is true, then the body is rendered, otherwise not. The component does not have a template
+ * or do any other rendering besides its body.
*/
boolean beforeRenderBody()
{
Added: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/Unless.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/Unless.java?rev=612177&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/Unless.java (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/Unless.java Tue Jan 15 09:56:14 2008
@@ -0,0 +1,39 @@
+// Copyright 2008 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry.corelib.components;
+
+import org.apache.tapestry.annotations.Parameter;
+
+/**
+ * A close relative of the {@link org.apache.tapestry.corelib.components.If} component that inverts the meaning of its
+ * test. This is easier than an If component with the negate parameter set to true.
+ */
+public class Unless
+{
+ /**
+ * If true, then the body of the If component is rendered. If false, the body is omitted.
+ */
+ @Parameter(required = true)
+ private boolean _test;
+
+ /**
+ * Returns the inversion of it's test parameter. Therefore, when test is true, nothing is rendered. When test is
+ * false, the component (which is to say, the body of the component, as that's the point) is rendered.
+ */
+ boolean beginRender()
+ {
+ return !_test;
+ }
+}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java?rev=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/services/DataTypeAnalyzer.java Tue Jan 15 09:56:14 2008
@@ -19,19 +19,19 @@
import org.apache.tapestry.ioc.services.PropertyAdapter;
/**
- * Used by {@link BeanModelSource} to identify the type of data associated with a particular
- * property (represented as a {@link PropertyAdapter}). The data type is a string used to determine
- * what kind of interface to use for displaying the value of the property, or what kind of interface
- * to use for editing the value of the property. Common property types are "text", "enum",
- * "checkbox", but the list is extensible.
+ * Used by {@link BeanModelSource} to identify the type of data associated with a particular property (represented as a
+ * {@link PropertyAdapter}). The data type is a string used to determine what kind of interface to use for displaying
+ * the value of the property, or what kind of interface to use for editing the value of the property. Common property
+ * types are "text", "enum", "checkbox", but the list is extensible.
* <p/>
- * <p>Different strategies for identifying the data type are encapsulated in the DataTypeAnalyzer service, forming
- * a chain of command.
+ * <p>Different strategies for identifying the data type are encapsulated in the DataTypeAnalyzer service, forming a
+ * chain of command.
*
* @see Grid
* @see BeanEditForm
* @see BeanBlockSource
- * @see org.apache.tapestry.services.TapestryModule#contributeDataTypeAnalyzer(org.apache.tapestry.ioc.OrderedConfiguration, DataTypeAnalyzer)
+ * @see org.apache.tapestry.services.TapestryModule#contributeDataTypeAnalyzer(org.apache.tapestry.ioc.OrderedConfiguration,
+ * DataTypeAnalyzer)
*/
public interface DataTypeAnalyzer
{
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=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/site/apt/index.apt Tue Jan 15 09:56:14 2008
@@ -13,6 +13,11 @@
Progress on Tapestry 5 is really taking off. This space lists some cool new features that have been added
recently.
+ * Page instances are now cached more efficiently, with Tapestry attempting to control how many instances
+ are created, and culling unused instances periodically.
+
+ * New Unless component (like an If component, but inverted).
+
* Support for "password" and "longtext" data types (for use with the BeanEditor), and a new
{{{../apidocs/org/apache/tapestry/corelib/components/TextOutput.html}TextOutput}} component.
@@ -36,32 +41,7 @@
* 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
- {{{../tapestry-annotations/}tapestry-annotations}} module.
-
- * Validator constraint values may now be specified in the component message catalog, rather than in the @Validation annotation (or validate component parameter).
-
- * A new validator, regexp, has been added.
-
- * A Radio button component has been added.
-
- * A file upload form component has been added (in a new library: {{{../tapestry-upload/}tapestry-upload}}).
-
- * The BeanEditForm component can now create the object it edits.
-
- * Added the Palette component for sophisticated multiple-property selection and ordering.
-
- * New "asset:" binding prefix to allow asset files to be bound to parameters.
-
- * Template expansions are now allowed inside attributes.
-
- * Applications may optionally provide a global message catalog (which is searched when a page or component message catalog
- can not directly provide a localized message).
-
- * Explicit \<!DOCTYPE\> declarations inside page and component templates will now be forwarded through to the client
- web browser.
-
+
Changes from Tapestry 4 to Tapestry 5
@@ -71,10 +51,12 @@
to provide a stable, powerful, extensible platform for many years to come.
Here's a few of the planned and implemented features:
+
+ * Easy to get started using Maven.
- * Simplified, minimal API based on annotations
+ * Simplified, minimal API based on annotations.
- * <<No>> base class requirement; components are true, pure Pojos (Plain Old Java Objects)
+ * <<No>> base class requirement; components are true, pure Pojos (Plain Old Java Objects).
* Abstract classes ... gone! Classes are normal, concrete classes.
@@ -82,11 +64,11 @@
* Less configuration all around.
- * Automatic reloading of templates and even <Java classes>
+ * Automatic reloading of templates and even <Java classes>.
- * Super-duper Ajax integration built in (<that's still very much in progress>)
+ * Super-duper Ajax integration built in.
- * Easy & fast unit testing of individual pages or components
+ * Easy & fast unit testing of individual pages or components.
Adaptive API
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml?rev=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Start.tml Tue Jan 15 09:56:14 2008
@@ -3,70 +3,29 @@
<h1>Tapestry 5 Integration Application 1</h1>
-
- <ul xml:space="default">
- <li>
- <a t:type="PageLink" page="MerryChristmas">Count Page</a>
- </li>
- <li>
- <a t:type="PageLink" page="InjectDemo">Inject Demo</a>
- </li>
- <li>
- <a t:type="PageLink" page="Countdown">Countdown Page</a>
- </li>
- <li>
- <a t:type="PageLink" page="ParameterConflict">
- Template Overridden by Class Page
- </a>
- </li>
- <li>
- <a t:type="PageLink" page="EnvironmentalDemo">
- Environmental Annotation Usage
- </a>
- </li>
- <li>
- <a t:type="PageLink" page="expansion">Expansion Page</a>
+ <ul>
+ <li t:type="loop" source="items" value="item">
+ <t:pagelink page="prop:item.pageName">${item.label}</t:pagelink>
+ -- ${item.description}
</li>
+ </ul>
+
+ <h2>Special Pages</h2>
+
+ <p>These are often pages which can't load due to errors.</p>
+
+ <ul>
<li>
<a href="BadTemplate">BadTemplate Page</a>
-- More exception reporting
</li>
<li>
- <a t:type="PageLink" page="ActionPage">Action Page</a>
- -- tests fixture for ActionLink component
- </li>
- <li>
- <a t:type="PageLink" page="InstanceMixin">InstanceMixin</a>
- -- Mixin added to particular component instance
- </li>
- <li>
- <a t:type="PageLink" page="RenderPhaseOrder">
- RenderPhaseOrder
- </a>
- -- Order of operations when invoking render phase methods
- </li>
- <li>
- <a t:type="PageLink" page="SimpleForm">SimpleForm</a>
- -- first pass at writing Form and TextField components
- </li>
- <li>
- <a t:type="PageLink" page="NumberSelect">NumberSelect</a>
- -- passivate/activate page context demo
- </li>
- <li>
- <a t:type="PageLink" page="Localization">Localization</a>
- -- accessing localized messages from the component catalog
- </li>
- <li>
- <a t:type="PageLink" page="nested/AssetDemo">AssetDemo</a>
- -- declaring an using Assets
- </li>
- <li>
- <a t:type="PageLink" page="ExpansionSubclass">
- ExpansionSubclass
- </a>
- -- components can inherit templates from base classes
+ <t:pagelink page="eventhandlerdemo" context="'clear'">
+ EventHandler Demo
+ </t:pagelink>
+ -- Tests for event handling method order and matching
</li>
+
<li>
<a href="InjectContainerMismatch">
InjectContainerMismatch
@@ -76,247 +35,11 @@
</li>
<li>
- <a t:type="PageLink" page="ParameterDefault">
- ParameterDefault
- </a>
- -- defaulter methods for component parameters
- </li>
- <li>
- <a t:type="PageLink" page="ValidForm">ValidForm</a>
- -- server-side input validation
- </li>
- <li>
- <a t:type="PageLink" page="PasswordFieldDemo">
- PasswordFieldDemo
- </a>
- -- test for the PasswordField component
- </li>
- <li>
- <a t:type="PageLink" page="RenderComponentDemo">
- RenderComponentDemo
- </a>
- -- components that "nominate" other components to render
- </li>
- <li>
- <a t:type="PageLink" page="BlockDemo">BlockDemo</a>
- -- use of blocks to control rendering
- </li>
- <li>
- <a t:type="PageLink" page="ToDoListVolatile">
- ToDo List (Volatile)
- </a>
- -- Loops and Submit inside Form, volatile mode
- </li>
- <li>
- <t:pagelink page="MissingTemplate">
- Missing Template Demo
- </t:pagelink>
- -- Demo for what happens when a template is not found for a
- page
- </li>
-
- <li>
- <t:pagelink page="zonedemo">Zone Demo</t:pagelink>
- -- dynamic updates within a page
- </li>
-
- <li>
- <a t:type="PageLink" page="ToDoList">ToDo List</a>
- -- Loops and Submit inside Form using a primary key encoder
- </li>
- <li>
- <a t:type="PageLink" page="FlashDemo">FlashDemo</a>
- -- demonstrate "flash" persistence
- </li>
- <li>
- <a t:type="PageLink" page="beaneditordemo">
- BeanEditor Demo
- </a>
- -- demonstrate the BeanEditor mega-component
- </li>
- <li>
- <a t:type="PageLink" page="pageloadeddemo">
- PageLoaded Demo
- </a>
- -- shows that page lifecycle methods are invoked
- </li>
- <li>
- <a t:type="PageLink" page="griddemo">Grid Demo</a>
- -- default Grid component
- </li>
- <li>
- <a t:type="PageLink" page="nullgrid">Null Grid</a>
- -- handling of null source for Grid
- </li>
- <li>
- <a t:type="PageLink" page="gridsetdemo">Grid Set Demo</a>
- -- handling of Set sources for Grid
- </li>
- <li>
- <a t:type="PageLink" page="gridenumdemo">Grid Enum Demo</a>
- -- handling of enum types in the Grid
- </li>
- <li>
- <t:pageLink page="GridRemoveReorderDemo">
- Grid Remove/Reorder Demo
- </t:pageLink>
- -- handling of remove and reorder parameters
- </li>
- <li>
- <a t:type="PageLink" page="protected">Protected Page</a>
- -- Demonstrate result of non-void return from a page's
- activate method.
- </li>
- <li>
- <a t:type="PageLink" page="kicker">Kicker</a>
- -- demos complex page and component context in links
- </li>
- <li>
- <a t:type="PageLink" page="simpletrackgriddemo">
- SimpleTrack Grid Demo
- </a>
- -- customizing the model for a Grid around an interface
- </li>
- <li>
- <a t:type="PageLink" page="pagelinkcontext">
- PageLink Context Demo
- </a>
- -- passing explicit context in a page render link
- </li>
- <li>
- <a t:type="pagelink" page="ValidBeanEditorDemo">
- Client Validation Demo
- </a>
- --BeanEditor with validation enabled
- </li>
- <li>
<a href="recursivedemo">Recursive Demo</a>
-- check for handling of recursive components
</li>
- <li>
- <t:pagelink page="renderabledemo">
- Renderable Demo
- </t:pagelink>
- -- Shows that render phase methods can return a Renderable
- object
- </li>
- <li>
- <t:pagelink page="eventhandlerdemo" context="'clear'">
- EventHandler Demo
- </t:pagelink>
- -- Tests for event handling method order and matching
- </li>
- <li>
- <t:pagelink page="inheritedbindingsdemo">
- Inherited Bindings Demo
- </t:pagelink>
- -- Tests for components that inherit bindings from
- containing components
- </li>
- <li>
- <t:pagelink page="ClientPersistenceDemo">
- Client Persistence Demo
- </t:pagelink>
- -- component field values persisted on the client side
- </li>
- <li>
- <t:pagelink page="attributeExpansionsDemo">
- Attribute Expansions Demo
- </t:pagelink>
- -- use expansions inside attributes of ordinary elements
- </li>
- <li>
- <t:pagelink page="PaletteDemo">Palette Demo</t:pagelink>
- -- multiple selection component
- </li>
- <li>
- <t:pagelink page="ReturnTypes">Return Types</t:pagelink>
- -- Tests various event handler return types
- </li>
- <li>
- <t:pagelink page="FormEncodingType">
- Form Encoding Type
- </t:pagelink>
- -- Test ability to set an encoding type for a Form
- </li>
- <li>
- <t:pagelink page="RadioDemo">RadioDemo</t:pagelink>
- -- Use of the RadioGroup and Radio components.
- </li>
- <li>
- <t:pagelink page="RegexpDemo">Regexp Demo</t:pagelink>
- -- Use of the Regexp validator
- </li>
- <li>
- <t:pagelink page="BeanEditRemoveReorder">
- BeanEdit Remove/Reorder
- </t:pagelink>
- -- Use of the remove and reorder parameters with
- BeanEditForm
- </li>
- <li>
- <t:pagelink page="MultiBeanEditDemo">
- MultiBeanEdit Demo
- </t:pagelink>
- -- Multiple BeanEditor components in a single form
- </li>
- <li>
- <t:pagelink page="GridFormDemo">Grid Form Demo</t:pagelink>
- -- Grid operating inside a Form
- </li>
- <li>
- <t:pagelink page="DateFieldDemo">DateField Demo</t:pagelink>
- -- using DateField by itself on a page
- </li>
- <li>
- <t:pagelink page="BeanEditDateDemo">
- BeanEditor / Date Demo
- </t:pagelink>
- -- Use of date properties inside BeanEditor and BeanDisplay
- </li>
-
- <li>
- <t:pagelink page="eventmethodtranslate">EventMethod Translator</t:pagelink>
- -- Demo ability to provide toclient and parseclient event handler methods
- </li>
-
- <li>
- <t:pagelink page="autocompletedemo">Autocomplete Mixin Demo</t:pagelink>
- -- Demo the autocomplete mixin for text fields.
- </li>
-
- <li>
- <t:pagelink page="componentparameter">ComponentParameter Demo</t:pagelink>
- -- Demo using a component type as a parameter type and succesfuly passing
- a component
- </li>
-
- <li>
- <t:pagelink page="inheritinformalsdemo">Inherit Informal Parameters Demo</t:pagelink>
- -- Demo a component which inherits informal parameters from its container
- </li>
-
- <li>
- <t:pagelink page="disabledfields">Disabled Fields</t:pagelink>
- -- Demonstrate a bunch of disabled fields, to verify that the RenderDisabled mixin works
- and is being used properly
- </li>
-
- <li>
- <t:pagelink page="BeanEditorOverride">BeanEditor Override</t:pagelink>
- -- Property editor overrides work for the BeanEditor component itself (not just the BeanEditForm component)
- </li>
-
- <li>
- <t:pagelink page="varbindingdemo">Var Binding Demo</t:pagelink>
- -- use of the var: binding prefix
- </li>
-
- <li>
- <t:pagelink page="leangriddemo">Lean Grid Demo</t:pagelink>
- -- Grid component with lean parameter turned on, to eliminate CSS class attributes in TD and TH elements
- </li>
</ul>
-</html>
+</html>
+
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/UnlessDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/UnlessDemo.tml?rev=612177&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/UnlessDemo.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/UnlessDemo.tml Tue Jan 15 09:56:14 2008
@@ -0,0 +1,12 @@
+<html t:type="Border" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+ <p id="false">
+ <t:unless test="false">
+ false is rendered
+ </t:unless>
+ </p>
+
+ <p id="true">
+ <t:unless test="true">true is not rendered</t:unless>
+ </p>
+</html>
\ No newline at end of file
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java?rev=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java Tue Jan 15 09:56:14 2008
@@ -70,18 +70,6 @@
assertEquals(downloaded, actual);
}
- @Test
- public void basic_parameters() throws Exception
- {
-
- // OK ... could be a separate test, but for efficiency, we'll mix it in here.
- // It takes a while to start up Selenium RC (and a Firefox browser).
-
- start("Count Page");
-
- assertTextPresent("Merry Christmas: Ho! Ho! Ho! ");
- }
-
/**
* Tests the ability to inject a Block, and the ability to use the block to control rendering.
*/
@@ -1366,4 +1354,13 @@
// assertText("//th[1]/@class", "");
}
+ @Test
+ public void unless_compnent()
+ {
+ start("Unless Demo");
+
+ assertText("//p[@id='false']", "false is rendered");
+
+ assertText("//p[@id='true']", "");
+ }
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/Start.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/Start.java?rev=612177&r1=612176&r2=612177&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/Start.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/Start.java Tue Jan 15 09:56:14 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2008 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.
@@ -14,10 +14,206 @@
package org.apache.tapestry.integration.app1.pages;
+import org.apache.tapestry.ioc.internal.util.CollectionFactory;
+
+import java.util.Collections;
+import java.util.List;
+
/**
* Have to start somewhere!
*/
public class Start
{
- // Empty.
+ public static class Item implements Comparable<Item>
+ {
+ private final String _pageName;
+ private final String _label;
+ private final String _description;
+
+ public Item(String pageName, String label, String description)
+ {
+ _pageName = pageName;
+ _label = label;
+ _description = description;
+ }
+
+ public String getPageName()
+ {
+ return _pageName;
+ }
+
+ public String getLabel()
+ {
+ return _label;
+ }
+
+ public String getDescription()
+ {
+ return _description;
+ }
+
+ public int compareTo(Item o)
+ {
+ return _label.compareTo(o._label);
+ }
+ }
+
+ private static final List<Item> ITEMS = CollectionFactory.newList(
+ new Item("actionpage", "Action Page", "tests fixture for ActionLink component"),
+
+ new Item("nested/AssetDemo", "AssetDemo", "declaring an image using Assets"),
+
+ new Item("blockdemo", "BlockDemo", "use of blocks to control rendering"),
+
+ new Item("countdown", "Countdown Page", "defining component using @Component annotation"),
+
+ new Item("injectdemo", "Inject Demo", "use of various kinds of injection"),
+
+ new Item("instancemixin", "InstanceMixin", "mixin added to a particular component instance"),
+
+
+ new Item("EnvironmentalDemo", "Environmental Annotation Usage",
+ "Storing and retrieving Environmental values"),
+
+ new Item("Expansion", "Expansion Page", "Use of expansions in templates"),
+
+ new Item("ExpansionSubclass", "ExpansionSubclass", "components can inherit templates from base classes"),
+
+ new Item("Localization", "Localization", "access localized messages from the component catalog"),
+
+ new Item("NumberSelect", "NumberSelect", "passivate/activate page context demo"),
+
+ new Item("ParameterConflict", "Template Overridden by Class Page",
+ "Parameters in the class override those in the template"),
+
+ new Item("ParameterDefault", "ParameterDefault", "defaulter methods for component parameters"),
+
+ new Item("passwordfielddemo", "PasswordFieldDemo", "test for the PasswordField component"),
+
+ new Item("rendercomponentdemo", "RenderComponentDemo",
+ "components that \"nominate\" other components to render"),
+
+ new Item("renderphaseorder", "RenderPhaseOrder", "order of operations when invoking render phase methods"),
+
+ new Item("simpleform", "SimpleForm", "first pass at writing Form and TextField components"),
+
+ new Item("validform", "ValidForm", "server-side input validation"),
+
+ new Item("ToDoListVolatile", "ToDo List (Volatile)", "Loops and Submit inside Form, volatile mode"),
+
+ new Item("MissingTemplate", "Missing Template Demo",
+ "Demo for what happens when a template is not found for a page"),
+
+ new Item("zonedemo", "Zone Demo", "dynamic updates within a page"),
+
+ new Item("todolist", "ToDo List", "Loops and Submit inside Form using primary key encoder"),
+
+ new Item("flashdemo", "FlashDemo", "demonstrate 'flash' persistence"),
+
+ new Item("beaneditordemo", "BeanEditor Demo", "demonstrate the BeanEditor mega-component"),
+
+ new Item("pageloadeddemo", "PageLoaded Demo", "shows that page lifecycle methods are invoked"),
+
+ new Item("griddemo", "Grid Demo", "default Grid component"),
+
+ new Item("nullgrid", "Null Grid", "handling of null source for Grid"),
+
+ new Item("gridsetdemo", "Grid Set Demo", "handling of Set sources for Grid"),
+
+ new Item("gridenumdemo", "Grid Enum Demo", "handling of enum types in the Grid"),
+
+ new Item("GridRemoveReorderDemo", "Grid Remove/Reorder Demo", "handling of remove and reorder parameters"),
+
+ new Item("protected", "Protected Page",
+ "Demonstrate result of non-void return from a page's activate method"),
+
+ new Item("Kicker", "Kicker", "demos complex page and component context in links"),
+
+ new Item("simpletrackgriddemo", "SimpleTrack Grid Demo",
+ "customizing the model for a Grid around an interface"),
+
+ new Item("pagelinkcontext", "PageLink Context Demo", "passing explicit context in a page render link"),
+
+
+ new Item("ValidBeanEditorDemo", "Client Validation Demo", "BeanEditor with validation enabled"),
+
+
+ new Item("renderabledemo", "Renderable Demo", "shows that render phase methods can return a Renderable"),
+
+ new Item("inheritedbindingsdemo", "Inherited Bindings Demo",
+ "Tests for components that inherit bindings from containing components"),
+
+ new Item("ClientPersistenceDemo", "Client Persistence Demo",
+ "component field values persisted on the client side"),
+
+ new Item("attributeExpansionsDemo", "Attribute Expansions Demo",
+ "use expansions inside attributes of ordinary elements"),
+
+ new Item("PaletteDemo", "Palette Demo", "multiple selection component"),
+
+ new Item("ReturnTypes", "Return Types", "tests various event handler return types"),
+
+ new Item("FormEncodingType", "Form Encoding Type", "Test ability to set an encoding type for a Form"),
+
+ new Item("RadioDemo", "RadioDemo", "Use of the RadioGroup and Radio components"),
+
+ new Item("RegexpDemo", "Regexp Demo", "Use of the Regexp validator"),
+
+ new Item("BeanEditRemoveReorder", "BeanEdit Remove/Reorder",
+ "Use of the remove and reorder parameters with BeanEditForm"),
+
+ new Item("MultiBeanEditDemo", "MultiBeanEdit Demo", "Multiple BeanEditor components in a single form"),
+
+ new Item("GridFormDemo", "Grid Form Demo", "Grid operating inside a Form"),
+
+ new Item("DateFieldDemo", "DateField Demo", "using DateField by itself on a page"),
+
+ new Item("BeanEditDateDemo", "BeanEditor / Date Demo",
+ "Use of date properties inside BeanEditor and BeanDisplay"),
+
+ new Item("eventmethodtranslate", "EventMethod Translator",
+ "Demo ability to provide toclient and parseclient event handler methods"),
+
+ new Item("autocompletedemo", "Autocomplete Mixin Demo", "Demo the autocomplete mixin for text fields"),
+
+ new Item("componentparameter", "ComponentParameter Demo",
+ " Demo using a component type as a parameter type and succesfuly passing a component"),
+
+ new Item("inheritinformalsdemo", "Inherit Informal Parameters Demo",
+ "Demo a component which inherits informal parameters from its container"),
+
+ new Item("disabledfields", "Disabled Fields",
+ "Demonstrate a bunch of disabled fields, to verify that the RenderDisabled mixin works and is being used properly"),
+
+ new Item("BeanEditorOverride", "BeanEditor Override",
+ "Property editor overrides work for the BeanEditor component itself (not just the BeanEditForm component)"),
+
+ new Item("varbindingdemo", "Var Binding Demo", "use of the var: binding prefix"),
+
+ new Item("leangriddemo", "Lean Grid Demo",
+ "Grid component with lean parameter turned on, to eliminate CSS class attributes in TD and TH elements"),
+
+ new Item("unlessdemo", "Unless Demo", "use of the Unless component"));
+
+ static
+ {
+ Collections.sort(ITEMS);
+ }
+
+ private Item _item;
+
+ public List<Item> getItems()
+ {
+ return ITEMS;
+ }
+
+ public Item getItem()
+ {
+ return _item;
+ }
+
+ public void setItem(Item item)
+ {
+ _item = item;
+ }
}
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/UnlessDemo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/UnlessDemo.java?rev=612177&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/UnlessDemo.java (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/app1/pages/UnlessDemo.java Tue Jan 15 09:56:14 2008
@@ -0,0 +1,19 @@
+// Copyright 2008 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry.integration.app1.pages;
+
+public class UnlessDemo
+{
+}