Modified: tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/pom.xml?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/pom.xml (original) +++ tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/pom.xml Sat May 26 15:47:41 2007 @@ -70,30 +70,19 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>jdom</groupId> - <artifactId>jdom</artifactId> - <version>1.0</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> - <version>1.2.9</version> + <version>1.2.14</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> - <version>1.2.1</version> + <version>1.2.2</version> </dependency> <dependency> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> - <version>1.8.0.1</version> - </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-test</artifactId> - <scope>test</scope> + <version>1.8.0.7</version> </dependency> </dependencies> @@ -123,7 +112,7 @@ <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> - <version>6.1-SNAPSHOT</version> + <version>6.1.3</version> <configuration> <webAppSourceDirectory>src/context</webAppSourceDirectory> <webXml>src/context/WEB-INF/web.xml</webXml> @@ -152,7 +141,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> - <version>2.0.1-SNAPSHOT</version> + <version>2.0.2</version> <configuration> <warSourceDirectory>${basedir}/src/context</warSourceDirectory> </configuration>
Modified: tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html (original) +++ tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/context/WEB-INF/Border.html Sat May 26 15:47:41 2007 @@ -5,7 +5,6 @@ debugEnabled="false" > <link jwcid="@Relation" href="favicon.ico" type="image/gif" rel="shortcut icon" /> <link jwcid="@Relation" href="css/timetracker.css" media="all" /> - <body jwcid="@Body"> <div id="header" > Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/pom.xml?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-examples/Workbench/pom.xml (original) +++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/pom.xml Sat May 26 15:47:41 2007 @@ -40,11 +40,6 @@ <version>2.4</version> <scope>provided</scope> </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-test</artifactId> - <scope>test</scope> - </dependency> </dependencies> <build> @@ -69,7 +64,7 @@ <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> - <version>6.1-SNAPSHOT</version> + <version>6.1.3</version> <configuration> <webAppSourceDirectory>${basedir}/src/context</webAppSourceDirectory> <contextPath>/</contextPath> @@ -96,7 +91,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> - <version>2.0.1-SNAPSHOT</version> + <version>2.0.2</version> <configuration> <warSourceDirectory>${basedir}/src/context</warSourceDirectory> </configuration> Modified: tapestry/tapestry4/trunk/tapestry-framework/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/pom.xml?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/pom.xml (original) +++ tapestry/tapestry4/trunk/tapestry-framework/pom.xml Sat May 26 15:47:41 2007 @@ -154,11 +154,11 @@ </excludes> </resource> <resource> - <directory>src/js/dojo-0.4.2</directory> + <directory>src/js/dojo-0.4.3/</directory> <includes> <include>**/*</include> </includes> - <targetPath>dojo-0.4.2</targetPath> + <targetPath>dojo-0.4.3</targetPath> </resource> <resource> <directory>src/js/tapestry</directory> Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/AbstractPage.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/AbstractPage.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/AbstractPage.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/AbstractPage.java Sat May 26 15:47:41 2007 @@ -90,6 +90,18 @@ private String _outputEncoding; /** + * Used to dynamically include script content automatically for form specific includes. + * @since 4.1.2 + */ + private boolean _hasForms; + + /** + * Dynamically causes widget dojo layer to be included if set to true. + * @since 4.1.2. + */ + private boolean _hasWidgets; + + /** * Standard constructor. Does nothing. * * @since 2.2 @@ -515,5 +527,25 @@ _outputEncoding = getEngine().getOutputEncoding(); return _outputEncoding; + } + + public boolean hasFormComponents() + { + return _hasForms; + } + + public void setHasFormComponents(boolean value) + { + _hasForms = value; + } + + public boolean hasWidgets() + { + return _hasWidgets; + } + + public void setHasWidgets(boolean value) + { + _hasWidgets = value; } } Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/IPage.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/IPage.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/IPage.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/IPage.java Sat May 26 15:47:41 2007 @@ -14,19 +14,14 @@ package org.apache.tapestry; -import java.util.Locale; - import org.apache.hivemind.ApplicationRuntimeException; -import org.apache.tapestry.event.ChangeObserver; -import org.apache.tapestry.event.PageAttachListener; -import org.apache.tapestry.event.PageBeginRenderListener; -import org.apache.tapestry.event.PageDetachListener; -import org.apache.tapestry.event.PageEndRenderListener; -import org.apache.tapestry.event.PageValidateListener; +import org.apache.tapestry.event.*; import org.apache.tapestry.record.PropertyChangeObserver; import org.apache.tapestry.services.ResponseBuilder; import org.apache.tapestry.util.ContentType; +import java.util.Locale; + /** * A root level component responsible for generating an entire a page within the application. * <p> @@ -210,6 +205,34 @@ */ IRequestCycle getRequestCycle(); + + /** + * Whether or not this page contains [EMAIL PROTECTED] IForm} instances. + * + * @return True if page contains forms, false otherwise. + */ + boolean hasFormComponents(); + + /** + * Sets whether or not page has forms. + * + * @param value Indicator of containing forms. + */ + void setHasFormComponents(boolean value); + + /** + * Whether or not this page contains [EMAIL PROTECTED] org.apache.tapestry.dojo.IWidget} instances. + * + * @return True if page contains widgets, false otherwise. + */ + boolean hasWidgets(); + + /** + * Sets whether or not page has widgets. + * + * @param value Indicator of containing widgets. + */ + void setHasWidgets(boolean value); /** @since 4.0 */ void addPageBeginRenderListener(PageBeginRenderListener listener); Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AbstractWidget.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AbstractWidget.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AbstractWidget.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AbstractWidget.java Sat May 26 15:47:41 2007 @@ -42,7 +42,7 @@ public void renderComponent(IMarkupWriter writer, IRequestCycle cycle) { if(!cycle.isRewinding()) { - + if (!cycle.getResponseBuilder().isDynamic() || cycle.getResponseBuilder().explicitlyContains(this)) { Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java Sat May 26 15:47:41 2007 @@ -14,10 +14,7 @@ package org.apache.tapestry.dojo; import org.apache.hivemind.util.Defense; -import org.apache.tapestry.IAsset; -import org.apache.tapestry.IMarkupWriter; -import org.apache.tapestry.IRender; -import org.apache.tapestry.IRequestCycle; +import org.apache.tapestry.*; import org.apache.tapestry.html.Shell; import org.apache.tapestry.json.JSONObject; @@ -44,7 +41,11 @@ public static final String BROWSER_LOG_CRITICAL="CRITICAL"; private IAsset _dojoSource; - + + private IAsset _dojoFormSource; + + private IAsset _dojoWidgetSource; + private IAsset _dojoPath; private IAsset _tapestrySource; @@ -84,11 +85,17 @@ dojoConfig.put("debugAtAllCosts", _debugAtAllCosts); if (_debugContainerId != null) dojoConfig.put("debugContainerId", _debugContainerId); - + + IPage page = cycle.getPage(); + // The key to resolving everything out of the asset service dojoConfig.put("baseRelativePath", _dojoPath.buildURL()); - dojoConfig.put("preventBackButtonFix", _preventBackButtonFix); + + if (page.hasFormComponents()) { + + dojoConfig.put("preventBackButtonFix", false); + } dojoConfig.put("parseWidgets", _parseWidgets); // Supports setting up locale in dojo environment to match the requested page locale. @@ -112,6 +119,18 @@ str.append("<script type=\"text/javascript\" src=\"") .append(_dojoSource.buildURL()).append("\"></script>"); + if (page.hasFormComponents()) { + + str.append("<script type=\"text/javascript\" src=\"") + .append(_dojoFormSource.buildURL()).append("\"></script>"); + } + + if (page.hasWidgets()) { + + str.append("<script type=\"text/javascript\" src=\"") + .append(_dojoWidgetSource.buildURL()).append("\"></script>"); + } + // configure basic dojo properties , logging includes if (_debug) { @@ -265,7 +284,17 @@ { _dojoSource = dojoSource; } - + + public void setDojoFormSource(IAsset formSource) + { + _dojoFormSource = formSource; + } + + public void setDojoWidgetSource(IAsset widgetSource) + { + _dojoWidgetSource = widgetSource; + } + /** * Sets the dojo baseRelativePath value. * @param dojoPath Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/ScriptIncludes.jwc URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/ScriptIncludes.jwc?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/ScriptIncludes.jwc (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/ScriptIncludes.jwc Sat May 26 15:47:41 2007 @@ -91,6 +91,18 @@ </description> </parameter> + <parameter name="dojoFormSource" default-value="asset:defaultDojoFormSource"> + <description> + If specified, allows for the default dojo source included to be overriden. + </description> + </parameter> + + <parameter name="dojoWidgetSource" default-value="asset:defaultDojoWidgetSource"> + <description> + If specified, allows for the default dojo source included to be overriden. + </description> + </parameter> + <parameter name="dojoPath" default-value="asset:defaultDojoPath"> <description> Specifies the default path to the root dojo folder, not the dojo.js file itself. This is @@ -100,6 +112,8 @@ <bean name="coreAjaxDelegate" class="org.apache.tapestry.dojo.AjaxShellDelegate"> <set name="dojoSource" value="dojoSource" /> + <set name="dojoFormSource" value="dojoFormSource" /> + <set name="dojoWidgetSource" value="dojoWidgetSource" /> <set name="dojoPath" value="dojoPath" /> <set name="tapestrySource" value="tapestrySource" /> <set name="tapestryPath" value="tapestryPath" /> @@ -112,8 +126,10 @@ <set name="parseWidgets" value="parseWidgets" /> </bean> - <asset name="defaultDojoSource" path="classpath:/dojo-0.4.2/dojo.js" /> - <asset name="defaultDojoPath" path="classpath:/dojo-0.4.2/" /> + <asset name="defaultDojoSource" path="classpath:/dojo-0.4.3/dojo.js" /> + <asset name="defaultDojoFormSource" path="classpath:/dojo-0.4.3/dojo2.js" /> + <asset name="defaultDojoWidgetSource" path="classpath:/dojo-0.4.3/dojo3.js" /> + <asset name="defaultDojoPath" path="classpath:/dojo-0.4.3/" /> <asset name="defaultTapestrySource" path="classpath:/tapestry/core.js" /> <asset name="defaultTapestryPath" path="classpath:/tapestry/" /> Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java Sat May 26 15:47:41 2007 @@ -16,16 +16,7 @@ import org.apache.hivemind.ApplicationRuntimeException; import org.apache.hivemind.Location; -import org.apache.tapestry.AbstractComponent; -import org.apache.tapestry.IActionListener; -import org.apache.tapestry.IComponent; -import org.apache.tapestry.IForm; -import org.apache.tapestry.IMarkupWriter; -import org.apache.tapestry.IRender; -import org.apache.tapestry.IRequestCycle; -import org.apache.tapestry.RenderRewoundException; -import org.apache.tapestry.Tapestry; -import org.apache.tapestry.TapestryUtils; +import org.apache.tapestry.*; import org.apache.tapestry.engine.DirectServiceParameter; import org.apache.tapestry.engine.IEngineService; import org.apache.tapestry.engine.ILink; Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.jwc Sat May 26 15:47:41 2007 @@ -116,6 +116,8 @@ <reserved-parameter name="enctype" /> <reserved-parameter name="id" /> + <asset name="clientValidationScript" path="classpath:/dojo-0.4.3/dojo3.js" /> + <inject property="directService" object="engine-service:direct" /> <inject property="response" object="infrastructure:response" /> <inject property="listenerInvoker" object="infrastructure:listenerInvoker" /> Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java Sat May 26 15:47:41 2007 @@ -551,7 +551,19 @@ // register the validation profile with client side form manager if (_form.isClientValidationEnabled()) - { + { + IPage page = _form.getPage(); + + // only include dojo widget layer if it's not already been included + + if (!page.hasWidgets()) { + IAsset clientScript = _form.getAsset("clientValidationScript"); + if (clientScript != null){ + + _pageRenderSupport.addExternalScript(_form, clientScript.getResourceLocation()); + } + } + _pageRenderSupport.addInitializationScript(_form, "dojo.require(\"tapestry.form\");tapestry.form.clearProfiles('" + formId + "'); tapestry.form.registerProfile('" + formId + "'," + _profile.toString() + ");"); Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.java Sat May 26 15:47:41 2007 @@ -117,6 +117,10 @@ writeStylesheetLink(writer, cycle, stylesheet); } + + // flush out whatever we have before buffering body + + writer.flush(); } // Render the body, the actual page content Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/html/Shell.jwc Sat May 26 15:47:41 2007 @@ -158,6 +158,18 @@ </description> </parameter> + <parameter name="dojoFormSource" default-value="asset:defaultDojoFormSource"> + <description> + If specified, allows for the default dojo source included to be overriden. + </description> + </parameter> + + <parameter name="dojoWidgetSource" default-value="asset:defaultDojoWidgetSource"> + <description> + If specified, allows for the default dojo source included to be overriden. + </description> + </parameter> + <parameter name="dojoPath" default-value="asset:defaultDojoPath"> <description> Specifies the default path to the root dojo folder, not the dojo.js file itself. This is @@ -172,6 +184,8 @@ <bean name="coreAjaxDelegate" class="org.apache.tapestry.dojo.AjaxShellDelegate"> <set name="dojoSource" value="dojoSource" /> + <set name="dojoFormSource" value="dojoFormSource" /> + <set name="dojoWidgetSource" value="dojoWidgetSource" /> <set name="dojoPath" value="dojoPath" /> <set name="tapestrySource" value="tapestrySource" /> <set name="tapestryPath" value="tapestryPath" /> @@ -184,8 +198,11 @@ <set name="parseWidgets" value="parseWidgets" /> </bean> - <asset name="defaultDojoSource" path="classpath:/dojo-0.4.2/dojo.js" /> - <asset name="defaultDojoPath" path="classpath:/dojo-0.4.2/" /> + <asset name="defaultDojoSource" path="classpath:/dojo-0.4.3/dojo.js" /> + <asset name="defaultDojoFormSource" path="classpath:/dojo-0.4.3/dojo2.js" /> + <asset name="defaultDojoWidgetSource" path="classpath:/dojo-0.4.3/dojo3.js" /> + + <asset name="defaultDojoPath" path="classpath:/dojo-0.4.3/" /> <asset name="defaultTapestrySource" path="classpath:/tapestry/core.js" /> <asset name="defaultTapestryPath" path="classpath:/tapestry/" /> Added: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java?view=auto&rev=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java (added) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java Sat May 26 15:47:41 2007 @@ -0,0 +1,34 @@ +package org.apache.tapestry.pageload; + +import org.apache.tapestry.IComponent; +import org.apache.tapestry.IForm; +import org.apache.tapestry.IPage; +import org.apache.tapestry.dojo.IWidget; + +/** + * Looks for components of type [EMAIL PROTECTED] org.apache.tapestry.IForm} and [EMAIL PROTECTED] org.apache.tapestry.dojo.IWidget} so + * that the appropriate javascript includes can be made on an as needed basis by [EMAIL PROTECTED] org.apache.tapestry.dojo.AjaxShellDelegate}. + */ +public class ComponentTypeVisitor implements IComponentVisitor { + + IPage _page; + + public void visitComponent(IComponent component) + { + if (IPage.class.isInstance(component)) { + + _page = (IPage) component; + return; + } + + if (IForm.class.isInstance(component) && _page != null) { + + _page.setHasFormComponents(true); + } + + if (IWidget.class.isInstance(component) && _page != null) { + + _page.setHasWidgets(true); + } + } +} Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/ComponentTypeVisitor.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/PageLoader.java URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/PageLoader.java?view=diff&rev=541946&r1=541945&r2=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/PageLoader.java (original) +++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pageload/PageLoader.java Sat May 26 15:47:41 2007 @@ -160,8 +160,10 @@ _establishDefaultParameterValuesWalker = new ComponentTreeWalker( new IComponentVisitor[] { _establishDefaultParameterValuesVisitor }); + IComponentVisitor componentTypeVisitor = new ComponentTypeVisitor(); + _eventConnectionWalker = - new ComponentTreeWalker( new IComponentVisitor[] { _eventConnectionVisitor }); + new ComponentTreeWalker( new IComponentVisitor[] { _eventConnectionVisitor, componentTypeVisitor }); } /** Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/DojoFileStorageProvider.jar URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/DojoFileStorageProvider.jar?view=auto&rev=541946 ============================================================================== Binary file - no diff available. Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/DojoFileStorageProvider.jar ------------------------------------------------------------------------------ svn:mime-type = application/java-archive Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/LICENSE URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/LICENSE?view=auto&rev=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/LICENSE (added) +++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/LICENSE Sat May 26 15:47:41 2007 @@ -0,0 +1,195 @@ +Dojo is availble under *either* the terms of the modified BSD license *or* the +Academic Free License version 2.1. As a recipient of Dojo, you may choose which +license to receive this code under (except as noted in per-module LICENSE +files). Some modules may not be the copyright of the Dojo Foundation. These +modules contain explicit declarations of copyright in both the LICENSE files in +the directories in which they reside and in the code itself. No external +contributions are allowed under licenses which are fundamentally incompatible +with the AFL or BSD licenses that Dojo is distributed under. + +The text of the AFL and BSD licenses is reproduced below. + +------------------------------------------------------------------------------- +The "New" BSD License: +********************** + +Copyright (c) 2005-2006, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------- +The Academic Free License, v. 2.1: +********************************** + +This Academic Free License (the "License") applies to any original work of +authorship (the "Original Work") whose owner (the "Licensor") has placed the +following notice immediately following the copyright notice for the Original +Work: + +Licensed under the Academic Free License version 2.1 + +1) Grant of Copyright License. Licensor hereby grants You a world-wide, +royalty-free, non-exclusive, perpetual, sublicenseable license to do the +following: + +a) to reproduce the Original Work in copies; + +b) to prepare derivative works ("Derivative Works") based upon the Original +Work; + +c) to distribute copies of the Original Work and Derivative Works to the +public; + +d) to perform the Original Work publicly; and + +e) to display the Original Work publicly. + +2) Grant of Patent License. Licensor hereby grants You a world-wide, +royalty-free, non-exclusive, perpetual, sublicenseable license, under patent +claims owned or controlled by the Licensor that are embodied in the Original +Work as furnished by the Licensor, to make, use, sell and offer for sale the +Original Work and Derivative Works. + +3) Grant of Source Code License. The term "Source Code" means the preferred +form of the Original Work for making modifications to it and all available +documentation describing how to modify the Original Work. Licensor hereby +agrees to provide a machine-readable copy of the Source Code of the Original +Work along with each copy of the Original Work that Licensor distributes. +Licensor reserves the right to satisfy this obligation by placing a +machine-readable copy of the Source Code in an information repository +reasonably calculated to permit inexpensive and convenient access by You for as +long as Licensor continues to distribute the Original Work, and by publishing +the address of that information repository in a notice immediately following +the copyright notice that applies to the Original Work. + +4) Exclusions From License Grant. Neither the names of Licensor, nor the names +of any contributors to the Original Work, nor any of their trademarks or +service marks, may be used to endorse or promote products derived from this +Original Work without express prior written permission of the Licensor. Nothing +in this License shall be deemed to grant any rights to trademarks, copyrights, +patents, trade secrets or any other intellectual property of Licensor except as +expressly stated herein. No patent license is granted to make, use, sell or +offer to sell embodiments of any patent claims other than the licensed claims +defined in Section 2. No right is granted to the trademarks of Licensor even if +such marks are included in the Original Work. Nothing in this License shall be +interpreted to prohibit Licensor from licensing under different terms from this +License any Original Work that Licensor otherwise would have a right to +license. + +5) This section intentionally omitted. + +6) Attribution Rights. You must retain, in the Source Code of any Derivative +Works that You create, all copyright, patent or trademark notices from the +Source Code of the Original Work, as well as any notices of licensing and any +descriptive text identified therein as an "Attribution Notice." You must cause +the Source Code for any Derivative Works that You create to carry a prominent +Attribution Notice reasonably calculated to inform recipients that You have +modified the Original Work. + +7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that +the copyright in and to the Original Work and the patent rights granted herein +by Licensor are owned by the Licensor or are sublicensed to You under the terms +of this License with the permission of the contributor(s) of those copyrights +and patent rights. Except as expressly stated in the immediately proceeding +sentence, the Original Work is provided under this License on an "AS IS" BASIS +and WITHOUT WARRANTY, either express or implied, including, without limitation, +the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. +This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No +license to Original Work is granted hereunder except under this disclaimer. + +8) Limitation of Liability. Under no circumstances and under no legal theory, +whether in tort (including negligence), contract, or otherwise, shall the +Licensor be liable to any person for any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License +or the use of the Original Work including, without limitation, damages for loss +of goodwill, work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses. This limitation of liability shall not +apply to liability for death or personal injury resulting from Licensor's +negligence to the extent applicable law prohibits such limitation. Some +jurisdictions do not allow the exclusion or limitation of incidental or +consequential damages, so this exclusion and limitation may not apply to You. + +9) Acceptance and Termination. If You distribute copies of the Original Work or +a Derivative Work, You must make a reasonable effort under the circumstances to +obtain the express assent of recipients to the terms of this License. Nothing +else but this License (or another written agreement between Licensor and You) +grants You permission to create Derivative Works based upon the Original Work +or to exercise any of the rights granted in Section 1 herein, and any attempt +to do so except under the terms of this License (or another written agreement +between Licensor and You) is expressly prohibited by U.S. copyright law, the +equivalent laws of other countries, and by international treaty. Therefore, by +exercising any of the rights granted to You in Section 1 herein, You indicate +Your acceptance of this License and all of its terms and conditions. + +10) Termination for Patent Action. This License shall terminate automatically +and You may no longer exercise any of the rights granted to You by this License +as of the date You commence an action, including a cross-claim or counterclaim, +against Licensor or any licensee alleging that the Original Work infringes a +patent. This termination provision shall not apply for an action alleging +patent infringement by combinations of the Original Work with other software or +hardware. + +11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this +License may be brought only in the courts of a jurisdiction wherein the +Licensor resides or in which Licensor conducts its primary business, and under +the laws of that jurisdiction excluding its conflict-of-law provisions. The +application of the United Nations Convention on Contracts for the International +Sale of Goods is expressly excluded. Any use of the Original Work outside the +scope of this License or after its termination shall be subject to the +requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ç 101 et +seq., the equivalent laws of other countries, and international treaty. This +section shall survive the termination of this License. + +12) Attorneys Fees. In any action to enforce the terms of this License or +seeking damages relating thereto, the prevailing party shall be entitled to +recover its costs and expenses, including, without limitation, reasonable +attorneys' fees and costs incurred in connection with such action, including +any appeal of such action. This section shall survive the termination of this +License. + +13) Miscellaneous. This License represents the complete agreement concerning +the subject matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent necessary to +make it enforceable. + +14) Definition of "You" in This License. "You" throughout this License, whether +in upper or lower case, means an individual or a legal entity exercising rights +under, and complying with all of the terms of, this License. For legal +entities, "You" includes any entity that controls, is controlled by, or is +under common control with you. For purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or management of such +entity, whether by contract or otherwise, or (ii) ownership of fifty percent +(50%) or more of the outstanding shares, or (iii) beneficial ownership of such +entity. + +15) Right to Use. You may use the Original Work in all ways not otherwise +restricted or conditioned by this License or by law, and Licensor promises not +to interfere with or be responsible for such uses by You. + +This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. +Permission is hereby granted to copy and distribute this license without +modification. This license may not be modified without the express written +permission of its copyright owner. Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/LICENSE ------------------------------------------------------------------------------ svn:eol-style = native Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/README URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/README?view=auto&rev=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/README (added) +++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/README Sat May 26 15:47:41 2007 @@ -0,0 +1,176 @@ +The Dojo Toolkit +---------------- + +Dojo is a portable JavaScript toolkit for web application developers and +JavaScript professionals. Dojo solves real-world problems by providing powerful +abstractions and solid, tested implementations. + +Getting Started +--------------- + +To use Dojo in your application, download one of the pre-built editions from the +Dojo website, http://dojotoolkit.org. Once you have downloaded the file you will +need to unzip the archive in your website root. At a minimum, you will need to +extract: + + src/ (folder) + dojo.js + iframe_history.html + +To begin using dojo, include dojo in your pages by using: + + <script type="text/javascript" src="/path/to/dojo.js"></script> + +Depending on the edition that you have downloaded, this base dojo.js file may or +may not include the modules you wish to use in your application. The files which +have been "baked in" to the dojo.js that is part of your distribution are listed +in the file build.txt that is part of the top-level directory that is created +when you unpack the archive. To ensure modules you wish to use are available, +use dojo.require() to request them. A very rich application might include: + + <script type="text/javascript" src="/path/to/dojo.js"></script> + <script type="text/javascript"> + dojo.require("dojo.event.*"); // sophisticated AOP event handling + dojo.require("dojo.io.*"); // for Ajax requests + dojo.require("dojo.storage.*"); // a persistent local data cache + dojo.require("dojo.json"); // serialization to JSON + dojo.require("dojo.dnd.*"); // drag-and-drop + dojo.require("dojo.lfx.*"); // animations and eye candy + dojo.require("dojo.widget.Editor2");// stable, portable HTML WYSIWYG + </script> + +Note that only those modules which are *not* already "baked in" to dojo.js by +the edition's build process are requested by dojo.require(). This helps make +your application faster without forcing you to use a build tool while in +development. See "Building Dojo" and "Working From Source" for more details. + + +Compatibility +------------- + +In addition to it's suite of unit-tests for core system components, Dojo has +been tested on almost every modern browser, including: + + - IE 5.5+ + - Mozilla 1.5+, Firefox 1.0+ + - Safari 1.3.9+ + - Konqueror 3.4+ + - Opera 8.5+ + +Note that some widgets and features may not perform exactly the same on every +browser due to browser implementation differences. + +For those looking to use Dojo in non-browser environments, please see "Working +From Source". + + +Documentation and Getting Help +------------------------------ + +Articles outlining major Dojo systems are linked from: + + http://dojotoolkit.org/docs/ + +Toolkit APIs are listed in outline form at: + + http://dojotoolkit.org/docs/apis/ + +And documented in full at: + + http://manual.dojotoolkit.org/ + +The project also maintains a JotSpot Wiki at: + + http://dojo.jot.com/ + +A FAQ has been extracted from mailing list traffic: + + http://dojo.jot.com/FAQ + +And the main Dojo user mailing list is archived and made searchable at: + + http://news.gmane.org/gmane.comp.web.dojo.user/ + +You can sign up for this list, which is a great place to ask questions, at: + + http://dojotoolkit.org/mailman/listinfo/dojo-interest + +The Dojo developers also tend to hang out in IRC and help people with Dojo +problems. You're most likely to find them at: + + irc.freenode.net #dojo + +Note that 3PM Wed PST in #dojo-meeting is reserved for a weekly meeting between +project developers, although anyone is welcome to participate. + + +Working From Source +------------------- + +The core of Dojo is a powerful package system that allows developers to optimize +Dojo for deployment while using *exactly the same* application code in +development. Therefore, working from source is almost exactly like working from +a pre-built edition. Pre-built editions are significantly faster to load than +working from source, but are not as flexible when in development. + +There are multiple ways to get the source. Nightly snapshots of the Dojo source +repository are available at: + + http://archive.dojotoolkit.org/nightly.tgz + +Anonymous Subversion access is also available: + + %> svn co http://svn.dojotoolkit.org/dojo/trunk/ dojo + +Each of these sources will include some extra directories not included in the +pre-packaged editions, including command-line tests and build tools for +constructing your own packages. + +Running the command-line unit test suite requires Ant 1.6. If it is installed +and in your path, you can run the tests using: + + %> cd buildscripts + %> ant test + +The command-line test harness makes use of Rhino, a JavaScript interpreter +written in Java. Once you have a copy of Dojo's source tree, you have a copy of +Rhino. From the root directory, you can use Rhino interactively to load Dojo: + + %> java -jar buildscripts/lib/js.jar + Rhino 1.5 release 3 2002 01 27 + js> load("dojo.js"); + js> print(dojo); + [object Object] + js> quit(); + +This environment is wonderful for testing raw JavaScript functionality in, or +even for scripting your system. Since Rhino has full access to anything in +Java's classpath, the sky is the limit! + +Building Dojo +------------- + +Dojo requires Ant 1.6.x in order to build correctly. While using Dojo from +source does *NOT* require that you make a build, speeding up your application by +constructing a custom profile build does. + +Once you have Ant and a source snapshot of Dojo, you can make your own profile +build ("edition") which includes only those modules your application uses by +customizing one of the files in: + + [dojo]/buildscripts/profiles/ + +These files are named *.profile.js and each one contains a list of modules to +include in a build. If we created a new profile called "test.profile.js", we +could then make a profile build using it by doing: + + %> cd buildscripts + %> ant -Dprofile=test -Ddocless=true release intern-strings + +If the build is successful, your newly minted and compressed profile build will +be placed in [dojo]/release/dojo/ + +------------------------------------------------------------------------------- +Copyright (c) 2004-2006, The Dojo Foundation, All Rights Reserved + +vim:ts=4:et:tw=80:shiftwidth=4: Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/README ------------------------------------------------------------------------------ svn:eol-style = native Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version6.swf URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version6.swf?view=auto&rev=541946 ============================================================================== Binary file - no diff available. Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version6.swf ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version8.swf URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version8.swf?view=auto&rev=541946 ============================================================================== Binary file - no diff available. Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/Storage_version8.swf ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt?view=auto&rev=541946 ============================================================================== --- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt (added) +++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt Sat May 26 15:47:41 2007 @@ -0,0 +1,77 @@ +Files baked into this build: + +dojo.js: +dojoGuardStart.js +../src/bootstrap1.js +../src/loader.js +dojoGuardEnd.js +../src/hostenv_browser.js +../src/lang/common.js +../src/lang/array.js +../src/lang/extras.js +../src/lang/func.js +../src/event/common.js +../src/event/browser.js +../src/string/common.js +../src/string.js +../src/io/common.js +../src/string/extras.js +../src/dom.js +../src/undo/browser.js +../src/io/BrowserIO.js +../src/io/cookie.js +../src/lang/declare.js +../src/html/common.js +../src/uri/Uri.js +../src/html/style.js +../src/html/__package__.js +../src/html/display.js +../src/ns.js +../src/event/topic.js +../src/event/__package__.js +../src/widget/Manager.js +../src/i18n/common.js +../src/tlocale.js + +dojo2.js: +../src/experimental.js +../src/regexp.js +../src/i18n/number.js +../src/validate/common.js +../src/validate/check.js +../src/date/common.js +../src/date/supplemental.js +../src/date/format.js +../src/date/serialize.js +../src/validate/datetime.js +../src/validate/web.js +../src/validate/creditCard.js +../src/validate/us.js + +dojo3.js: +../src/namespaces/dojo.js +../src/xml/Parse.js +../src/widget/Widget.js +../src/widget/Parse.js +../src/uri/__package__.js +../src/widget/DomWidget.js +../src/html/layout.js +../src/html/util.js +../src/gfx/color.js +../src/lfx/Animation.js +../src/html/color.js +../src/lfx/html.js +../src/lfx/__package__.js +../src/lfx/toggle.js +../src/widget/HtmlWidget.js +../src/widget/__package__.js +../src/io/__package__.js +../src/widget/ContentPane.js +../src/html/selection.js +../src/html/iframe.js +../src/widget/PopupContainer.js +../src/widget/DropdownContainer.js +../src/widget/html/stabile.js +../src/widget/Dialog.js +../src/widget/ComboBox.js +../src/widget/Select.js Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/build.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain
