svn commit: r387974 - in /struts/site/trunk/xdocs: announce.xml download.xml downloads.xml index.xml navigation.xml
Author: niallp Date: Wed Mar 22 15:46:41 2006 New Revision: 387974 URL: http://svn.apache.org/viewcvs?rev=387974&view=rev Log: Update Struts site for 1.2.9 Modified: struts/site/trunk/xdocs/announce.xml struts/site/trunk/xdocs/download.xml struts/site/trunk/xdocs/downloads.xml struts/site/trunk/xdocs/index.xml struts/site/trunk/xdocs/navigation.xml Modified: struts/site/trunk/xdocs/announce.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/announce.xml?rev=387974&r1=387973&r2=387974&view=diff == --- struts/site/trunk/xdocs/announce.xml (original) +++ struts/site/trunk/xdocs/announce.xml Wed Mar 22 15:46:41 2006 @@ -26,6 +26,34 @@ +22 March 2006 - Struts 1.2.9 (General +Availability) + +The Struts team is pleased to announce the release of Struts +1.2.9 for General Availability. +This release is primarily to fix three security issues which have +been identified and supersedes the earlier 1.2.8 version as +the latest official release of Struts from The Apache Software +Foundation. + + +For more information on the security issues and solutions +please see the +http://struts.apache.org/struts-doc-1.2.9/userGuide/release-notes.html";> +Release Notes +and the +http://wiki.apache.org/struts/StrutsUpgrade";> +Upgrade Notes + + +The binary, source and library distributions are available +from the Struts +download page: +http://struts.apache.org/download.cgi";> +http://struts.apache.org/download.cgi + + + 25 Jan 2006 - Struts Scripting 1.0.1 Released Modified: struts/site/trunk/xdocs/download.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/download.xml?rev=387974&r1=387973&r2=387974&view=diff == --- struts/site/trunk/xdocs/download.xml (original) +++ struts/site/trunk/xdocs/download.xml Wed Mar 22 15:46:41 2006 @@ -95,11 +95,11 @@ - - + + -Struts 1.2.8 is the latest production release of Struts +Struts 1.2.9 is the latest production release of Struts Classic. It is available in a binary distribution, a source distribution, @@ -111,26 +111,26 @@ Binaries: - -struts-1.2.8-bin.zip + +struts-1.2.9-bin.zip [ -http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.asc";> +http://www.apache.org/dist/struts/binaries/struts-1.2.9-bin.zip.asc";> PGP ] [ -http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.md5";> +http://www.apache.org/dist/struts/binaries/struts-1.2.9-bin.zip.md5";> MD5 ] - -struts-1.2.8-bin.tar.gz + +struts-1.2.9-bin.tar.gz [ -http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.asc";> +http://www.apache.org/dist/struts/binaries/struts-1.2.9-bin.tar.gz.asc";> PGP ] [ -http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.md5";> +http://www.apache.org/dist/struts/binaries/struts-1.2.9-bin.tar.gz.md5";> MD5 ] @@ -140,26 +140,26 @@ Source: - -
svn commit: r385929 - in /struts/shale/trunk: clay-plugin/src/java/org/apache/shale/clay/parser/ core-library/src/java/org/apache/shale/remoting/ core-library/src/java/org/apache/shale/view/faces/
Author: niallp Date: Tue Mar 14 15:27:26 2006 New Revision: 385929 URL: http://svn.apache.org/viewcvs?rev=385929&view=rev Log: Minor javadoc changes only - fix the few javadoc warnings. Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/AttributeTokenizer.java struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Mechanism.java struts/shale/trunk/core-library/src/java/org/apache/shale/view/faces/CallbacksFactory.java Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/AttributeTokenizer.java URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/AttributeTokenizer.java?rev=385929&r1=385928&r2=385929&view=diff == --- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/AttributeTokenizer.java (original) +++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/AttributeTokenizer.java Tue Mar 14 15:27:26 2006 @@ -235,8 +235,9 @@ /** * - * Builds an ArrayList of [EMAIL PROTECTED] AttributeEntry} instances - * identifying name and value pairs. + * Builds an ArrayList of + * [EMAIL PROTECTED] AttributeTokenizer.AttributeEntry} instances identifying + * name and value pairs. * */ protected synchronized void parse(ArrayList tokenIndex) { @@ -374,7 +375,7 @@ /** * Constructor parses the node body into a collection of - * [EMAIL PROTECTED] AttributeEntry}. + * [EMAIL PROTECTED] AttributeTokenizer.AttributeEntry}. * */ public TokenIterator() { @@ -384,8 +385,8 @@ } /** - * Retuns true if there are more [EMAIL PROTECTED] AttributeEntry} - * in the collection. + * Retuns true if there are more + * [EMAIL PROTECTED] AttributeTokenizer.AttributeEntry} in the collection. * */ public boolean hasNext() { @@ -393,7 +394,8 @@ } /** - * Retuns the next [EMAIL PROTECTED] AttributeEntry} in the collection. + * Retuns the next [EMAIL PROTECTED] AttributeTokenizer.AttributeEntry} + * in the collection. * */ public Object next() { @@ -414,7 +416,7 @@ /** * Returns an instance of an Iterator that * will enumerate attributes in the document where the attributes - * are represented by a [EMAIL PROTECTED] AttributeEntry} instance. + * are represented by a [EMAIL PROTECTED] AttributeTokenizer.AttributeEntry} instance. * */ public Iterator iterator() { Modified: struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java?rev=385929&r1=385928&r2=385929&view=diff == --- struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java (original) +++ struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/Parser.java Tue Mar 14 15:27:26 2006 @@ -443,20 +443,20 @@ /** - * Declare an array of [EMAIL PROTECTED] Rule}s that validate an ending [EMAIL PROTECTED] Token}. + * Declare an array of [EMAIL PROTECTED] Parser.Rule}s that validate an ending [EMAIL PROTECTED] Token}. */ private static Rule[] END_TAG_RULES = {new Rule('<', true, 0, true), new Rule('/', true, 1, true), new Rule('>', false, -1, true)}; /** - * Declare an array of [EMAIL PROTECTED] Rule}s that validate self terminating [EMAIL PROTECTED] Token}. + * Declare an array of [EMAIL PROTECTED] Parser.Rule}s that validate self terminating [EMAIL PROTECTED] Token}. */ private static Rule[] SELF_TERM_TAG_RULES = {new Rule('<', true, 0, true), new Rule('/', false, -2, true), new Rule('>', false, -1, true)}; /** - * Declare an array of [EMAIL PROTECTED] Rule}s that validate self contained comment [EMAIL PROTECTED] Token}. + * Declare an array of [EMAIL PROTECTED] Parser.Rule}s that validate self contained comment [EMAIL PROTECTED] Token}. */ private static Rule[] SELF_CONTAINED_COMMENT_RULES = {new Rule('<', true, 0, true), new Rule('!', true, 1, true), @@ -467,7 +467,7 @@ new Rule('-', false, -3, true)}; /** - * Declare an array of [EMAIL PROTECTED] Rule}s that validate a begin comment [EMAIL PROTECTED] Token}. + * Declare an array of [EMAIL PROTECTED] Parser.Rule}
svn commit: r385801 - /struts/shale/trunk/xdocs/navigation.xml
Author: niallp Date: Tue Mar 14 05:43:09 2006 New Revision: 385801 URL: http://svn.apache.org/viewcvs?rev=385801&view=rev Log: Add link to Shale wiki Modified: struts/shale/trunk/xdocs/navigation.xml Modified: struts/shale/trunk/xdocs/navigation.xml URL: http://svn.apache.org/viewcvs/struts/shale/trunk/xdocs/navigation.xml?rev=385801&r1=385800&r2=385801&view=diff == --- struts/shale/trunk/xdocs/navigation.xml (original) +++ struts/shale/trunk/xdocs/navigation.xml Tue Mar 14 05:43:09 2006 @@ -15,6 +15,7 @@ +http://wiki.apache.org/struts/Shale"/> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r385715 - /struts/shale/trunk/xdocs/issue-tracking.xml
Author: niallp Date: Mon Mar 13 18:29:18 2006 New Revision: 385715 URL: http://svn.apache.org/viewcvs?rev=385715&view=rev Log: Correct "Assign To" to be Struts dev list (not commons dev) Modified: struts/shale/trunk/xdocs/issue-tracking.xml Modified: struts/shale/trunk/xdocs/issue-tracking.xml URL: http://svn.apache.org/viewcvs/struts/shale/trunk/xdocs/issue-tracking.xml?rev=385715&r1=385714&r2=385715&view=diff == --- struts/shale/trunk/xdocs/issue-tracking.xml (original) +++ struts/shale/trunk/xdocs/issue-tracking.xml Mon Mar 13 18:29:18 2006 @@ -33,7 +33,7 @@ If you find your issue listed then please add a comment with your details. Search the http://mail-archives.apache.org/mod_mbox/struts-dev/";>Search the mailing list archive. You may find your issue or idea has already been discussed. - http://issues.apache.org/bugzilla/enter_bug.cgi?product=Struts&version=unspecified&component=Shale&rep_platform=All&op_sys=All&priority=P1&bug_severity=normal&bug_status=NEW&assigned_to=commons-dev%40jakarta.apache.org&short_desc=%5BShale%5D%20%22Your%20subject%20heading%20here%22&comment=Please%20provide%20details%20here.%20Its%20best%20to%20submit%20patches%20that%20alter%0D%0Aexisting%20file%20content%20in%20%22unified%20cvs%20diff%22%20format.%20%0D%0A%0D%0ASubmissions%20that%20provide%20new%20files%20can%20be%20supplied%20as%20direct%20file%0D%0Aattachments%20or%20archives%20in%20zip%20or%20tar.gz%20format.%20please%20be%20kind%20%0D%0Aenough%20to%20identify%20the%20format%20of%20the%20attached%20archive%20as%20bugzilla%0D%0Atends%20to%20strip%20these%20characterstics%20by%20removing%20the%20files%20extension.&commentprivacy=0&form_name=enter_bug";>Submit a bug report or enhancement request. + http://issues.apache.org/bugzilla/enter_bug.cgi?product=Struts&version=unspecified&component=Shale&rep_platform=All&op_sys=All&priority=P1&bug_severity=normal&bug_status=NEW&assigned_to=dev%40struts.apache.org&short_desc=%5BShale%5D%20%22Your%20subject%20heading%20here%22&comment=Please%20provide%20details%20here.%20Its%20best%20to%20submit%20patches%20that%20alter%0D%0Aexisting%20file%20content%20in%20%22unified%20cvs%20diff%22%20format.%20%0D%0A%0D%0ASubmissions%20that%20provide%20new%20files%20can%20be%20supplied%20as%20direct%20file%0D%0Aattachments%20or%20archives%20in%20zip%20or%20tar.gz%20format.%20please%20be%20kind%20%0D%0Aenough%20to%20identify%20the%20format%20of%20the%20attached%20archive%20as%20bugzilla%0D%0Atends%20to%20strip%20these%20characterstics%20by%20removing%20the%20files%20extension.&commentprivacy=0&form_name=enter_bug";>Submit a bug report or enhancement request. Please prefix all new issues with [shale] in the summary line. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r385713 - in /struts/shale/trunk/xdocs: index.xml issue-tracking.xml navigation.xml
Author: niallp Date: Mon Mar 13 18:20:46 2006 New Revision: 385713 URL: http://svn.apache.org/viewcvs?rev=385713&view=rev Log: Add custom Issue Tracking page to Shale. Added: struts/shale/trunk/xdocs/issue-tracking.xml (with props) Modified: struts/shale/trunk/xdocs/index.xml struts/shale/trunk/xdocs/navigation.xml Modified: struts/shale/trunk/xdocs/index.xml URL: http://svn.apache.org/viewcvs/struts/shale/trunk/xdocs/index.xml?rev=385713&r1=385712&r2=385713&view=diff == --- struts/shale/trunk/xdocs/index.xml (original) +++ struts/shale/trunk/xdocs/index.xml Mon Mar 13 18:20:46 2006 @@ -278,7 +278,7 @@ Please report any bugs, or log any enhancement requests, in the - http://issues.apache.org/bugzilla";>Apache Issue Tracking System, + Apache Issue Tracking System, using product Struts and component Shale. Added: struts/shale/trunk/xdocs/issue-tracking.xml URL: http://svn.apache.org/viewcvs/struts/shale/trunk/xdocs/issue-tracking.xml?rev=385713&view=auto == --- struts/shale/trunk/xdocs/issue-tracking.xml (added) +++ struts/shale/trunk/xdocs/issue-tracking.xml Mon Mar 13 18:20:46 2006 @@ -0,0 +1,64 @@ + + + + + Issue tracking + + + + + + Shale uses http://issues.apache.org/bugzilla/";>ASF Bugzilla for tracking issues. + To use Bugzilla you may need to http://issues.apache.org/bugzilla/createaccount.cgi";>create an account. + + + If you would like to report a bug, or raise an enhancement request with + Shale please do the following: + + http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&product=Struts&component=Shale";>Search existing open bugs. + If you find your issue listed then please add a comment with your details. + Search the http://mail-archives.apache.org/mod_mbox/struts-dev/";>Search the mailing list archive. + You may find your issue or idea has already been discussed. + http://issues.apache.org/bugzilla/enter_bug.cgi?product=Struts&version=unspecified&component=Shale&rep_platform=All&op_sys=All&priority=P1&bug_severity=normal&bug_status=NEW&assigned_to=commons-dev%40jakarta.apache.org&short_desc=%5BShale%5D%20%22Your%20subject%20heading%20here%22&comment=Please%20provide%20details%20here.%20Its%20best%20to%20submit%20patches%20that%20alter%0D%0Aexisting%20file%20content%20in%20%22unified%20cvs%20diff%22%20format.%20%0D%0A%0D%0ASubmissions%20that%20provide%20new%20files%20can%20be%20supplied%20as%20direct%20file%0D%0Aattachments%20or%20archives%20in%20zip%20or%20tar.gz%20format.%20please%20be%20kind%20%0D%0Aenough%20to%20identify%20the%20format%20of%20the%20attached%20archive%20as%20bugzilla%0D%0Atends%20to%20strip%20these%20characterstics%20by%20removing%20the%20files%20extension.&commentprivacy=0&form_name=enter_bug";>Submit a bug report or enhancement request. + Please prefix all new issues with [shale] in the summary line. + + + + + Please also remember these points: + + the more information you provide, the better we can help you + test cases are vital, particularly for any proposed enhancements + the developers of Shale are all unpaid volunteers + + + + For more information on subversion and creating patches see the + http://www.apache.org/dev/contributors.html";>Apache Contributors Guide. + + + You may also find these links useful: + + http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&product=Struts&component=Shale";>All Open Shale bugs + http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&product=Struts&component=Shale";>All Closed Shale bugs + http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&product=Struts&component=Shale";>All Shale bugs + + + + + + Propchange: struts/shale/trunk/xdocs/issue-tracking.xml -- svn:eol-style = native Propchange: struts/shale/trunk/xdocs/issue-tracking.xml -- svn:keywords = Date Author Id Revision HeadURL Modified: struts/shale/trunk/xdocs/navigation.xml URL: http://svn.apache.org/viewcvs/struts/shale/trunk/xdocs/navigation.xml?rev=385713
svn commit: r385398 - /struts/build/trunk/maven.xml
Author: niallp Date: Sun Mar 12 17:04:53 2006 New Revision: 385398 URL: http://svn.apache.org/viewcvs?rev=385398&view=rev Log: Fix for Bug 38940 - Unable to run 'maven dist' from source distribution reported by Wendy Smoak. Modified: struts/build/trunk/maven.xml Modified: struts/build/trunk/maven.xml URL: http://svn.apache.org/viewcvs/struts/build/trunk/maven.xml?rev=385398&r1=385397&r2=385398&view=diff == --- struts/build/trunk/maven.xml (original) +++ struts/build/trunk/maven.xml Sun Mar 12 17:04:53 2006 @@ -1,202 +1,204 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r385394 - /struts/action/branches/STRUTS_1_2_BRANCH/build.xml
Author: niallp Date: Sun Mar 12 15:47:58 2006 New Revision: 385394 URL: http://svn.apache.org/viewcvs?rev=385394&view=rev Log: Correct "el" directory name in source/binary distros - thanks to Henri Yandell. (note running the "dist" target on the source distro failed because the el directory was renamed to "struts-el" - now its not) Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/build.xml?rev=385394&r1=385393&r2=385394&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/build.xml Sun Mar 12 15:47:58 2006 @@ -533,8 +533,8 @@ target="clean" inheritAll="false"/> - - + + @@ -595,23 +595,10 @@ + + - - - - - - - - - - - - - - -
svn commit: r385391 - in /struts/action/branches/STRUTS_1_2_BRANCH/doc: faqs/helping.xml learning.xml mail.xml project.xml roadmap.xml using.xml
Author: niallp Date: Sun Mar 12 15:44:30 2006 New Revision: 385391 URL: http://svn.apache.org/viewcvs?rev=385391&view=rev Log: Correct links to Bugzilla and ASF Mail Archive - thanks to Henri Yandell Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/faqs/helping.xml struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml struts/action/branches/STRUTS_1_2_BRANCH/doc/mail.xml struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml struts/action/branches/STRUTS_1_2_BRANCH/doc/roadmap.xml struts/action/branches/STRUTS_1_2_BRANCH/doc/using.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/faqs/helping.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/faqs/helping.xml?rev=385391&r1=385390&r2=385391&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/faqs/helping.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/faqs/helping.xml Sun Mar 12 15:44:30 2006 @@ -61,7 +61,7 @@ Our challenge to any team using Struts is to donate the time of one team member one afternoon a week (or more if you can spare the resources). Have your team member browse -http://jakarta.apache.org/site/bugs.html";>Bugzilla for any issues +http://issues.apache.org/bugzilla/";>Bugzilla for any issues without a patch or unit test, and add the patch or test. Please note that Struts does not use @author tags in our JavaDocs. @@ -96,8 +96,8 @@ Some Apache products like you to submit your patch to the mailing list. We would prefer that you create a -http://jakarta.apache.org/site/bugs.html";>Bugzilla -Bugzilla report and then attach the patch to the report. +http://issues.apache.org/bugzilla/";>Bugzilla +report and then attach the patch to the report. To do this, you must first create the report, and then modify the report to add your patch. We realize this is a bit clumsy, but it keeps us from losing things, @@ -115,13 +115,13 @@ You can research and report outstanding fixes and feature requests using -http://jakarta.apache.org/site/bugs.html";>Bugzilla. +http://issues.apache.org/bugzilla/";>Bugzilla. If you are unsure if this is an actual problem, feel free to bring it up the list first. But to be sure that an issue is resolved, read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html";> How to Report Bugs Effectively and report it to -http://jakarta.apache.org/site/bugs.html";>Bugzilla. +http://issues.apache.org/bugzilla/";>Bugzilla. @@ -164,9 +164,9 @@ Like all ASF projects, Struts is managed as a "meritocracy", where everyone's contribution is welcome. Users can help other users through the -http://jakarta.apache.org/site/mail.html";>mailing lists, -http://jakarta.apache.org/site/bugs.html";>report bugs, and -http://jakarta.apache.org/site/bugs.html";>request new features. +http://struts.apache.org/mail.html";>mailing lists, +http://issues.apache.org/bugzilla/";>report bugs, and +http://issues.apache.org/bugzilla/";>request new features. Developers can contribute patches, new code, and documentation. The most active Developers may become @@ -336,7 +336,7 @@ Most importantly, download the lastest nightly build or development release and test it against your own applications. Report any and all issues or suspected issues to - http://jakarta.apache.org/site/bugs.html";>Bugzilla. + http://issues.apache.org/bugzilla/";>Bugzilla. The sooner we resolve any problems, the fewer betas or release candidates we will have to distribute before we are done. (How do we know when we're done? -- When we run out of issues =:o) Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml?rev=385391&r1=385390&r2=385391&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml Sun Mar 12 15:44:30 2006 @@ -135,7 +135,7 @@ to use the source. For the complete, buildable source code to the entire Struts framework, see the "src" folder in -http://jakarta.apache.org/site/sourceindex.html";>your source +http://struts.apache.org/downloads.html";>your source distribution. @@ -199,7 +199,7 @@ The Struts Mailing Lists are a treasure trove of useful, interactive information. The user list tends to carry a high volume, so always check the published documentation and the -http://mail-archives.apache.org/eyebrowse/SummarizeList?listId=42";> +http://mail-archives.apache.org/mod_mbox/struts-user/";>
svn commit: r384679 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml
Author: niallp Date: Thu Mar 9 18:22:40 2006 New Revision: 384679 URL: http://svn.apache.org/viewcvs?rev=384679&view=rev Log: Fix ibatis petstore link - thanks to Henri Yandell for reporting this Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml?rev=384679&r1=384678&r2=384679&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/learning.xml Thu Mar 9 18:22:40 2006 @@ -183,7 +183,7 @@ Struts, along with different security packages and Hibernate for database persistence. -http://www.ibatis.com/jpetstore/jpetstore.html";>JPetStore - A streamlined version of the Java +http://ibatis.apache.org/petstore.html";>JPetStore - A streamlined version of the Java Petstore application implemented with Struts and iBATIS database layer. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384559 - in /struts/el/branches/STRUTS_1_2_BRANCH: build.xml project.xml
Author: niallp Date: Thu Mar 9 09:13:40 2006 New Revision: 384559 URL: http://svn.apache.org/viewcvs?rev=384559&view=rev Log: Roll the version number in the 1.2.x branch Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml struts/el/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/build.xml?rev=384559&r1=384558&r2=384559&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/build.xml Thu Mar 9 09:13:40 2006 @@ -96,7 +96,7 @@ - + Modified: struts/el/branches/STRUTS_1_2_BRANCH/project.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/project.xml?rev=384559&r1=384558&r2=384559&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/project.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/project.xml Thu Mar 9 09:13:40 2006 @@ -4,7 +4,7 @@ struts-el struts struts-el - 1.2.9 + 1.2.10-SNAPSHOT 2003 org.apache.strutsel Extension/adaptation of Struts tag libraries to use JSP 1.2 expression language. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384558 - in /struts/action/branches/STRUTS_1_2_BRANCH: build.xml project.xml
Author: niallp Date: Thu Mar 9 09:13:09 2006 New Revision: 384558 URL: http://svn.apache.org/viewcvs?rev=384558&view=rev Log: Roll the version number in the 1.2.x branch Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml struts/action/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/build.xml?rev=384558&r1=384557&r2=384558&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/build.xml Thu Mar 9 09:13:09 2006 @@ -147,7 +147,7 @@ - + Modified: struts/action/branches/STRUTS_1_2_BRANCH/project.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/project.xml?rev=384558&r1=384557&r2=384558&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/project.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/project.xml Thu Mar 9 09:13:09 2006 @@ -4,7 +4,7 @@ struts struts struts - 1.2.9 + 1.2.10-SNAPSHOT The Apache Software Foundation http://struts.apache.org/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384531 - /struts/action/tags/STRUTS_1_2_9/
Author: niallp Date: Thu Mar 9 07:18:16 2006 New Revision: 384531 URL: http://svn.apache.org/viewcvs?rev=384531&view=rev Log: Update externals in 1.2.9 tag Modified: struts/action/tags/STRUTS_1_2_9/ (props changed) Propchange: struts/action/tags/STRUTS_1_2_9/ -- --- svn:externals (original) +++ svn:externals Thu Mar 9 07:18:16 2006 @@ -1,3 +1,3 @@ -contrib/el https://svn.apache.org/repos/asf/struts/el/branches/STRUTS_1_2_BRANCH/ -contrib/struts-chain https://svn.apache.org/repos/asf/struts/sandbox/branches/STRUTS_1_2_BRANCH/struts-chain -contrib/struts-faces https://svn.apache.org/repos/asf/struts/faces/trunk +contrib/el https://svn.apache.org/repos/asf/struts/el/tags/STRUTS_1_2_9/ +contrib/struts-chain https://svn.apache.org/repos/asf/struts/sandbox/tags/STRUTS_1_2_9/struts-chain +contrib/struts-faces https://svn.apache.org/repos/asf/struts/faces/tags/STRUTS_1_2_9/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384526 - /struts/sandbox/tags/STRUTS_1_2_9/
Author: niallp Date: Thu Mar 9 07:08:26 2006 New Revision: 384526 URL: http://svn.apache.org/viewcvs?rev=384526&view=rev Log: Tag Struts 1.2.9 Added: struts/sandbox/tags/STRUTS_1_2_9/ - copied from r384525, struts/sandbox/branches/STRUTS_1_2_BRANCH/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384525 - /struts/faces/tags/STRUTS_1_2_9/
Author: niallp Date: Thu Mar 9 07:07:53 2006 New Revision: 384525 URL: http://svn.apache.org/viewcvs?rev=384525&view=rev Log: Tag Struts 1.2.9 Added: struts/faces/tags/STRUTS_1_2_9/ - copied from r384524, struts/faces/branches/STRUTS_1_2_BRANCH/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384524 - /struts/el/tags/STRUTS_1_2_9/
Author: niallp Date: Thu Mar 9 07:07:07 2006 New Revision: 384524 URL: http://svn.apache.org/viewcvs?rev=384524&view=rev Log: Tag Struts 1.2.9 Added: struts/el/tags/STRUTS_1_2_9/ - copied from r384523, struts/el/branches/STRUTS_1_2_BRANCH/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384523 - /struts/action/tags/STRUTS_1_2_9/
Author: niallp Date: Thu Mar 9 07:05:59 2006 New Revision: 384523 URL: http://svn.apache.org/viewcvs?rev=384523&view=rev Log: Tag Struts 1.2.9 Added: struts/action/tags/STRUTS_1_2_9/ - copied from r384522, struts/action/branches/STRUTS_1_2_BRANCH/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384519 - /struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml
Author: niallp Date: Thu Mar 9 06:57:50 2006 New Revision: 384519 URL: http://svn.apache.org/viewcvs?rev=384519&view=rev Log: Corret error in the type form validation in struts-examples webapp - still validating a field which has been removed. Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml?rev=384519&r1=384518&r2=384519&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml Thu Mar 9 06:57:50 2006 @@ -133,9 +133,6 @@ - - - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384431 - in /struts/el/branches/STRUTS_1_2_BRANCH: build.xml project.xml
Author: niallp Date: Wed Mar 8 20:55:51 2006 New Revision: 384431 URL: http://svn.apache.org/viewcvs?rev=384431&view=rev Log: Update version number to 1.2.9 Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml struts/el/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/build.xml?rev=384431&r1=384430&r2=384431&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/build.xml Wed Mar 8 20:55:51 2006 @@ -96,7 +96,7 @@ - + Modified: struts/el/branches/STRUTS_1_2_BRANCH/project.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/project.xml?rev=384431&r1=384430&r2=384431&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/project.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/project.xml Wed Mar 8 20:55:51 2006 @@ -4,7 +4,7 @@ struts-el struts struts-el - 1.2.9-SNAPSHOT + 1.2.9 2003 org.apache.strutsel Extension/adaptation of Struts tag libraries to use JSP 1.2 expression language. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384430 - in /struts/action/branches/STRUTS_1_2_BRANCH: build.xml project.xml
Author: niallp Date: Wed Mar 8 20:55:30 2006 New Revision: 384430 URL: http://svn.apache.org/viewcvs?rev=384430&view=rev Log: Update version number to 1.2.9 Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml struts/action/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/build.xml?rev=384430&r1=384429&r2=384430&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/build.xml Wed Mar 8 20:55:30 2006 @@ -147,7 +147,7 @@ - + Modified: struts/action/branches/STRUTS_1_2_BRANCH/project.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/project.xml?rev=384430&r1=384429&r2=384430&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/project.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/project.xml Wed Mar 8 20:55:30 2006 @@ -4,7 +4,7 @@ struts struts struts - 1.2.9-SNAPSHOT + 1.2.9 The Apache Software Foundation http://struts.apache.org/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384429 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml
Author: niallp Date: Wed Mar 8 20:46:25 2006 New Revision: 384429 URL: http://svn.apache.org/viewcvs?rev=384429&view=rev Log: Update release notes for Bug 37817 Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=384429&r1=384428&r2=384429&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Wed Mar 8 20:46:25 2006 @@ -53,6 +53,13 @@ 2006-03-08 + http://svn.apache.org/viewcvs.cgi?rev=384234&view=rev";>384234 + (http://svn.apache.org/viewcvs?rev=384235&view=rev";>384235) + http://issues.apache.org/bugzilla/show_bug.cgi?id=37817";>37817 + TagUtils doesn't create XHTML compliant URLs using forwards defined with redirect="true". + + + 2006-03-08 http://svn.apache.org/viewcvs.cgi?rev=384090&view=rev";>384090 (http://svn.apache.org/viewcvs?rev=384092&view=rev";>384092) http://issues.apache.org/bugzilla/show_bug.cgi?id=38343";>38343 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384422 - /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java
Author: niallp Date: Wed Mar 8 20:17:18 2006 New Revision: 384422 URL: http://svn.apache.org/viewcvs?rev=384422&view=rev Log: Set the MultipartRequestHandler if max file size is exceeded - corrects change made for Bug 38534 Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java?rev=384422&r1=384421&r2=384422&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java Wed Mar 8 20:17:18 2006 @@ -445,6 +445,7 @@ (Boolean) request.getAttribute( MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED); if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) { +((ActionForm) bean).setMultipartRequestHandler(multipartHandler); return; } //retrieve form values and put into properties - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384421 - /struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java
Author: niallp Date: Wed Mar 8 20:16:43 2006 New Revision: 384421 URL: http://svn.apache.org/viewcvs?rev=384421&view=rev Log: Set the MultipartRequestHandler if max file size is exceeded - corrects change made for Bug 38534 Modified: struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java Modified: struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java?rev=384421&r1=384420&r2=384421&view=diff == --- struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java (original) +++ struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java Wed Mar 8 20:16:43 2006 @@ -394,6 +394,7 @@ if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) { +((ActionForm) bean).setMultipartRequestHandler(multipartHandler); return; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384235 - /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java
Author: niallp Date: Wed Mar 8 07:18:11 2006 New Revision: 384235 URL: http://svn.apache.org/viewcvs?rev=384235&view=rev Log: Port Fix for Bug 37817 to 1.2.x branch - TagUtils doesn't create XHTML compliant URLs using forwards defined with redirect="true" - thanks to Jason A. Lunn Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java?rev=384235&r1=384234&r2=384235&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/TagUtils.java Wed Mar 8 07:18:11 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2005 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -429,9 +429,10 @@ if (forwardConfig == null) { throw new MalformedURLException(messages.getMessage("computeURL.forward", forward)); } -if (forwardConfig.getRedirect()) { -redirect = true; -} +// removed - see bug 37817 +// if (forwardConfig.getRedirect()) { +// redirect = true; +// } if (forwardConfig.getPath().startsWith("/")) { url.append(request.getContextPath()); url.append(RequestUtils.forwardURL(request, forwardConfig, moduleConfig)); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384234 - /struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java
Author: niallp Date: Wed Mar 8 07:17:37 2006 New Revision: 384234 URL: http://svn.apache.org/viewcvs?rev=384234&view=rev Log: Fix for Bug 37817 - TagUtils doesn't create XHTML compliant URLs using forwards defined with redirect="true" - thanks to Jason A. Lunn Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java?rev=384234&r1=384233&r2=384234&view=diff == --- struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java (original) +++ struts/taglib/trunk/src/java/org/apache/struts/taglib/TagUtils.java Wed Mar 8 07:17:37 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -362,9 +362,10 @@ "computeURL.forward", forward)); } -if (forwardConfig.getRedirect()) { -redirect = true; -} +// removed - see bug 37817 +// if (forwardConfig.getRedirect()) { +// redirect = true; +// } if (forwardConfig.getPath().startsWith("/")) { url.append(request.getContextPath()); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384134 - in /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions: EventActionDispatcher.java EventDispatchAction.java
Author: niallp Date: Tue Mar 7 22:43:55 2006 New Revision: 384134 URL: http://svn.apache.org/viewcvs?rev=384134&view=rev Log: Port to 1.2.x branch. Implement unspecified method in EventDispatchAction and EventActionDispatcher and remove check/exception from getMethodName() method, which was preventing "unspecified" from ever being called - thanks to Paul Benedict for pointing this out. Also, remove unecessary getParameter() method (duplicates inherited version) from EventDispatchAction and EventActionDispatcher. Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventDispatchAction.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java?rev=384134&r1=384133&r2=384134&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java Tue Mar 7 22:43:55 2006 @@ -19,6 +19,7 @@ package org.apache.struts.actions; import java.util.StringTokenizer; +import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -29,6 +30,7 @@ import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionForward; /** * An Action helper class that dispatches to to one of the public methods @@ -109,7 +111,47 @@ * @param action the action */ public EventActionDispatcher(Action action) { -super(action, -1); +// N.B. MAPPING_FLAVOR causes the getParameter() method +// in ActionDispatcher to throw an exception if the +// parameter is missing +super(action, ActionDispatcher.MAPPING_FLAVOR); +} + +/** + * Dispatches to the target class' unspecified method, if + * present, otherwise throws a ServletException. Classes utilizing + * EventActionDispatcher should provide an unspecified + * method if they wish to provide behavior different than throwing a + * ServletException. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request (if any) + * @param request The non-HTTP request we are processing + * @param response The non-HTTP response we are creating + * @return The forward to which control should be transferred, or + * null if the response has been completed. + * @throws Exception if the application business logic throws an + * exception. + */ +protected ActionForward unspecified(ActionMapping mapping, ActionForm form, +HttpServletRequest request, HttpServletResponse response) +throws Exception { +// Identify if there is an "unspecified" method to be dispatched to +String name = "unspecified"; +Method method = null; + +try { +method = getMethod(name); +} catch (NoSuchMethodException e) { +String message = +messages.getMessage("event.parameter", mapping.getPath()); + +LOG.error(message + " " + mapping.getParameter()); + +throw new ServletException(message); +} + +return dispatchMethod(mapping, form, request, response, name, method); } /** @@ -156,42 +198,6 @@ } } -if (defaultMethodName == null || defaultMethodName.length() == 0) { -String message = -messages.getMessage("event.parameter", mapping.getPath()); -LOG.error(message + " " + parameter); -throw new ServletException(message); -} - return defaultMethodName; -} - -/** - * Returns the parameter. - * - * @param mapping The ActionMapping used to select this instance - * @param form The optional ActionForm bean for this request (if any) - * @param request The HTTP request we are processing - * @param response The HTTP response we are creating - * @return The ActionMapping parameter's value - * @throws Exception if the parameter is missing. - */ -protected String getParameter(ActionMapping mapping, ActionForm form, -HttpServletRequest request, HttpServletResponse response) -throws Exception { - -String parameter = mapping.getParameter
svn commit: r384133 - in /struts/extras/trunk/src/java/org/apache/struts/actions: EventActionDispatcher.java EventDispatchAction.java
Author: niallp Date: Tue Mar 7 22:42:48 2006 New Revision: 384133 URL: http://svn.apache.org/viewcvs?rev=384133&view=rev Log: Implement unspecified method in EventDispatchAction and EventActionDispatcher and remove check/exception from getMethodName() method, which was preventing "unspecified" from ever being called - thanks to Paul Benedict for pointing this out. Also, remove unecessary getParameter() method (duplicates inherited version) from EventDispatchAction and EventActionDispatcher. Modified: struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java struts/extras/trunk/src/java/org/apache/struts/actions/EventDispatchAction.java Modified: struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java?rev=384133&r1=384132&r2=384133&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java Tue Mar 7 22:42:48 2006 @@ -19,6 +19,7 @@ package org.apache.struts.actions; import java.util.StringTokenizer; +import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -29,6 +30,7 @@ import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionForward; /** * An Action helper class that dispatches to to one of the public methods @@ -109,7 +111,47 @@ * @param action the action */ public EventActionDispatcher(Action action) { -super(action, -1); +// N.B. MAPPING_FLAVOR causes the getParameter() method +// in ActionDispatcher to throw an exception if the +// parameter is missing +super(action, ActionDispatcher.MAPPING_FLAVOR); +} + +/** + * Dispatches to the target class' unspecified method, if + * present, otherwise throws a ServletException. Classes utilizing + * EventActionDispatcher should provide an unspecified + * method if they wish to provide behavior different than throwing a + * ServletException. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request (if any) + * @param request The non-HTTP request we are processing + * @param response The non-HTTP response we are creating + * @return The forward to which control should be transferred, or + * null if the response has been completed. + * @throws Exception if the application business logic throws an + * exception. + */ +protected ActionForward unspecified(ActionMapping mapping, ActionForm form, +HttpServletRequest request, HttpServletResponse response) +throws Exception { +// Identify if there is an "unspecified" method to be dispatched to +String name = "unspecified"; +Method method = null; + +try { +method = getMethod(name); +} catch (NoSuchMethodException e) { +String message = +messages.getMessage("event.parameter", mapping.getPath()); + +LOG.error(message + " " + mapping.getParameter()); + +throw new ServletException(message); +} + +return dispatchMethod(mapping, form, request, response, name, method); } /** @@ -156,42 +198,6 @@ } } -if (defaultMethodName == null || defaultMethodName.length() == 0) { -String message = -messages.getMessage("event.parameter", mapping.getPath()); -LOG.error(message + " " + parameter); -throw new ServletException(message); -} - return defaultMethodName; -} - -/** - * Returns the parameter. - * - * @param mapping The ActionMapping used to select this instance - * @param form The optional ActionForm bean for this request (if any) - * @param request The HTTP request we are processing - * @param response The HTTP response we are creating - * @return The ActionMapping parameter's value - * @throws Exception if the parameter is missing. - */ -protected String getParameter(ActionMapping mapping, ActionForm form, -HttpServletRequest request, HttpServletResponse response) -throws Exception { - -String parameter = mapping.getParameter(); -if ("".equals(parameter)) { -parameter = null; -} - -if (parameter == null) { -String message = -
svn commit: r384109 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml
Author: niallp Date: Tue Mar 7 19:33:42 2006 New Revision: 384109 URL: http://svn.apache.org/viewcvs?rev=384109&view=rev Log: Update release notes Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=384109&r1=384108&r2=384109&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Tue Mar 7 19:33:42 2006 @@ -7,6 +7,18 @@ + The main motivation for releasing Struts 1.2.9 is to fix three + security issues which have been identified: + + + http://issues.apache.org/bugzilla/show_bug.cgi?id=38374";>Bug 38374 - + Validation always skipped with Globals.CANCEL_KEY. + http://issues.apache.org/bugzilla/show_bug.cgi?id=38534";>Bug 38534 - + DOS attack, application hack. + http://issues.apache.org/bugzilla/show_bug.cgi?id=38749";>Bug 38749 - + XSS vulnerability in LookupDispatchAction. + + This section contains release notes for changes that have taken place since Version 1.2.8. @@ -39,6 +51,13 @@ ModificationRevisionBugzillaDescription + + 2006-03-08 + http://svn.apache.org/viewcvs.cgi?rev=384090&view=rev";>384090 + (http://svn.apache.org/viewcvs?rev=384092&view=rev";>384092) + http://issues.apache.org/bugzilla/show_bug.cgi?id=38343";>38343 + Add EventDispatchAction and EventActionDispatcher. + 2006-03-07 http://svn.apache.org/viewcvs.cgi?rev=383907&view=rev";>383907 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384093 - in /struts/action/branches/STRUTS_1_2_BRANCH: src/examples/org/apache/struts/webapp/dispatch/ web/examples/WEB-INF/dispatch/ web/examples/dispatch/
Author: niallp Date: Tue Mar 7 17:58:10 2006 New Revision: 384093 URL: http://svn.apache.org/viewcvs?rev=384093&view=rev Log: Add EventDispatchAction and EventActionDispatcher examples to struts-examples webapp Added: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventDispatchActionExample.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/eventAction.jsp (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/eventDispatcher.jsp (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/MessageResources.properties struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/MessageResources_fr.properties struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/dispatch/struts-config.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/index.jsp Added: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java?rev=384093&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java Tue Mar 7 17:58:10 2006 @@ -0,0 +1,115 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.webapp.dispatch; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.actions.ActionDispatcher; +import org.apache.struts.actions.EventActionDispatcher; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +/** + * Example EventActionDispatcher. + * + * @version $Rev$ $Date$ + */ +public class EventActionDispatcherExample extends Action { + +private ActionDispatcher dispatcher + = new EventActionDispatcher(this); + +private int fooCount; +private int barCount; + +/** + * Execute method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward execute(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +return dispatcher.execute(mapping, form, request, response); + +} + +/** + * Example "foo" method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward doFoo(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +fooCount++; + +ActionMessages messages = new ActionMessages(); +messages.add("foo", new ActionMessage("count.foo.message", fooCount+"")); +saveMessages(request, messages); + +return (mapping.findF
svn commit: r384092 - in /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions: EventActionDispatcher.java EventDispatchAction.java LocalStrings.properties
Author: niallp Date: Tue Mar 7 17:57:11 2006 New Revision: 384092 URL: http://svn.apache.org/viewcvs?rev=384092&view=rev Log: Port Bug 38343 to 1.2.x branch - Add EventDispatchAction and EventActionDispatcher - submitted by Paul Benedict Added: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventDispatchAction.java (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties Added: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java?rev=384092&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/EventActionDispatcher.java Tue Mar 7 17:57:11 2006 @@ -0,0 +1,197 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.actions; + +import java.util.StringTokenizer; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionMapping; + +/** + * An Action helper class that dispatches to to one of the public methods + * that are named in the parameter attribute of the corresponding + * ActionMapping and matches a submission parameter. This is useful for + * developers who prefer to use many submit buttons, images, or submit links + * on a single form and whose related actions exist in a single Action class. + * + * The method(s) in the associated Action must have the same + * signature (other than method name) of the standard Action.execute method. + * + * To configure the use of this action in your + * struts-config.xml file, create an entry like this: + * + * + * <action path="/saveSubscription" + * type="org.example.SubscriptionAction" + * name="subscriptionForm" + * scope="request" + * input="/subscription.jsp" + * parameter="save,back,recalc=recalculate,default=save"/> + * + * + * where parameter contains three possible methods and one + * default method if nothing matches (such as the user pressing the enter key). + * + * For utility purposes, you can use the key=value notation to + * alias methods so that they are exposed as different form element names, in the + * event of a naming conflict or otherwise. In this example, the recalc + * button (via a request parameter) will invoke the recalculate + * method. The security-minded person may find this feature valuable to + * obfuscate and not expose the methods. + * + * The default key is purely optional. If this is not specified + * and no parameters match the list of method keys, null is + * returned which means the unspecified method will be invoked. + * + * The order of the parameters are guaranteed to be iterated in the order + * specified. If multiple buttons were accidently submitted, the first match in + * the list will be dispatched. + * + * To implement this dispatch behaviour in an Action, + * class create your custom Action as follows, along with the methods you require + * (and optionally "cancelled" and "unspecified" methods): + * + * public class MyCustomAction extends Action { + * + * protected ActionDispatcher dispatcher = new EventActionDispatcher(this); + * + * public ActionForward execute(ActionMapping mapping, + *ActionForm form, + *HttpServletRequest request, + *HttpServletResponse response) + * throws Exception { + * return dispatcher.execute(mapping, form, requ
svn commit: r384091 - in /struts/apps/trunk/examples/src: java/org/apache/struts/webapp/dispatch/ webapp/WEB-INF/dispatch/ webapp/dispatch/
Author: niallp Date: Tue Mar 7 17:55:41 2006 New Revision: 384091 URL: http://svn.apache.org/viewcvs?rev=384091&view=rev Log: Add EventDispatchAction and EventActionDispatcher examples to struts-examples webapp Added: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventDispatchActionExample.java (with props) struts/apps/trunk/examples/src/webapp/dispatch/eventAction.jsp (with props) struts/apps/trunk/examples/src/webapp/dispatch/eventDispatcher.jsp (with props) Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/MessageResources.properties struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/MessageResources_fr.properties struts/apps/trunk/examples/src/webapp/WEB-INF/dispatch/struts-config.xml struts/apps/trunk/examples/src/webapp/dispatch/index.jsp Added: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java?rev=384091&view=auto == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java (added) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/EventActionDispatcherExample.java Tue Mar 7 17:55:41 2006 @@ -0,0 +1,115 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.webapp.dispatch; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.actions.ActionDispatcher; +import org.apache.struts.actions.EventActionDispatcher; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +/** + * Example EventActionDispatcher. + * + * @version $Rev$ $Date$ + */ +public class EventActionDispatcherExample extends Action { + +private ActionDispatcher dispatcher + = new EventActionDispatcher(this); + +private int fooCount; +private int barCount; + +/** + * Execute method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward execute(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +return dispatcher.execute(mapping, form, request, response); + +} + +/** + * Example "foo" method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward doFoo(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +fooCount++; + +ActionMessages messages = new ActionMessages(); +messages.add("foo", new ActionMessage("count.foo.message", fooCount+"")); +saveMessages(request, messages); + +return (mapping.findForward("success")); + +} + +/** + * Example "bar" method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional Actio
svn commit: r384090 - in /struts/extras/trunk/src/java/org/apache/struts/actions: EventActionDispatcher.java EventDispatchAction.java LocalStrings.properties
Author: niallp Date: Tue Mar 7 17:53:58 2006 New Revision: 384090 URL: http://svn.apache.org/viewcvs?rev=384090&view=rev Log: Bug 38343 - Add EventDispatchAction and EventActionDispatcher - submitted by Paul Benedict Added: struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java (with props) struts/extras/trunk/src/java/org/apache/struts/actions/EventDispatchAction.java (with props) Modified: struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties Added: struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java?rev=384090&view=auto == --- struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java (added) +++ struts/extras/trunk/src/java/org/apache/struts/actions/EventActionDispatcher.java Tue Mar 7 17:53:58 2006 @@ -0,0 +1,197 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.actions; + +import java.util.StringTokenizer; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionMapping; + +/** + * An Action helper class that dispatches to to one of the public methods + * that are named in the parameter attribute of the corresponding + * ActionMapping and matches a submission parameter. This is useful for + * developers who prefer to use many submit buttons, images, or submit links + * on a single form and whose related actions exist in a single Action class. + * + * The method(s) in the associated Action must have the same + * signature (other than method name) of the standard Action.execute method. + * + * To configure the use of this action in your + * struts-config.xml file, create an entry like this: + * + * + * <action path="/saveSubscription" + * type="org.example.SubscriptionAction" + * name="subscriptionForm" + * scope="request" + * input="/subscription.jsp" + * parameter="save,back,recalc=recalculate,default=save"/> + * + * + * where parameter contains three possible methods and one + * default method if nothing matches (such as the user pressing the enter key). + * + * For utility purposes, you can use the key=value notation to + * alias methods so that they are exposed as different form element names, in the + * event of a naming conflict or otherwise. In this example, the recalc + * button (via a request parameter) will invoke the recalculate + * method. The security-minded person may find this feature valuable to + * obfuscate and not expose the methods. + * + * The default key is purely optional. If this is not specified + * and no parameters match the list of method keys, null is + * returned which means the unspecified method will be invoked. + * + * The order of the parameters are guaranteed to be iterated in the order + * specified. If multiple buttons were accidently submitted, the first match in + * the list will be dispatched. + * + * To implement this dispatch behaviour in an Action, + * class create your custom Action as follows, along with the methods you require + * (and optionally "cancelled" and "unspecified" methods): + * + * public class MyCustomAction extends Action { + * + * protected ActionDispatcher dispatcher = new EventActionDispatcher(this); + * + * public ActionForward execute(ActionMapping mapping, + *ActionForm form, + *HttpServletRequest request, + *HttpServletResponse response) + * throws Exception { + * return dispatcher.execute(mapping, form, request, response); + * } + * } + * + * + * + * @since Struts 1.2.9 + */ +public class EventActionDispatcher extends ActionDispatcher { + +/** + * Com
svn commit: r384089 - in /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions: DispatchAction.java LookupDispatchAction.java
Author: niallp Date: Tue Mar 7 17:50:52 2006 New Revision: 384089 URL: http://svn.apache.org/viewcvs?rev=384089&view=rev Log: DispatchAction refactoring and remove duplicated LookupDispatchAction code Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java?rev=384089&r1=384088&r2=384089&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java Tue Mar 7 17:50:52 2006 @@ -165,16 +165,9 @@ return af; } } -// Identify the request parameter containing the method name -String parameter = mapping.getParameter(); -if (parameter == null) { -String message = -messages.getMessage("dispatch.handler", mapping.getPath()); - -log.error(message); -throw new ServletException(message); -} +// Get the parameter. This could be overridden in subclasses. +String parameter = getParameter(mapping, form, request, response); // Get the method's name. This could be overridden in subclasses. String name = getMethodName(mapping, form, request, response, parameter); @@ -306,6 +299,35 @@ return (forward); } +/** + * Returns the parameter value. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request (if any) + * @param request The HTTP request we are processing + * @param response The HTTP response we are creating + * @return The ActionMapping parameter's value + * @throws Exception if the parameter is missing. + */ +protected String getParameter(ActionMapping mapping, ActionForm form, +HttpServletRequest request, HttpServletResponse response) +throws Exception { + +// Identify the request parameter containing the method name +String parameter = mapping.getParameter(); + +if (parameter == null) { +String message = +messages.getMessage("dispatch.handler", mapping.getPath()); + +log.error(message); + +throw new ServletException(message); +} + + +return parameter; +} /** * Introspect the current class to identify a method of the specified Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java?rev=384089&r1=384088&r2=384089&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java Tue Mar 7 17:50:52 2006 @@ -113,7 +113,7 @@ /** * Commons Logging instance. */ -private static Log LOG = LogFactory.getLog(LookupDispatchAction.class); +private static final Log LOG = LogFactory.getLog(LookupDispatchAction.class); /** * Reverse lookup map from resource value to resource key. @@ -147,25 +147,7 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { - -if (isCancelled(request)) { -ActionForward af = cancelled(mapping, form, request, response); -if (af != null) { -return af; -} -} -// Identify the request parameter containing the method name -String parameter = mapping.getParameter(); -if (parameter == null) { -String message = messages.getMessage("dispatch.handler", mapping.getPath()); -throw new ServletException(message); -} - -// Identify the string to lookup -String methodName = getMethodName(mapping, form, request, response, parameter); - -return dispatchMethod(mapping, form, request, response, methodName); - +return super.execute(mapping, form, request, response); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r384088 - in /struts/extras/trunk/src/java/org/apache/struts/actions: DispatchAction.java LookupDispatchAction.java
Author: niallp Date: Tue Mar 7 17:49:48 2006 New Revision: 384088 URL: http://svn.apache.org/viewcvs?rev=384088&view=rev Log: DispatchAction refactoring and remove duplicated LookupDispatchAction code Modified: struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java Modified: struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java?rev=384088&r1=384087&r2=384088&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java Tue Mar 7 17:49:48 2006 @@ -147,17 +147,8 @@ } } -// Identify the request parameter containing the method name -String parameter = mapping.getParameter(); - -if (parameter == null) { -String message = -messages.getMessage("dispatch.handler", mapping.getPath()); - -log.error(message); - -throw new ServletException(message); -} +// Get the parameter. This could be overridden in subclasses. +String parameter = getParameter(mapping, form, request, response); // Get the method's name. This could be overridden in subclasses. String name = @@ -304,6 +295,36 @@ // Return the returned ActionForward instance return (forward); +} + +/** + * Returns the parameter value. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request (if any) + * @param request The HTTP request we are processing + * @param response The HTTP response we are creating + * @return The ActionMapping parameter's value + * @throws Exception if the parameter is missing. + */ +protected String getParameter(ActionMapping mapping, ActionForm form, +HttpServletRequest request, HttpServletResponse response) +throws Exception { + +// Identify the request parameter containing the method name +String parameter = mapping.getParameter(); + +if (parameter == null) { +String message = +messages.getMessage("dispatch.handler", mapping.getPath()); + +log.error(message); + +throw new ServletException(message); +} + + +return parameter; } /** Modified: struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java?rev=384088&r1=384087&r2=384088&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java Tue Mar 7 17:49:48 2006 @@ -109,7 +109,7 @@ /** * Commons Logging instance. */ -private static Log LOG = LogFactory.getLog(LookupDispatchAction.class); +private static final Log LOG = LogFactory.getLog(LookupDispatchAction.class); /** * Reverse lookup map from resource value to resource key. @@ -140,29 +140,7 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { -if (isCancelled(request)) { -ActionForward af = cancelled(mapping, form, request, response); - -if (af != null) { -return af; -} -} - -// Identify the request parameter containing the method name -String parameter = mapping.getParameter(); - -if (parameter == null) { -String message = -messages.getMessage("dispatch.handler", mapping.getPath()); - -throw new ServletException(message); -} - -// Identify the string to lookup -String methodName = -getMethodName(mapping, form, request, response, parameter); - -return dispatchMethod(mapping, form, request, response, methodName); +return super.execute(mapping, form, request, response); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r383909 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml
Author: niallp Date: Tue Mar 7 07:37:20 2006 New Revision: 383909 URL: http://svn.apache.org/viewcvs?rev=383909&view=rev Log: Update release notes for bug 37685 Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=383909&r1=383908&r2=383909&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Tue Mar 7 07:37:20 2006 @@ -41,6 +41,13 @@ 2006-03-07 + http://svn.apache.org/viewcvs.cgi?rev=383907&view=rev";>383907 + (http://svn.apache.org/viewcvs?rev=383908&view=rev";>383908) + http://issues.apache.org/bugzilla/show_bug.cgi?id=37685";>37685 + Javascript tag does not work on Mozilla. + + + 2006-03-07 http://svn.apache.org/viewcvs.cgi?rev=383718&view=rev";>383718 (http://svn.apache.org/viewcvs?rev=383720&view=rev";>383720) http://issues.apache.org/bugzilla/show_bug.cgi?id=38749";>38749 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r383908 - /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java
Author: niallp Date: Tue Mar 7 07:33:42 2006 New Revision: 383908 URL: http://svn.apache.org/viewcvs?rev=383908&view=rev Log: Port Fix for Bug 37685 to 1.2.x branch - Javascript tag does not work on Mozilla - reported by Philippe Mouawad. Changed the javascript rendered so that it just returns formValidationResult if the "&&" operators are used (stopOnFirstError is true) or (formValidationResult == 1) if the bitwise (i.e. "&") operator is used (stopOnFirstError is false). Also added braces to the if statement and tidied up the indentation. Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java?rev=383908&r1=383907&r2=383908&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/taglib/html/JavascriptValidatorTag.java Tue Mar 7 07:33:42 2006 @@ -766,34 +766,33 @@ if (!this.isXhtml() && "true".equals(htmlComment)) { sb.append(HTML_BEGIN_COMMENT); } -sb.append("\n var bCancel = false; \n\n"); +sb.append("\nvar bCancel = false; \n\n"); -if (methodName == null || methodName.length() == 0) { -sb.append( -"function validate" -+ name -+ "(form) { \n"); +if ((methodName == null) || (methodName.length() == 0)) { +sb.append("function validate" + name + "(form) { \n"); } else { -sb.append( -"function " -+ methodName -+ "(form) { \n"); +sb.append("function " + methodName + "(form) { \n"); } -sb.append("if (bCancel) \n"); -sb.append(" return true; \n"); -sb.append("else \n"); + +sb.append("if (bCancel) { \n"); +sb.append("return true; \n"); +sb.append("} else { \n"); // Always return true if there aren't any Javascript validation methods -if (methods == null || methods.length() == 0) { -sb.append(" return true; \n"); +if ((methods == null) || (methods.length() == 0)) { +sb.append("return true; \n"); } else { -//Making Sure that Bitwise operator works: -sb.append(" var formValidationResult;\n"); -sb.append(" formValidationResult = " + methods + "; \n"); -sb.append(" return (formValidationResult == 1);\n"); +sb.append("var formValidationResult; \n"); +sb.append("formValidationResult = " + methods + "; \n"); +if (methods.indexOf("&&") >= 0) { +sb.append("return (formValidationResult); \n"); +} else { +//Making Sure that Bitwise operator works: +sb.append("return (formValidationResult == 1); \n"); +} } - -sb.append(" } \n\n"); +sb.append("} \n"); +sb.append("} \n\n"); return sb.toString(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r383907 - /struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java
Author: niallp Date: Tue Mar 7 07:32:06 2006 New Revision: 383907 URL: http://svn.apache.org/viewcvs?rev=383907&view=rev Log: Fix for Bug 37685 - Javascript tag does not work on Mozilla - reported by Philippe Mouawad. Changed the javascript rendered so that it just returns formValidationResult if the "&&" operators are used (stopOnFirstError is true) or (formValidationResult == 1) if the bitwise (i.e. "&") operator is used (stopOnFirstError is false). Also added braces to the if statement and tidied up the indentation. Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java?rev=383907&r1=383906&r2=383907&view=diff == --- struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java (original) +++ struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java Tue Mar 7 07:32:06 2006 @@ -752,31 +752,33 @@ sb.append(HTML_BEGIN_COMMENT); } -sb.append("\n var bCancel = false; \n\n"); +sb.append("\nvar bCancel = false; \n\n"); if ((methodName == null) || (methodName.length() == 0)) { -sb.append("function validate" + name -+ "(form) { \n"); +sb.append("function validate" + name + "(form) { \n"); } else { -sb.append("function " + methodName -+ "(form) { \n"); +sb.append("function " + methodName + "(form) { \n"); } -sb.append("if (bCancel) \n"); -sb.append(" return true; \n"); -sb.append("else \n"); +sb.append("if (bCancel) { \n"); +sb.append("return true; \n"); +sb.append("} else { \n"); // Always return true if there aren't any Javascript validation methods if ((methods == null) || (methods.length() == 0)) { -sb.append(" return true; \n"); +sb.append("return true; \n"); } else { -//Making Sure that Bitwise operator works: -sb.append(" var formValidationResult;\n"); -sb.append(" formValidationResult = " + methods + "; \n"); -sb.append(" return (formValidationResult == 1);\n"); +sb.append("var formValidationResult; \n"); +sb.append("formValidationResult = " + methods + "; \n"); +if (methods.indexOf("&&") >= 0) { +sb.append("return (formValidationResult); \n"); +} else { +//Making Sure that Bitwise operator works: +sb.append("return (formValidationResult == 1); \n"); +} } - -sb.append(" } \n\n"); +sb.append("} \n"); +sb.append("} \n\n"); return sb.toString(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r383721 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml
Author: niallp Date: Mon Mar 6 16:14:17 2006 New Revision: 383721 URL: http://svn.apache.org/viewcvs?rev=383721&view=rev Log: Update the release notes with latest changes. Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=383721&r1=383720&r2=383721&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Mon Mar 6 16:14:17 2006 @@ -40,9 +40,16 @@ ModificationRevisionBugzillaDescription + 2006-03-07 + http://svn.apache.org/viewcvs.cgi?rev=383718&view=rev";>383718 + (http://svn.apache.org/viewcvs?rev=383720&view=rev";>383720) + http://issues.apache.org/bugzilla/show_bug.cgi?id=38749";>38749 + XSS vulnerability in LookupDispatchAction. + + 2006-02-15 - http://svn.apache.org/viewcvs.cgi?rev=X&view=rev";>X - (http://svn.apache.org/viewcvs?rev=X&view=rev";>X) + http://svn.apache.org/viewcvs.cgi?rev=379661&view=rev";>379661 + (http://svn.apache.org/viewcvs?rev=377929&view=rev";>377929) http://issues.apache.org/bugzilla/show_bug.cgi?id=38534";>38534 DOS attack, application hack. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r383720 - in /struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions: ActionDispatcher.java DispatchAction.java LocalStrings.properties LookupDispatchAction.java
Author: niallp Date: Mon Mar 6 16:07:59 2006 New Revision: 383720 URL: http://svn.apache.org/viewcvs?rev=383720&view=rev Log: Port Fix for Bug 38749 to 1.2.x branch - XSS vulnerability in LookupDispatchAction - reported by Tommy Wareing Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/ActionDispatcher.java struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LookupDispatchAction.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/ActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/ActionDispatcher.java?rev=383720&r1=383719&r2=383720&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/ActionDispatcher.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/ActionDispatcher.java Mon Mar 6 16:07:59 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2005 The Apache Software Foundation. + * Copyright 2005-2006 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. @@ -309,7 +309,10 @@ String message = messages.getMessage("dispatch.method", mapping.getPath(), name); log.error(message, e); -throw e; + +String userMsg = +messages.getMessage("dispatch.method.user", mapping.getPath()); +throw new NoSuchMethodException(userMsg); } return dispatchMethod(mapping, form, request, response, name, method); Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java?rev=383720&r1=383719&r2=383720&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/DispatchAction.java Mon Mar 6 16:07:59 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2001-2004 The Apache Software Foundation. + * Copyright 2001-2006 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. @@ -265,7 +265,10 @@ String message = messages.getMessage("dispatch.method", mapping.getPath(), name); log.error(message, e); -throw e; + +String userMsg = +messages.getMessage("dispatch.method.user", mapping.getPath()); +throw new NoSuchMethodException(userMsg); } ActionForward forward = null; Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties?rev=383720&r1=383719&r2=383720&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/actions/LocalStrings.properties Mon Mar 6 16:07:59 2006 @@ -4,9 +4,10 @@ dispatch.lookup=Action[{0}] does not contain handler for resource '{1}' dispatch.mapping=ActionMapping[{0}] is not of type DispatchMapping dispatch.method=Action[{0}] does not contain method named '{1}' +dispatch.method.user=Action[{0}] does not contain specified method (check logs) dispatch.parameter=Request[{0}] does not contain handler parameter named '{1}'. This may be caused by whitespace in the label text. dispatch.return=Action[{0}] invalid return type for method '{1}' -dispatch.resource=Action[{0}] missing resource '{1}' in key method map +dispatch.resource=Action[{0}] missing resource in key method map forward.path=No context-relative URI specified via the 'parameter' attribute forward.rd=Cannot create request dispatcher for path '{0}' include.path=No context-relative URI specified via the 'parameter' att
svn commit: r383718 - in /struts/extras/trunk/src/java/org/apache/struts/actions: ActionDispatcher.java DispatchAction.java LocalStrings.properties LookupDispatchAction.java
Author: niallp Date: Mon Mar 6 16:05:50 2006 New Revision: 383718 URL: http://svn.apache.org/viewcvs?rev=383718&view=rev Log: Fix for Bug 38749 - XSS vulnerability in LookupDispatchAction - reported by Tommy Wareing Modified: struts/extras/trunk/src/java/org/apache/struts/actions/ActionDispatcher.java struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties struts/extras/trunk/src/java/org/apache/struts/actions/LookupDispatchAction.java Modified: struts/extras/trunk/src/java/org/apache/struts/actions/ActionDispatcher.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/ActionDispatcher.java?rev=383718&r1=383717&r2=383718&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/ActionDispatcher.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/ActionDispatcher.java Mon Mar 6 16:05:50 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2005 The Apache Software Foundation. + * Copyright 2005-2006 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. @@ -81,8 +81,7 @@ * * - * @version $Rev$ $Date: 2005-05-14 21:27:02 -0400 (Sat, 14 May 2005) - * $ + * @version $Rev$ $Date$ * @since Struts 1.2.7 */ public class ActionDispatcher { @@ -325,7 +324,10 @@ messages.getMessage("dispatch.method", mapping.getPath(), name); log.error(message, e); -throw e; + +String userMsg = +messages.getMessage("dispatch.method.user", mapping.getPath()); +throw new NoSuchMethodException(userMsg); } return dispatchMethod(mapping, form, request, response, name, method); Modified: struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java?rev=383718&r1=383717&r2=383718&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/DispatchAction.java Mon Mar 6 16:05:50 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2001-2004 The Apache Software Foundation. + * Copyright 2001-2006 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. @@ -86,8 +86,7 @@ * getMethodName method to override the action's default handler * selection. * - * @version $Rev$ $Date: 2005-05-14 21:27:02 -0400 (Sat, 14 May 2005) - * $ + * @version $Rev$ $Date$ */ public abstract class DispatchAction extends BaseAction { /** @@ -262,7 +261,10 @@ messages.getMessage("dispatch.method", mapping.getPath(), name); log.error(message, e); -throw e; + +String userMsg = +messages.getMessage("dispatch.method.user", mapping.getPath()); +throw new NoSuchMethodException(userMsg); } ActionForward forward = null; Modified: struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties?rev=383718&r1=383717&r2=383718&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties (original) +++ struts/extras/trunk/src/java/org/apache/struts/actions/LocalStrings.properties Mon Mar 6 16:05:50 2006 @@ -4,9 +4,10 @@ dispatch.lookup=Action[{0}] does not contain handler for resource '{1}' dispatch.mapping=ActionMapping[{0}] is not of type DispatchMapping dispatch.method=Action[{0}] does not contain method named '{1}' +dispatch.method.user=Action[{0}] does not contain specified method (check logs) dispatch.parameter=Request[{0}] does not contain handler parameter named '{1}'. This may be caused by whitespace in the label text. dispatch.return=Action[{0}] invalid return type for method '{1}' -dispatch.resource=Action[{0}] missing resource '{1}' in key method map +dispatch.resource=Action[{0}] missing resource in key method map forward.path=No context-relative URI specified via the 'parameter' attribute forward.rd=Cannot create request dispatcher for path '{0}' include.path=No context-relative URI specifi
svn commit: r383716 - in /struts/action/branches/STRUTS_1_2_BRANCH: src/examples/org/apache/struts/webapp/dispatch/ web/examples/ web/examples/WEB-INF/ web/examples/WEB-INF/dispatch/ web/examples/disp
Author: niallp Date: Mon Mar 6 16:04:15 2006 New Revision: 383716 URL: http://svn.apache.org/viewcvs?rev=383716&view=rev Log: Port to 1.2.x branch - Add "dispatch" flavour actions module to struts-examples webapp Added: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/DispatchExampleAction.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/LookupDispatchExampleAction.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/MappingDispatchExampleAction.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/MessageResources.properties (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/MessageResources_fr.properties (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/dispatch/ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/dispatch/struts-config.xml (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/actionDispatcher.jsp (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/dispatch.jsp (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/index.jsp (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/lookup.jsp (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/dispatch/mapping.jsp (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/web.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/welcome.jsp Added: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java?rev=383716&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java Mon Mar 6 16:04:15 2006 @@ -0,0 +1,117 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.webapp.dispatch; + +import java.util.Map; +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.actions.ActionDispatcher; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +/** + * Example DispatchAction. + * + * @version $Rev$ $Date$ + */ +public class ActionDispatcherExample extends Action { + +private ActionDispatcher dispatcher += new ActionDispatcher(this, +ActionDispatcher.DISPATCH_FLAVOR); + +private int fooCount; +private int barCount; + +/** + * Execute method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward execute(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +return dispatcher.execute(mapping, form, request, response); +
svn commit: r383715 - in /struts/apps/trunk/examples/src: java/org/apache/struts/webapp/dispatch/ webapp/ webapp/WEB-INF/ webapp/WEB-INF/dispatch/ webapp/dispatch/
Author: niallp Date: Mon Mar 6 16:02:38 2006 New Revision: 383715 URL: http://svn.apache.org/viewcvs?rev=383715&view=rev Log: Add "dispatch" flavour actions module to struts-examples webapp Added: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/DispatchExampleAction.java (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/LookupDispatchExampleAction.java (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/MappingDispatchExampleAction.java (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/MessageResources.properties (with props) struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/MessageResources_fr.properties (with props) struts/apps/trunk/examples/src/webapp/WEB-INF/dispatch/ struts/apps/trunk/examples/src/webapp/WEB-INF/dispatch/struts-config.xml (with props) struts/apps/trunk/examples/src/webapp/dispatch/ struts/apps/trunk/examples/src/webapp/dispatch/actionDispatcher.jsp (with props) struts/apps/trunk/examples/src/webapp/dispatch/dispatch.jsp (with props) struts/apps/trunk/examples/src/webapp/dispatch/index.jsp (with props) struts/apps/trunk/examples/src/webapp/dispatch/lookup.jsp (with props) struts/apps/trunk/examples/src/webapp/dispatch/mapping.jsp (with props) Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml struts/apps/trunk/examples/src/webapp/welcome.jsp Added: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java?rev=383715&view=auto == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java (added) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/dispatch/ActionDispatcherExample.java Mon Mar 6 16:02:38 2006 @@ -0,0 +1,117 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.webapp.dispatch; + +import java.util.Map; +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.actions.ActionDispatcher; +import org.apache.struts.action.Action; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +/** + * Example DispatchAction. + * + * @version $Rev$ $Date$ + */ +public class ActionDispatcherExample extends Action { + +private ActionDispatcher dispatcher += new ActionDispatcher(this, +ActionDispatcher.DISPATCH_FLAVOR); + +private int fooCount; +private int barCount; + +/** + * Execute method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an exception + */ +public ActionForward execute(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) +throws Exception { + +return dispatcher.execute(mapping, form, request, response); + +} + +/** + * Example "foo" method. + * + * @param mapping The ActionMapping used to select this instance + * @param form The optional ActionForm bean for this request + * @param request The servlet request we are processing + * @param response The servlet response we are creating + * + * @exception Exception if business logic throws an ex
svn commit: r383713 - /struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml
Author: niallp Date: Mon Mar 6 16:01:21 2006 New Revision: 383713 URL: http://svn.apache.org/viewcvs?rev=383713&view=rev Log: Correct the order in the validator's module struts-config.xml (logs a SAX exception if is after in an Action) Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml?rev=383713&r1=383712&r2=383713&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml Mon Mar 6 16:01:21 2006 @@ -48,25 +48,25 @@ + - + - + - @@ -74,32 +74,32 @@ - + - + - + - + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r382882 - in /struts/action/branches/STRUTS_1_2_BRANCH: src/examples/org/apache/struts/webapp/validator/ web/examples/WEB-INF/validator/ web/examples/validator/
Author: niallp Date: Fri Mar 3 08:31:45 2006 New Revision: 382882 URL: http://svn.apache.org/viewcvs?rev=382882&view=rev Log: Add email, url and mask validation to the type form Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/MessageResources.properties struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/TypeForm.java struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/validator/type.jsp Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/MessageResources.properties URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/MessageResources.properties?rev=382882&r1=382881&r2=382882&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/MessageResources.properties (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/MessageResources.properties Fri Mar 3 08:31:45 2006 @@ -31,6 +31,7 @@ errors.creditcard={0} is not a valid credit card number. errors.email={0} is an invalid e-mail address. +errors.url={0} is an invalid url. # Index Page index.title=Struts Validator @@ -70,6 +71,9 @@ typeForm.float.displayname=Float Field typeForm.floatRange.displayname=Float Range Field typeForm.integer.displayname=Integer Field +typeForm.mask.displayname=Mask Field +typeForm.email.displayname=Email Field +typeForm.url.displayname=URL Field typeForm.long.displayname=Long Field typeForm.nested.name.displayname=Name typeForm.nested=Nested Text @@ -81,6 +85,7 @@ typeForm.short.displayname=Short Field typeForm.title.create=Type Form typeForm.title=Type Form +typeForm.mask.error={0} Must only contain upper case alpahabetic letters (i.e. A-Z) # JavaScript Type Form jsTypeForm.title=JavaScript Type Form Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/TypeForm.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/TypeForm.java?rev=382882&r1=382881&r2=382882&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/TypeForm.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/validator/TypeForm.java Fri Mar 3 08:31:45 2006 @@ -49,6 +49,9 @@ private String sOverallSatisfaction = null; private String sWouldRecommend = null; private String[] sUsedLanguages = null; +private String mask = null; +private String email = null; +private String url = null; private List lNames = initNames(); @@ -146,6 +149,30 @@ public void setCreditCard(String sCreditCard) { this.sCreditCard = sCreditCard; +} + +public String getMask() { + return mask; +} + +public void setMask(String mask) { + this.mask = mask; +} + +public String getEmail() { + return email; +} + +public void setEmail(String email) { + this.email = email; +} + +public String getUrl() { + return url; +} + +public void setUrl(String url) { + this.url = url; } public String getSatisfaction() { Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml?rev=382882&r1=382881&r2=382882&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/validation.xml Fri Mar 3 08:31:45 2006 @@ -187,6 +187,20 @@ + + + + + + + + + + + mask + ^[A-Z]*$ + + Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/validator/type.jsp URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/validator/type.jsp?rev=382882&r1=382881&r2=382882&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/validator/type.jsp (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/validato
svn commit: r379730 - /struts/action/trunk/xdocs/userGuide/configuration.xml
Author: niallp Date: Wed Feb 22 00:21:18 2006 New Revision: 379730 URL: http://svn.apache.org/viewcvs?rev=379730&view=rev Log: Doc correction, Bug 37538 - SwitchAction is now in struts-extras and remove duplicated example - patch submitted by Christian Meder Modified: struts/action/trunk/xdocs/userGuide/configuration.xml Modified: struts/action/trunk/xdocs/userGuide/configuration.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/configuration.xml?rev=379730&r1=379729&r2=379730&view=diff == --- struts/action/trunk/xdocs/userGuide/configuration.xml (original) +++ struts/action/trunk/xdocs/userGuide/configuration.xml Wed Feb 22 00:21:18 2006 @@ -637,9 +637,9 @@ There are three approaches for switching from one module to another. -You can use the built-in +You can use the org.apache.struts.actions.SwitchAction -, +from the Struts Extras subproject, you can use a <forward> (global or local) and specify the contextRelative @@ -715,28 +715,6 @@ ... ]]> - - -Or, you can use -org.apache.struts.actions.SwitchAction -: - - - - - -Now, to change to ModuleB, we would use a URI like this: - - - - http://localhost:8080/toModule.do?prefix=/moduleB&page=/index.do - Using the module parameter with a hyperlink tag is even - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379724 - /struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java
Author: niallp Date: Tue Feb 21 23:54:57 2006 New Revision: 379724 URL: http://svn.apache.org/viewcvs?rev=379724&view=rev Log: Fix for Bug 38670 - Standalone Tiles NullPointerException when debugging - patch supplied by David DeWolf Modified: struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java Modified: struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java?rev=379724&r1=379723&r2=379724&view=diff == --- struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java (original) +++ struts/sandbox/trunk/tiles/src/java/org/apache/tiles/ComponentAttribute.java Tue Feb 21 23:54:57 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -118,7 +118,10 @@ * Get String representation of this object. */ public String toString() { -return value.toString(); +if (value != null) { +return value.toString(); +} +return null; } public String getType() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379705 - /struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp
Author: niallp Date: Tue Feb 21 22:18:49 2006 New Revision: 379705 URL: http://svn.apache.org/viewcvs?rev=379705&view=rev Log: Update cancel test in struts-examples webapp Modified: struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp Modified: struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp?rev=379705&r1=379704&r2=379705&view=diff == --- struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp (original) +++ struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp Tue Feb 21 22:18:49 2006 @@ -77,12 +77,10 @@ -Cancel Not Allowed - Exception (Validate false) +Cancel Ignored (Validate false) -Pressing this Cancel button should throw an -org.apache.struts.action.InvalidCancelException -since Cancellable is not set for this Action even though -the mapping is set to NOT validate. +Pressing this Cancel button should return to the Welcome page, +as validate is set to false for this Action. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379704 - /struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java
Author: niallp Date: Tue Feb 21 22:17:54 2006 New Revision: 379704 URL: http://svn.apache.org/viewcvs?rev=379704&view=rev Log: re: Bug 38374 - Change RequestProcessor to not throw InvalidCancelException if validate="false" (this makes the RP conform to ComposableRequestProcessor behaviour) Modified: struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java Modified: struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java?rev=379704&r1=379703&r2=379704&view=diff == --- struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java (original) +++ struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java Tue Feb 21 22:17:54 2006 @@ -892,6 +892,11 @@ return (true); } +// Has validation been turned off for this mapping? +if (!mapping.getValidate()) { +return (true); +} + // Was this request cancelled? If it has been, the mapping also // needs to state whether the cancellation is permissable; otherwise // the cancellation is considered to be a symptom of a programmer @@ -906,12 +911,6 @@ request.removeAttribute(Globals.CANCEL_KEY); throw new InvalidCancelException(); } -} - - -// Has validation been turned off for this mapping? -if (!mapping.getValidate()) { -return (true); } // Call the form bean's validation method - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379703 - in /struts/action/branches/STRUTS_1_2_BRANCH: src/share/org/apache/struts/action/RequestProcessor.java web/examples/exercise/html-cancel.jsp
Author: niallp Date: Tue Feb 21 22:17:05 2006 New Revision: 379703 URL: http://svn.apache.org/viewcvs?rev=379703&view=rev Log: re: Bug 38374 - Change RequestProcessor to not throw InvalidCancelException if validate="false" (this makes the RP conform to ComposableRequestProcessor behaviour) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java?rev=379703&r1=379702&r2=379703&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java Tue Feb 21 22:17:05 2006 @@ -921,6 +921,11 @@ if (form == null) { return (true); } + +// Has validation been turned off for this mapping? +if (!mapping.getValidate()) { +return (true); +} // Was this request cancelled? If it has been, the mapping also // needs to state whether the cancellation is permissable; otherwise @@ -936,11 +941,6 @@ request.removeAttribute(Globals.CANCEL_KEY); throw new InvalidCancelException(); } -} - -// Has validation been turned off for this mapping? -if (!mapping.getValidate()) { -return (true); } // Call the form bean's validation method Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp?rev=379703&r1=379702&r2=379703&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp Tue Feb 21 22:17:05 2006 @@ -77,12 +77,10 @@ -Cancel Not Allowed - Exception (Validate false) +Cancel Ignored (Validate false) -Pressing this Cancel button should throw an -org.apache.struts.action.InvalidCancelException -since Cancellable is not set for this Action even though -the mapping is set to NOT validate. +Pressing this Cancel button should return to the Welcome page, +as validate is set to false for this Action. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379693 - /struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml
Author: niallp Date: Tue Feb 21 21:27:40 2006 New Revision: 379693 URL: http://svn.apache.org/viewcvs?rev=379693&view=rev Log: Use rather than cancellable attribute in 1.2.x branch Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml?rev=379693&r1=379692&r2=379693&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml Tue Feb 21 21:27:40 2006 @@ -24,24 +24,33 @@ - + + + +input="/html-cancel.jsp" validate="true" +forward="/welcome.do"> + + + +input="/html-cancel.jsp" validate="true" +forward="/welcome.do"> + + +input="/html-cancel.jsp" validate="false" +forward="/welcome.do"> + + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379687 - in /struts/apps/trunk/examples/src/webapp: WEB-INF/exercise/struts-config.xml exercise/html-cancel.jsp
Author: niallp Date: Tue Feb 21 21:14:33 2006 New Revision: 379687 URL: http://svn.apache.org/viewcvs?rev=379687&view=rev Log: Add to "cancellable" test in struts-examples webapp Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml?rev=379687&r1=379686&r2=379687&view=diff == --- struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml (original) +++ struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml Tue Feb 21 21:14:33 2006 @@ -39,6 +39,12 @@ type="org.apache.struts.action.InvalidCancelException" path="/html-cancel.jsp"/> + + Modified: struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp?rev=379687&r1=379686&r2=379687&view=diff == --- struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp (original) +++ struts/apps/trunk/examples/src/webapp/exercise/html-cancel.jsp Tue Feb 21 21:14:33 2006 @@ -11,21 +11,47 @@ - + +Cancel Not Allowed - Error Message + + +Pressing the Cancel button should display an error +message, since Cancellable is not set for this Action +but an Exception handler has been configured to handle +the throw exception. + - - + + + + + + + -Pressing the Cancel button should thrown an exception and display an -error -message, since Cancellable is not set for this Action. + + +Â + + + + + +Cancel Not Allowed - Exception - +Pressing this Cancel button should throw an +org.apache.struts.action.InvalidCancelException +since Cancellable is not set for this Action and no exception +handler was configured. + + + + Â @@ -35,6 +61,7 @@ +Cancel Allowed (Validate true) Pressing this Cancel button should return to the Welcome page, as Cancellable is set to true for this Action. @@ -42,6 +69,24 @@ + +Â + + + + + + +Cancel Not Allowed - Exception (Validate false) + +Pressing this Cancel button should throw an +org.apache.struts.action.InvalidCancelException +since Cancellable is not set for this Action even though +the mapping is set to NOT validate. + + + + Â - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379686 - /struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java
Author: niallp Date: Tue Feb 21 21:12:29 2006 New Revision: 379686 URL: http://svn.apache.org/viewcvs?rev=379686&view=rev Log: Port fix to RequestProcessor for Bug 38374 from 1.2.x branch - Validation always skipped with Globals.CANCEL_KEY - patch submitted by Paul Benedict Modified: struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java Modified: struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java?rev=379686&r1=379685&r2=379686&view=diff == --- struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java (original) +++ struts/action/trunk/src/java/org/apache/struts/action/RequestProcessor.java Tue Feb 21 21:12:29 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2000-2005 The Apache Software Foundation. + * Copyright 2000-2006 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. @@ -48,8 +48,7 @@ * this class and overriding the method(s) whose behavior you are interested * in changing. * - * @version $Rev$ $Date: 2005-11-09 00:11:45 -0500 (Wed, 09 Nov 2005) - * $ + * @version $Rev$ $Date$ * @since Struts 1.1 */ public class RequestProcessor { @@ -191,8 +190,19 @@ processPopulate(request, response, form, mapping); -if (!processValidate(request, response, form, mapping)) { -return; +// Validate any fields of the ActionForm bean, if applicable +try { +if (!processValidate(request, response, form, mapping)) { +return; +} +} catch (InvalidCancelException e) { +ActionForward forward = processException(request, response, e, form, mapping); +processForwardConfig(request, response, forward); +return; +} catch (IOException e) { +throw e; +} catch (ServletException e) { +throw e; } // Process a forward or include specified by this mapping @@ -872,22 +882,32 @@ * false if a response has been created. * @throws IOException if an input/output error occurs * @throws ServletException if a servlet exception occurs + * @throws InvalidCancelException if a cancellation is attempted + * without the proper action configuration. */ protected boolean processValidate(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping) -throws IOException, ServletException { +throws IOException, ServletException, InvalidCancelException { if (form == null) { return (true); } -// Was this request cancelled? +// Was this request cancelled? If it has been, the mapping also +// needs to state whether the cancellation is permissable; otherwise +// the cancellation is considered to be a symptom of a programmer +// error or a spoof. if (request.getAttribute(Globals.CANCEL_KEY) != null) { -if (log.isDebugEnabled()) { -log.debug(" Cancelled transaction, skipping validation"); +if (mapping.getCancellable()) { +if (log.isDebugEnabled()) { +log.debug(" Cancelled transaction, skipping validation"); +} +return (true); +} else { +request.removeAttribute(Globals.CANCEL_KEY); +throw new InvalidCancelException(); } - -return (true); } + // Has validation been turned off for this mapping? if (!mapping.getValidate()) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379666 - /struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java
Author: niallp Date: Tue Feb 21 19:29:09 2006 New Revision: 379666 URL: http://svn.apache.org/viewcvs?rev=379666&view=rev Log: Fix checkstyle issues. Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java?rev=379666&r1=379665&r2=379666&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java Tue Feb 21 19:29:09 2006 @@ -1,14 +1,14 @@ /* - * $Id$ + * $Id$ * * Copyright 2006 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. @@ -33,13 +33,19 @@ */ public class MockMultipartRequestHandler implements MultipartRequestHandler { +/** mock ActionServlet instance. */ private ActionServlet servlet; + +/** mock ActionMapping instance. */ private ActionMapping mapping = new ActionMapping(); + +/** request elements. */ private Hashtable elements; /** * Convienience method to set a reference to a mock * ActionServlet instance. + * @param servlet Mock servlet instance. */ public void setServlet(ActionServlet servlet) { this.servlet = servlet; @@ -48,20 +54,23 @@ /** * Convienience method to set a reference to a mock * ActionMapping instance. + * @param mapping Mock action mapping instance. */ public void setMapping(ActionMapping mapping) { this.mapping = mapping; } /** - * Get the mock ActionServlet instance + * Get the mock ActionServlet instance. + * @return The mock servlet instance. */ public ActionServlet getServlet() { return this.servlet; } /** - * Get the ActionMapping instance for this mock request + * Get the ActionMapping instance for this mock request. + * @return The mock action mapping instance. */ public ActionMapping getMapping() { return this.mapping; @@ -71,13 +80,16 @@ * Mock parsing of the ServletInputStream. * * Constructs a Hashtable of elements - *from the HttpServletRequest's parameters - no - *FormFile elements are created. + *from the HttpServletRequest's parameters - no + *FormFile elements are created. + * @param request Mock request instance. + * @throws ServletException If there is a problem with + * processing the request. */ public void handleRequest(HttpServletRequest request) throws ServletException { elements = new Hashtable(); Enumeration enum = request.getParameterNames(); -while(enum.hasMoreElements()) { +while (enum.hasMoreElements()) { String key = enum.nextElement().toString(); elements.put(key, request.getParameter(key)); } @@ -93,12 +105,12 @@ public Hashtable getTextElements() { return this.elements; } - + /** * This method is called on to retrieve all the FormFile * input elements of the request. * - * @return This mock implementation returns an empty + * @return This mock implementation returns an empty *Hashtable */ public Hashtable getFileElements() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379665 - /struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java
Author: niallp Date: Tue Feb 21 19:27:32 2006 New Revision: 379665 URL: http://svn.apache.org/viewcvs?rev=379665&view=rev Log: Fix checkstyle issues. Modified: struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java Modified: struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java?rev=379665&r1=379664&r2=379665&view=diff == --- struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java (original) +++ struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java Tue Feb 21 19:27:32 2006 @@ -1,14 +1,14 @@ /* - * $Id$ + * $Id$ * * Copyright 2006 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. @@ -33,13 +33,19 @@ */ public class MockMultipartRequestHandler implements MultipartRequestHandler { +/** mock ActionServlet instance. */ private ActionServlet servlet; + +/** mock ActionMapping instance. */ private ActionMapping mapping = new ActionMapping(); + +/** request elements. */ private Hashtable elements; /** * Convienience method to set a reference to a mock * ActionServlet instance. + * @param servlet Mock servlet instance. */ public void setServlet(ActionServlet servlet) { this.servlet = servlet; @@ -48,20 +54,23 @@ /** * Convienience method to set a reference to a mock * ActionMapping instance. + * @param mapping Mock action mapping instance. */ public void setMapping(ActionMapping mapping) { this.mapping = mapping; } /** - * Get the mock ActionServlet instance + * Get the mock ActionServlet instance. + * @return The mock servlet instance. */ public ActionServlet getServlet() { return this.servlet; } /** - * Get the ActionMapping instance for this mock request + * Get the ActionMapping instance for this mock request. + * @return The mock action mapping instance. */ public ActionMapping getMapping() { return this.mapping; @@ -71,13 +80,16 @@ * Mock parsing of the ServletInputStream. * * Constructs a Hashtable of elements - *from the HttpServletRequest's parameters - no - *FormFile elements are created. + *from the HttpServletRequest's parameters - no + *FormFile elements are created. + * @param request Mock request instance. + * @throws ServletException If there is a problem with + * processing the request. */ public void handleRequest(HttpServletRequest request) throws ServletException { elements = new Hashtable(); Enumeration enum = request.getParameterNames(); -while(enum.hasMoreElements()) { +while (enum.hasMoreElements()) { String key = enum.nextElement().toString(); elements.put(key, request.getParameter(key)); } @@ -93,12 +105,12 @@ public Hashtable getTextElements() { return this.elements; } - + /** * This method is called on to retrieve all the FormFile * input elements of the request. * - * @return This mock implementation returns an empty + * @return This mock implementation returns an empty *Hashtable */ public Hashtable getFileElements() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r379661 - in /struts/action/trunk/src: java/org/apache/struts/mock/ java/org/apache/struts/util/ test/org/apache/struts/util/
Author: niallp Date: Tue Feb 21 19:02:14 2006 New Revision: 379661 URL: http://svn.apache.org/viewcvs?rev=379661&view=rev Log: Port fix for Bug 38534 from 1.2.x branch - DOS attack, application hack - includes new mock MultipartRequestWrapper implementation and test case submitted by Henri Yandell Added: struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java (with props) struts/action/trunk/src/test/org/apache/struts/util/TestRequestUtilsPopulate.java (with props) Modified: struts/action/trunk/src/java/org/apache/struts/mock/MockHttpServletRequest.java struts/action/trunk/src/java/org/apache/struts/util/RequestUtils.java Modified: struts/action/trunk/src/java/org/apache/struts/mock/MockHttpServletRequest.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/mock/MockHttpServletRequest.java?rev=379661&r1=379660&r2=379661&view=diff == --- struts/action/trunk/src/java/org/apache/struts/mock/MockHttpServletRequest.java (original) +++ struts/action/trunk/src/java/org/apache/struts/mock/MockHttpServletRequest.java Tue Feb 21 19:02:14 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -46,8 +46,7 @@ * WARNING - Because unit tests operate in a single * threaded environment, no synchronization is performed. * - * @version $Rev$ $Date: 2005-11-12 11:52:08 -0500 (Sat, 12 Nov 2005) - * $ + * @version $Rev$ $Date$ */ public class MockHttpServletRequest implements HttpServletRequest { // - Instance Variables @@ -103,6 +102,11 @@ */ protected String method = null; +/** + * The Content Type for this request. + */ +protected String contentType = null; + // --- Constructors public MockHttpServletRequest() { super(); @@ -157,6 +161,10 @@ this.method = method; } +public void setContentType(String contentType) { +this.contentType = contentType; +} + public void setPathElements(String contextPath, String servletPath, String pathInfo, String queryString) { this.contextPath = contextPath; @@ -322,7 +330,7 @@ } public String getContentType() { -throw new UnsupportedOperationException(); +return (contentType); } public ServletInputStream getInputStream() { Added: struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java?rev=379661&view=auto == --- struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java (added) +++ struts/action/trunk/src/java/org/apache/struts/mock/MockMultipartRequestHandler.java Tue Feb 21 19:02:14 2006 @@ -0,0 +1,133 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.mock; + +import java.util.Enumeration; +import java.util.Hashtable; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import org.apache.struts.action.ActionServlet; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.upload.MultipartRequestHandler; + +/** + * Mock MultipartRequestHandler object for unit tests. + * + * @version $Rev$ + */ +public class MockMultipartRequestHandler implements MultipartRequestHandler { + +private ActionServlet servlet; +private ActionMapping mapping = new ActionMapping(); +private Hashtable elements; + +/** + * Convienience method to set a reference to a mock + * ActionServlet instance. + */ +public void setServlet(ActionServlet servlet) { +this.servlet = servlet; +} + +/** + * Convienience method to set a reference to a mock + * ActionMapping instance. + */ +public void setMapping(Action
svn commit: r379660 - in /struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts: mock/MockHttpServletRequest.java mock/MockMultipartRequestHandler.java util/TestRequestUtilsPopulate.java
Author: niallp Date: Tue Feb 21 18:59:19 2006 New Revision: 379660 URL: http://svn.apache.org/viewcvs?rev=379660&view=rev Log: Test case for Bug 38534 - DOS attack, application hack - patch submitted by Henri Yandell (includes new mock MultipartRequestHandler implementation) Added: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/util/TestRequestUtilsPopulate.java (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockHttpServletRequest.java Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockHttpServletRequest.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockHttpServletRequest.java?rev=379660&r1=379659&r2=379660&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockHttpServletRequest.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockHttpServletRequest.java Tue Feb 21 18:59:19 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -144,6 +144,15 @@ */ protected HttpSession session = null; +/** + * The HTTP request method. + */ +protected String method = null; + +/** + * The Content Type for this request. + */ +protected String contentType = null; // - Public Methods @@ -171,6 +180,13 @@ this.locale = locale; } +public void setMethod(String method) { +this.method = method; +} + +public void setContentType(String contentType) { +this.contentType = contentType; +} public void setPathElements(String contextPath, String servletPath, String pathInfo, String queryString) { @@ -233,7 +249,7 @@ public String getMethod() { -throw new UnsupportedOperationException(); +return (method); } @@ -365,7 +381,7 @@ public String getContentType() { -throw new UnsupportedOperationException(); +return (contentType); } Added: struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java?rev=379660&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/test/org/apache/struts/mock/MockMultipartRequestHandler.java Tue Feb 21 18:59:19 2006 @@ -0,0 +1,133 @@ +/* + * $Id$ + * + * Copyright 2006 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.struts.mock; + +import java.util.Enumeration; +import java.util.Hashtable; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import org.apache.struts.action.ActionServlet; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.upload.MultipartRequestHandler; + +/** + * Mock MultipartRequestHandler object for unit tests. + * + * @version $Rev$ + */ +public class MockMultipartRequestHandler implements MultipartRequestHandler { + +private ActionServlet servlet; +private ActionMapping mapping = new ActionMapping(); +private Hashtable elements; + +/** + * Convienience method to set a reference to a mock + * ActionServlet instance. + */ +public void setServlet(ActionServlet servlet) { +this.servlet = servlet; +} + +/** + * Convienience method to set a reference to a mock + * ActionMapping instance. + */ +public void setMapping(ActionMapping mapping) { +this.mapping = mapping; +} + +
svn commit: r378034 - /struts/site/trunk/xdocs/navigation.xml
Author: niallp Date: Wed Feb 15 08:53:39 2006 New Revision: 378034 URL: http://svn.apache.org/viewcvs?rev=378034&view=rev Log: Make the links to the sub-projects absolute so they don't break if only site is checked out - thanks to Ted Husted for the suggestion :-) Modified: struts/site/trunk/xdocs/navigation.xml Modified: struts/site/trunk/xdocs/navigation.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/navigation.xml?rev=378034&r1=378033&r2=378034&view=diff == --- struts/site/trunk/xdocs/navigation.xml (original) +++ struts/site/trunk/xdocs/navigation.xml Wed Feb 15 08:53:39 2006 @@ -56,25 +56,25 @@ - - +http://struts.apache.org/struts-action/index.html"/> +http://struts.apache.org/struts-shale/index.html"/> - - - - - - - +http://struts.apache.org/struts-el/index.html"/> +http://struts.apache.org/struts-extras/index.html"/> +http://struts.apache.org/struts-flow/index.html"/> +http://struts.apache.org/struts-faces/index.html"/> +http://struts.apache.org/struts-taglib/index.html"/> +http://struts.apache.org/struts-scripting/index.html"/> +http://struts.apache.org/struts-tiles/index.html"/> http://wiki.apache.org/struts/StrutsExtensions"/> - - +http://struts.apache.org/struts-apps/index.html"/> +http://struts.apache.org/struts-sandbox/index.html"/> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r378033 - /struts/action/trunk/xdocs/userGuide/release-notes.xml
Author: niallp Date: Wed Feb 15 08:48:29 2006 New Revision: 378033 URL: http://svn.apache.org/viewcvs?rev=378033&view=rev Log: Update the 1.3.0 release notes with changes since November Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes.xml?rev=378033&r1=378032&r2=378033&view=diff == --- struts/action/trunk/xdocs/userGuide/release-notes.xml (original) +++ struts/action/trunk/xdocs/userGuide/release-notes.xml Wed Feb 15 08:48:29 2006 @@ -106,6 +106,10 @@ Patrick Lightbody . + +We also welcome Wendy Smoak's acceptance to join the +Struts PMC (project management committee). + Struts Action Library @@ -138,6 +142,54 @@ projects any way you like!) +Dependency Changes + +Specification Changes + +The 1.3.x series of Struts Action Framework now has +a minumum requirement of the following specification +versions: + + +Java Servlet 2.3 and JavaServer Pages (JSP) 1.2 + + +Java 2 Standard Platform Edition (J2SE) 1.4 + + + +Software Component Changes + +Struts 1.3.0 has changed its dependency on the following +software components: + + +New dependency on Commons Chain 1.0 - see +http://jakarta.apache.org/commons/chain/";> +Chain Website +. + + +Upgraded to Commons FileUpload 1.1 (previously 1.0) - see +http://jakarta.apache.org/commons/fileupload/changes-report.html";> +FileUpload 1.1 Release Notes +. + + +New dependency on Commons IO 1.1 (required by FileUpload 1.1) - see +http://jakarta.apache.org/commons/io/";> +IO Website +. + + +Upgraded to Commons Validator 1.2 (previously 1.1.4) - see +http://jakarta.apache.org/commons/validator/changes-report.html";> +Validator 1.2.0 Release Notes +. + + + + Struts Applications @@ -152,6 +204,11 @@ In MailReader, fix invalid password limit error. + +The examples application's config files (struts +and validation) in the Validator module have been +split into up into one per example page. + Struts Action Framework @@ -419,15 +476,42 @@ </action> +Other Miscellaneous Changes + + +Added support for resetting DynaActionForm property +values through configuration. + + + Changed the MultipartRequestWrapper to extend the + HttpServletRequestWrapper which was introduced in Servlet 2.3. + This fixed the issue that MultipartRequestWrapper didn't support + Servlet 2.4 methods and means that mutlipart requests no longer + have to be "un-wrapped" before forwarding - now making parameters + parsed from the multipart request available after forwarding. + + +Added support for per-field character encoding in multipart +requests. + + + Struts EL -Aside from addressing deprecrations, there was one minor -change to Struts EL. +Aside from addressing
svn commit: r377929 - in /struts/action/branches/STRUTS_1_2_BRANCH: doc/userGuide/release-notes.xml src/share/org/apache/struts/util/RequestUtils.java web/examples/upload/upload.jsp
Author: niallp Date: Tue Feb 14 20:02:40 2006 New Revision: 377929 URL: http://svn.apache.org/viewcvs?rev=377929&view=rev Log: Fix 1.2.x branch for Bug 38534 - DOS attack, application hack - thanks to Bogdan Serban for reporting this. Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java struts/action/branches/STRUTS_1_2_BRANCH/web/examples/upload/upload.jsp Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=377929&r1=377928&r2=377929&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Tue Feb 14 20:02:40 2006 @@ -40,6 +40,13 @@ ModificationRevisionBugzillaDescription + 2006-02-15 + http://svn.apache.org/viewcvs.cgi?rev=X&view=rev";>X + (http://svn.apache.org/viewcvs?rev=X&view=rev";>X) + http://issues.apache.org/bugzilla/show_bug.cgi?id=38534";>38534 + DOS attack, application hack. + + 2006-02-14 http://svn.apache.org/viewcvs.cgi?rev=377562&view=rev";>377562 (http://svn.apache.org/viewcvs?rev=377805&view=rev";>377805) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java?rev=377929&r1=377928&r2=377929&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/util/RequestUtils.java Tue Feb 14 20:02:40 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -406,6 +406,11 @@ String method = request.getMethod(); boolean isMultipart = false; +if (bean instanceof ActionForm) { +((ActionForm) bean).setMultipartRequestHandler(null); +} + +MultipartRequestHandler multipartHandler = null; if ((contentType != null) && (contentType.startsWith("multipart/form-data")) && (method.equalsIgnoreCase("POST"))) { @@ -425,13 +430,7 @@ } // Obtain a MultipartRequestHandler -MultipartRequestHandler multipartHandler = getMultipartHandler(request); - -// Set the multipart request handler for our ActionForm. -// If the bean isn't an ActionForm, an exception would have been -// thrown earlier, so it's safe to assume that our bean is -// in fact an ActionForm. -((ActionForm) bean).setMultipartRequestHandler(multipartHandler); +multipartHandler = getMultipartHandler(request); if (multipartHandler != null) { isMultipart = true; @@ -493,6 +492,14 @@ BeanUtils.populate(bean, properties); } catch(Exception e) { throw new ServletException("BeanUtils.populate", e); +} finally { +if (multipartHandler != null) { +// Set the multipart request handler for our ActionForm. +// If the bean isn't an ActionForm, an exception would have been +// thrown earlier, so it's safe to assume that our bean is +// in fact an ActionForm. +((ActionForm) bean).setMultipartRequestHandler(multipartHandler); +} } } Modified: struts/action/branches/STRUTS_1_2_BRANCH/web/examples/upload/upload.jsp URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/web/examples/upload/upload.jsp?rev=377929&r1=377928&r2=377929&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/web/examples/upload/upload.jsp (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/web/examples/upload/upload.jsp Tue Feb 14 20:02:40 2006 @@ -32,5 +32,22 @@ + + +Th
svn commit: r377907 - /struts/el/branches/STRUTS_1_2_BRANCH/build.xml
Author: niallp Date: Tue Feb 14 16:33:49 2006 New Revision: 377907 URL: http://svn.apache.org/viewcvs?rev=377907&view=rev Log: Reverse change accidental change. Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/build.xml?rev=377907&r1=377906&r2=377907&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/build.xml Tue Feb 14 16:33:49 2006 @@ -52,7 +52,7 @@ These default values assume that the checked out locations are the same as the full repository paths, and that you are building the trunk. --> - + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377860 - in /struts/el/branches/STRUTS_1_2_BRANCH: build.xml conf/share/MANIFEST.MF
Author: niallp Date: Tue Feb 14 14:21:50 2006 New Revision: 377860 URL: http://svn.apache.org/viewcvs?rev=377860&view=rev Log: Update 1.2.x ant build to add a manifest for the el jar and automatically put the version in the jar's manifest Added: struts/el/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF (with props) Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/build.xml?rev=377860&r1=377859&r2=377860&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/build.xml Tue Feb 14 14:21:50 2006 @@ -52,7 +52,7 @@ These default values assume that the checked out locations are the same as the full repository paths, and that you are building the trunk. --> - + @@ -196,6 +196,8 @@ + + @@ -212,6 +214,9 @@ + + +
svn commit: r377859 - in /struts/action/branches/STRUTS_1_2_BRANCH: build.xml conf/share/MANIFEST.MF
Author: niallp Date: Tue Feb 14 14:19:52 2006 New Revision: 377859 URL: http://svn.apache.org/viewcvs?rev=377859&view=rev Log: Update 1.2.x ant build to automatically put the version in the jar's manifest Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/build.xml?rev=377859&r1=377858&r2=377859&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/build.xml Tue Feb 14 14:19:52 2006 @@ -253,6 +253,8 @@ + + @@ -355,6 +357,9 @@ + + + @@ -422,7 +427,7 @@ value="http://jakarta.apache.org/struts/tags"/> Modified: struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF?rev=377859&r1=377858&r2=377859&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF Tue Feb 14 14:19:52 2006 @@ -2,11 +2,11 @@ Extension-Name: Struts Framework Specification-Title: Struts Framework Specification-Vendor: The Apache Software Foundation -Specification-Version: 1.2.9-SNAPSHOT +Specification-Version: @version@ Implementation-Title: Struts Framework Implementation-Vendor: The Apache Software Foundation Implementation-Vendor-Id: org.apache -Implementation-Version: 1.2.9-SNAPSHOT +Implementation-Version: @version@ Class-Path: commons-beanutils.jar commons-digester.jar - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377819 - in /struts/el/branches/STRUTS_1_2_BRANCH: build.xml project.xml
Author: niallp Date: Tue Feb 14 12:25:54 2006 New Revision: 377819 URL: http://svn.apache.org/viewcvs?rev=377819&view=rev Log: Struts EL 1.2.x Branch - roll the version number Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml struts/el/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/el/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/build.xml?rev=377819&r1=377818&r2=377819&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/build.xml Tue Feb 14 12:25:54 2006 @@ -96,7 +96,7 @@ - + Modified: struts/el/branches/STRUTS_1_2_BRANCH/project.xml URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/project.xml?rev=377819&r1=377818&r2=377819&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/project.xml (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/project.xml Tue Feb 14 12:25:54 2006 @@ -4,7 +4,7 @@ struts-el struts struts-el - 1.2.8 + 1.2.9-SNAPSHOT 2003 org.apache.strutsel Extension/adaptation of Struts tag libraries to use JSP 1.2 expression language. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377818 - in /struts/action/branches/STRUTS_1_2_BRANCH: build.xml conf/share/MANIFEST.MF doc/userGuide/release-notes-1.2.8.xml doc/userGuide/release-notes.xml project.xml
Author: niallp Date: Tue Feb 14 12:24:24 2006 New Revision: 377818 URL: http://svn.apache.org/viewcvs?rev=377818&view=rev Log: Struts 1.2.x Branch - start a new set of release notes, roll the version number Added: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes-1.2.8.xml (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml struts/action/branches/STRUTS_1_2_BRANCH/project.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/build.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/build.xml?rev=377818&r1=377817&r2=377818&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/build.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/build.xml Tue Feb 14 12:24:24 2006 @@ -147,7 +147,7 @@ - + Modified: struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF?rev=377818&r1=377817&r2=377818&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/conf/share/MANIFEST.MF Tue Feb 14 12:24:24 2006 @@ -2,11 +2,11 @@ Extension-Name: Struts Framework Specification-Title: Struts Framework Specification-Vendor: The Apache Software Foundation -Specification-Version: 1.2.8 +Specification-Version: 1.2.9-SNAPSHOT Implementation-Title: Struts Framework Implementation-Vendor: The Apache Software Foundation Implementation-Vendor-Id: org.apache -Implementation-Version: 1.2.8 +Implementation-Version: 1.2.9-SNAPSHOT Class-Path: commons-beanutils.jar commons-digester.jar Added: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes-1.2.8.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes-1.2.8.xml?rev=377818&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes-1.2.8.xml (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes-1.2.8.xml Tue Feb 14 12:24:24 2006 @@ -0,0 +1,169 @@ + + + +Struts Release Notes (since 1.2.7) + + + + + + The main motivation for releasing Struts 1.2.8 is to fix a + Cross Site Scripting (XSS) vulnerability which has + been identified by Hacktics.com. More details available on the + http://wiki.apache.org/struts/StrutsXssVulnerability";>Wiki. + + + This section contains release notes for changes that have taken + place since + Version 1.2.7. + To keep up-to-date on all changes to Struts, subscribe to the + dev@ list. + + + Notes on upgrading are maintained in the + http://wiki.apache.org/struts/StrutsUpgrade";>Wiki Upgrade pages. + The wiki is a community maintained resource - please feel free to add your + input so that everyone can benefit from the collective experience. + + + For the version requirements of each library, see the + Installation chapter. + + + + Version 1.2.8 + + + After http://svn.apache.org/viewcvs.cgi/struts/core/tags/STRUTS_1_2_6/";>Version 1.2.6 was tagged + the http://svn.apache.org/viewcvs.cgi/struts/core/branches/STRUTS_1_2_BRANCH/";>1.2 Branch + was created and work started on the next version (1.3.x series). Work has continued on + both versions and Revision numbers shown in brackets are where a change has been ported + from the current development version into the 1.2 Branch. + + + + + ModificationRevisionBugzillaDescription + + + 2005-11-07 + http://svn.apache.org/viewcvs?rev=331261&view=rev";>331261 + (http://svn.apache.org/viewcvs.cgi?rev=331265&view=rev";>331265) + http://issues.apache.org/bugzilla/show_bug.cgi?id=37131";>37131 + Escape newlines in Validator variables. + + + 2005-11-05 + http://svn.apache.org/viewcvs?rev=191272&view=rev";>191272 + and http://svn.apache.org/viewcvs?rev=192949&view=rev";>192949 +
svn commit: r377805 - in /struts/action/branches/STRUTS_1_2_BRANCH: src/examples/org/apache/struts/webapp/exercise/ src/share/org/apache/struts/action/ src/share/org/apache/struts/config/ web/example/
Author: niallp Date: Tue Feb 14 11:26:15 2006 New Revision: 377805 URL: http://svn.apache.org/viewcvs?rev=377805&view=rev Log: Fix Bug 38374 in 1.2.x Branch - Validation always skipped with Globals.CANCEL_KEY - thanks to Paul Benedict for reporting this and providing the patch. Added: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java (with props) struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/html-cancel.jsp (with props) Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/exercise/MessageResources.properties struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/config/ActionConfig.java struts/action/branches/STRUTS_1_2_BRANCH/web/example/WEB-INF/struts-config-registration.xml struts/action/branches/STRUTS_1_2_BRANCH/web/example/WEB-INF/struts-config.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/exercise/struts-config.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/WEB-INF/validator/struts-config.xml struts/action/branches/STRUTS_1_2_BRANCH/web/examples/exercise/index.html Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/exercise/MessageResources.properties URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/exercise/MessageResources.properties?rev=377805&r1=377804&r2=377805&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/exercise/MessageResources.properties (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/examples/org/apache/struts/webapp/exercise/MessageResources.properties Tue Feb 14 11:26:15 2006 @@ -6,6 +6,7 @@ errors.footer= errors.prefix= errors.suffix= +errors.invalidCancel=Cancel is a not an valid operation for this Action. property1error1=Property 1, Error 1 property2error1=Property 2, Error 1 Added: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java?rev=377805&view=auto == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java (added) +++ struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java Tue Feb 14 11:26:15 2006 @@ -0,0 +1,42 @@ +/* + * $Id$ + * + * Copyright 2000-2004 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.struts.action; + + +/** + * Thrown when a token generated by the Cancel tag is found in the + * request, but the cancellable property for the Action Mapping is not set. + * + */ +public class InvalidCancelException extends Exception { +/** + * Default constructor. + */ +public InvalidCancelException() { +super(); +} + +/** + * Construct the exception with the specified message. + * + * @param message the message + */ +public InvalidCancelException(String message) { +super(message); +} +} Propchange: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java -- svn:eol-style = native Propchange: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/InvalidCancelException.java -- svn:keywords = Date Author Id Revision HeadURL Modified: struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/apache/struts/action/RequestProcessor.java?rev=377805&r1=377804&r2=377805&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/src/share/org/a
svn commit: r377584 - /struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java
Author: niallp Date: Mon Feb 13 18:36:06 2006 New Revision: 377584 URL: http://svn.apache.org/viewcvs?rev=377584&view=rev Log: Log each command's execution, for debug purposes. Modified: struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java Modified: struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java?rev=377584&r1=377583&r2=377584&view=diff == --- struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java (original) +++ struts/action/trunk/src/java/org/apache/struts/chain/commands/ActionCommandBase.java Mon Feb 13 18:36:06 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2005 The Apache Software Foundation. + * Copyright 2005-2006 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ */ package org.apache.struts.chain.commands; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.commons.chain.Context; import org.apache.struts.chain.contexts.ActionContext; @@ -26,6 +28,13 @@ * that class. */ public abstract class ActionCommandBase implements ActionCommand { + +/** + * Provide Commons Logging instance for this class. + */ +private static final Log LOG = +LogFactory.getLog(ActionCommandBase.class); + // See interface for Javadoc public abstract boolean execute(ActionContext actionContext) throws Exception; @@ -33,6 +42,9 @@ // See interface for Javadoc public boolean execute(Context context) throws Exception { +if (LOG.isDebugEnabled()) { +LOG.debug("Executing " + getClass().getName()); +} return execute((ActionContext) context); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377580 - /struts/action/trunk/conf/java/chain-config.xml
Author: niallp Date: Mon Feb 13 18:24:01 2006 New Revision: 377580 URL: http://svn.apache.org/viewcvs?rev=377580&view=rev Log: Correct Tiles command package name Modified: struts/action/trunk/conf/java/chain-config.xml Modified: struts/action/trunk/conf/java/chain-config.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/conf/java/chain-config.xml?rev=377580&r1=377579&r2=377580&view=diff == --- struts/action/trunk/conf/java/chain-config.xml (original) +++ struts/action/trunk/conf/java/chain-config.xml Mon Feb 13 18:24:01 2006 @@ -246,7 +246,7 @@ be used from global exception handlers. +className="org.apache.struts.tiles.commands.TilesPreProcessor"/> --> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377579 - /struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java
Author: niallp Date: Mon Feb 13 18:21:28 2006 New Revision: 377579 URL: http://svn.apache.org/viewcvs?rev=377579&view=rev Log: Fix for Bug 34445 - use charsets given by browser for form field encodings - reported by Ralf Hauser. Modified: struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java Modified: struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java?rev=377579&r1=377578&r2=377579&view=diff == --- struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java (original) +++ struts/action/trunk/src/java/org/apache/struts/upload/CommonsMultipartRequestHandler.java Mon Feb 13 18:21:28 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -18,6 +18,7 @@ package org.apache.struts.upload; import org.apache.commons.fileupload.DiskFileUpload; +import org.apache.commons.fileupload.disk.DiskFileItem; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.logging.Log; @@ -46,8 +47,7 @@ * interface by providing a wrapper around the Jakarta Commons FileUpload * library. * - * @version $Rev$ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005) - * $ + * @version $Rev$ $Date$ * @since Struts 1.1 */ public class CommonsMultipartRequestHandler implements MultipartRequestHandler { @@ -380,7 +380,21 @@ String name = item.getFieldName(); String value = null; boolean haveValue = false; -String encoding = request.getCharacterEncoding(); +String encoding = null; + +if (item instanceof DiskFileItem) { +encoding = ((DiskFileItem)item).getCharSet(); +if (log.isDebugEnabled()) { +log.debug("DiskFileItem.getCharSet=[" + encoding + "]"); +} +} + +if (encoding == null) { +encoding = request.getCharacterEncoding(); +if (log.isDebugEnabled()) { +log.debug("request.getCharacterEncoding=[" + encoding + "]"); +} +} if (encoding != null) { try { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377142 - /struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java
Author: niallp Date: Sat Feb 11 22:58:25 2006 New Revision: 377142 URL: http://svn.apache.org/viewcvs?rev=377142&view=rev Log: Add debug log statement for redirect/forward Modified: struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java Modified: struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java?rev=377142&r1=377141&r2=377142&view=diff == --- struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java (original) +++ struts/action/trunk/src/java/org/apache/struts/chain/commands/servlet/PerformForward.java Sat Feb 11 22:58:25 2006 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2005 The Apache Software Foundation. + * Copyright 2003-2006 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. @@ -23,6 +23,8 @@ import org.apache.struts.config.ModuleConfig; import org.apache.struts.util.MessageResources; import org.apache.struts.util.RequestUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; @@ -31,10 +33,10 @@ * Perform forwarding or redirection based on the specified * ForwardConfig (if any). * - * @version $Rev$ $Date: 2005-11-12 13:01:44 -0500 (Sat, 12 Nov 2005) - * $ + * @version $Rev$ $Date$ */ public class PerformForward extends AbstractPerformForward { +private static final Log LOG = LogFactory.getLog(PerformForward.class); // --- Protected Methods /** @@ -77,13 +79,18 @@ if (uri.startsWith("/")) { uri = request.getContextPath() + uri; } +if (LOG.isDebugEnabled()) { +LOG.debug("Redirecting to " + uri); +} sacontext.getResponse().sendRedirect(sacontext.getResponse() .encodeRedirectURL(uri)); } else { RequestDispatcher rd = sacontext.getContext().getRequestDispatcher(uri); - +if (LOG.isDebugEnabled()) { +LOG.debug("Forwarding to " + uri); +} rd.forward(request, sacontext.getResponse()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377088 - /struts/action/trunk/xdocs/userGuide/building_controller.xml
Author: niallp Date: Sat Feb 11 15:47:55 2006 New Revision: 377088 URL: http://svn.apache.org/viewcvs?rev=377088&view=rev Log: Fix for Bug 37474 - minor doc changes - thanks to Christian Meder Modified: struts/action/trunk/xdocs/userGuide/building_controller.xml Modified: struts/action/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/building_controller.xml?rev=377088&r1=377087&r2=377088&view=diff == --- struts/action/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/action/trunk/xdocs/userGuide/building_controller.xml Sat Feb 11 15:47:55 2006 @@ -1225,9 +1225,9 @@ ]]> -Note that there is nothing special about the name value. -Your map-backed property could instead be named property, -thingy, or any other bean property name you prefer. +Note that there is nothing special about the name "value". +Your map-backed property could instead be named "property", +"thingy", or any other bean property name you prefer. You can even have multiple map-backed properties on the same bean. @@ -1867,7 +1867,7 @@ named struts-config.xml and place it in the WEB-INF directory of your application. -This format of this document is described by the Document +The format of this document is described by the Document Type Definition (DTD) maintained at http://struts.apache.org/dtds/struts-config_1_3.dtd";> @@ -2203,7 +2203,7 @@ [Since Apache Struts 1.2.0] As an application grows in size, so will the number of action mappings. -Wildcards can be used to combine similiar mappings +Wildcards can be used to combine similar mappings into one more generic mapping. @@ -2262,7 +2262,7 @@ against a path without any wildcards in it, no wildcard matching is performed -and order in not important. +and order is not important. Wildcard patterns can contain one or more of the following - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377085 - in /struts: el/trunk/src/java/org/apache/strutsel/taglib/html/ el/trunk/src/tld/ taglib/trunk/src/tld/
Author: niallp Date: Sat Feb 11 15:25:01 2006 New Revision: 377085 URL: http://svn.apache.org/viewcvs?rev=377085&view=rev Log: Fix Bug 37527 for EL and Nested tags - text and textarea are missing the onselect attribute - reported by tdeverdiere Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTagBeanInfo.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTagBeanInfo.java struts/el/trunk/src/tld/struts-html-el.tld struts/taglib/trunk/src/tld/struts-nested.tld Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java?rev=377085&r1=377084&r2=377085&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java Sat Feb 11 15:25:01 2006 @@ -183,6 +183,12 @@ private String onmouseupExpr; /** + * Instance variable mapped to "onselect" tag attribute. (Mapping set in + * associated BeanInfo class.) + */ +private String onselectExpr; + +/** * Instance variable mapped to "property" tag attribute. (Mapping set in * associated BeanInfo class.) */ @@ -443,6 +449,14 @@ } /** + * Getter method for "onselect" tag attribute. (Mapping set in associated + * BeanInfo class.) + */ +public String getOnselectExpr() { +return (onselectExpr); +} + +/** * Getter method for "property" tag attribute. (Mapping set in associated * BeanInfo class.) */ @@ -723,6 +737,14 @@ } /** + * Setter method for "onselect" tag attribute. (Mapping set in associated + * BeanInfo class.) + */ +public void setOnselectExpr(String onselectExpr) { +this.onselectExpr = onselectExpr; +} + +/** * Setter method for "property" tag attribute. (Mapping set in associated * BeanInfo class.) */ @@ -832,6 +854,7 @@ setOnmouseoutExpr(null); setOnmouseoverExpr(null); setOnmouseupExpr(null); +setOnselectExpr(null); setPropertyExpr(null); setReadonlyExpr(null); setStyleExpr(null); @@ -1012,6 +1035,12 @@ EvalHelper.evalString("onmouseup", getOnmouseupExpr(), this, pageContext)) != null) { setOnmouseup(string); +} + +if ((string = +EvalHelper.evalString("onselect", getOnselectExpr(), this, +pageContext)) != null) { +setOnselect(string); } if ((string = Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTagBeanInfo.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTagBeanInfo.java?rev=377085&r1=377084&r2=377085&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTagBeanInfo.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTagBeanInfo.java Sat Feb 11 15:25:01 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -185,6 +185,12 @@ try { proplist.add(new PropertyDescriptor("onmouseup", ELTextTag.class, null, "setOnmouseupExpr")); +} catch (IntrospectionException ex) { +} + +try { +proplist.add(new PropertyDescriptor("onselect", ELTextTag.class, +null, "setOnselectExpr")); } catch (IntrospectionException ex) { } Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java?rev=377085&r1=377084&r2=377085&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java Sat Feb 11 15:25:01 2006 @@ -184,6 +184,12 @@ private String onmouseupExpr; /** + * Instance variable mapped to "onsele
svn commit: r377073 - /struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java
Author: niallp Date: Sat Feb 11 14:32:59 2006 New Revision: 377073 URL: http://svn.apache.org/viewcvs?rev=377073&view=rev Log: Fix for Bug 38529 - BaseHandlerTag should use LoopTag rather then LoopTagSupport to verify JSLT - reported by John Petrocik Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java?rev=377073&r1=377072&r2=377073&view=diff == --- struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java (original) +++ struts/taglib/trunk/src/java/org/apache/struts/taglib/html/BaseHandlerTag.java Sat Feb 11 14:32:59 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -40,8 +40,7 @@ * implement the doStartTag() or doEndTag() methods. Subclasses should provide * appropriate implementations of these. * - * @version $Rev$ $Date: 2005-08-21 19:08:45 -0400 (Sun, 21 Aug 2005) - * $ + * @version $Rev$ $Date$ */ public abstract class BaseHandlerTag extends BodyTagSupport { /** @@ -250,8 +249,8 @@ * The message resources key of the advisory title. */ private String titleKey = null; -private Class loopTagSupportClass = null; -private Method loopTagSupportGetStatus = null; +private Class loopTagClass = null; +private Method loopTagGetStatus = null; private Class loopTagStatusClass = null; private Method loopTagStatusGetIndex = null; private boolean triedJstlInit = false; @@ -804,12 +803,12 @@ triedJstlInit = true; try { -loopTagSupportClass = +loopTagClass = RequestUtils.applicationClass( -"javax.servlet.jsp.jstl.core.LoopTagSupport"); +"javax.servlet.jsp.jstl.core.LoopTag"); -loopTagSupportGetStatus = -loopTagSupportClass.getDeclaredMethod("getLoopStatus", null); +loopTagGetStatus = +loopTagClass.getDeclaredMethod("getLoopStatus", null); loopTagStatusClass = RequestUtils.applicationClass( @@ -828,13 +827,13 @@ if (triedJstlSuccess) { try { Object loopTag = -findAncestorWithClass(this, loopTagSupportClass); +findAncestorWithClass(this, loopTagClass); if (loopTag == null) { return null; } -Object status = loopTagSupportGetStatus.invoke(loopTag, null); +Object status = loopTagGetStatus.invoke(loopTag, null); return (Integer) loopTagStatusGetIndex.invoke(status, null); } catch (IllegalAccessException ex) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377060 - /struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java
Author: niallp Date: Sat Feb 11 13:32:41 2006 New Revision: 377060 URL: http://svn.apache.org/viewcvs?rev=377060&view=rev Log: Fix for Bug 38081 - Warnings on generating validator's static javascript - patch supplied by Dmitrii CRETU Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java?rev=377060&r1=377059&r2=377060&view=diff == --- struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java (original) +++ struts/taglib/trunk/src/java/org/apache/struts/taglib/html/JavascriptValidatorTag.java Sat Feb 11 13:32:41 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2001-2005 The Apache Software Foundation. + * Copyright 2001-2006 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. @@ -53,8 +53,7 @@ * the validation rules loaded by the ValidatorPlugIn defined in * the struts-config.xml file. * - * @version $Rev$ $Date: 2005-11-07 08:04:49 -0500 (Mon, 07 Nov 2005) - * $ + * @version $Rev$ $Date$ * @since Struts 1.1 */ public class JavascriptValidatorTag extends BodyTagSupport { @@ -376,14 +375,16 @@ Locale locale = TagUtils.getInstance().getUserLocale(this.pageContext, null); -Form form = resources.getForm(locale, formName); - -if ("true".equalsIgnoreCase(dynamicJavascript) && (form == null)) { -throw new JspException("No form found under '" + formName -+ "' in locale '" + locale -+ "'. A form must be defined in the " -+ "Commons Validator configuration when " -+ "dynamicJavascript=\"true\" is set."); +Form form = null; +if ("true".equalsIgnoreCase(dynamicJavascript)) { +form = resources.getForm(locale, formName); +if (form == null) { +throw new JspException("No form found under '" + formName ++ "' in locale '" + locale ++ "'. A form must be defined in the " ++ "Commons Validator configuration when " ++ "dynamicJavascript=\"true\" is set."); +} } if (form != null) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r377024 - /struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java
Author: niallp Date: Sat Feb 11 11:39:19 2006 New Revision: 377024 URL: http://svn.apache.org/viewcvs?rev=377024&view=rev Log: Fix for Bug 37801 - change ModuleConfigVerifier to use Commons Logging - reported by Martin Cooper Modified: struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java Modified: struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java URL: http://svn.apache.org/viewcvs/struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java?rev=377024&r1=377023&r2=377024&view=diff == --- struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java (original) +++ struts/extras/trunk/src/java/org/apache/struts/plugins/ModuleConfigVerifier.java Sat Feb 11 11:39:19 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -24,6 +24,8 @@ import org.apache.struts.config.ModuleConfig; import org.apache.struts.config.PlugInConfig; import org.apache.struts.util.RequestUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.servlet.ServletException; @@ -36,14 +38,16 @@ * be thrown from the init method, which will ultimately cause * the initialization of your Struts controller servlet to fail. * - * Under all circumstances, errors that are detected will be logged via - * calls to ServletContext.log. - * - * @version $Rev$ $Date: 2005-11-14 15:09:02 -0500 (Mon, 14 Nov 2005) - * $ + * @version $Rev$ $Date$ * @since Struts 1.1 */ public class ModuleConfigVerifier implements PlugIn { + +/** + * Commons Logging instance. + */ +private static Log LOG = LogFactory.getLog(ModuleConfigVerifier.class); + // - Instance Variables /** @@ -96,7 +100,7 @@ boolean ok = true; -log(servlet.getInternal().getMessage("configVerifying")); +LOG.info(servlet.getInternal().getMessage("configVerifying")); // Perform detailed validations of each portion of ModuleConfig // :TODO: Complete methods to verify Action, Controller, et al, configurations. @@ -134,7 +138,7 @@ } // Throw an exception on a fatal error -log(servlet.getInternal().getMessage("configCompleted")); +LOG.info(servlet.getInternal().getMessage("configCompleted")); if (!ok && isFatal()) { throw new ServletException(servlet.getInternal().getMessage("configFatal")); @@ -144,18 +148,6 @@ // -- Protected Methods /** - * Log the specified message to our servlet context log, after a header - * including the module prefix. - * - * @param message The message to be logged - */ -protected void log(String message) { -String output = "[" + config.getPrefix() + "]: " + message; - -servlet.log(output); -} - -/** * Return true if information returned by * config.getActionMappingClass is all valid; otherwise, log * error messages and return false. @@ -164,7 +156,7 @@ String amcName = config.getActionMappingClass(); if (amcName == null) { - log(servlet.getInternal().getMessage("verifyActionMappingClass.missing")); + LOG.error(servlet.getInternal().getMessage("verifyActionMappingClass.missing")); return (false); } @@ -172,7 +164,7 @@ try { Class amcClass = RequestUtils.applicationClass(amcName); } catch (ClassNotFoundException e) { - log(servlet.getInternal().getMessage("verifyActionMappingClass.invalid", + LOG.error(servlet.getInternal().getMessage("verifyActionMappingClass.invalid", amcName)); return (false); @@ -194,11 +186,11 @@ String path = fcs[i].getPath(); if (path == null) { - log(servlet.getInternal().getMessage("verifyForwardConfigs.missing", + LOG.error(servlet.getInternal().getMessage("verifyForwardConfigs.missing", fcs[i].getName())); ok = false; } else if (!path.startsWith("/")) { - log(servlet.getInternal().getMessage("verifyForwardConfigs.invalid", + LOG.error(servlet.getInternal().getMessage("verifyForwardConfigs.invalid", path, fcs[i].getName()))
svn commit: r377005 - /struts/action/trunk/xdocs/userGuide/configuration.xml
Author: niallp Date: Sat Feb 11 09:41:04 2006 New Revision: 377005 URL: http://svn.apache.org/viewcvs?rev=377005&view=rev Log: Fix for Bug 37537 - Document the "escape" option of MessageResourcesConfig - patch supplied by Christian Meder Modified: struts/action/trunk/xdocs/userGuide/configuration.xml Modified: struts/action/trunk/xdocs/userGuide/configuration.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/configuration.xml?rev=377005&r1=377004&r2=377005&view=diff == --- struts/action/trunk/xdocs/userGuide/configuration.xml (original) +++ struts/action/trunk/xdocs/userGuide/configuration.xml Sat Feb 11 09:41:04 2006 @@ -1,6 +1,6 @@
svn commit: r373801 - in /struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html: ELCheckboxTag.java ELFileTag.java ELMultiboxTag.java ELPasswordTag.java ELRadioTag.java ELSele
Author: niallp Date: Tue Jan 31 04:18:48 2006 New Revision: 373801 URL: http://svn.apache.org/viewcvs?rev=373801&view=rev Log: Port Fix for Bug 38461 to 1.2.x branch - struts-el html tag library errorKey not using documented default value on OAS - thanks to Michael Manley Modified: struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELCheckboxTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELFileTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELMultiboxTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELPasswordTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELRadioTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELSelectTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELTextTag.java struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELTextareaTag.java Modified: struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELCheckboxTag.java URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELCheckboxTag.java?rev=373801&r1=373800&r2=373801&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELCheckboxTag.java (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELCheckboxTag.java Tue Jan 31 04:18:48 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -529,7 +529,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELFileTag.java URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELFileTag.java?rev=373801&r1=373800&r2=373801&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELFileTag.java (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELFileTag.java Tue Jan 31 04:18:48 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -575,7 +575,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELMultiboxTag.java URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELMultiboxTag.java?rev=373801&r1=373800&r2=373801&view=diff == --- struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELMultiboxTag.java (original) +++ struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELMultiboxTag.java Tue Jan 31 04:18:48 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -518,7 +518,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELPasswordTag.java URL: http://svn.apache.org/viewcvs/struts/el/branches/STRUTS_1_2_BRANCH/src/share/org/apache/strutsel/taglib/html/ELPasswordTag.java?rev=373801&r1=373800&r2=373801&view=diff ===
svn commit: r373798 - in /struts/el/trunk/src/java/org/apache/strutsel/taglib/html: ELCheckboxTag.java ELFileTag.java ELMultiboxTag.java ELPasswordTag.java ELRadioTag.java ELSelectTag.java ELTextTag.j
Author: niallp Date: Tue Jan 31 03:57:28 2006 New Revision: 373798 URL: http://svn.apache.org/viewcvs?rev=373798&view=rev Log: Fix for Bug 38461 - struts-el html tag library errorKey not using documented default value on OAS - thanks to Michael Manley Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELCheckboxTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELFileTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELMultiboxTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELPasswordTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELRadioTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELSelectTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextTag.java struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELTextareaTag.java Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELCheckboxTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELCheckboxTag.java?rev=373798&r1=373797&r2=373798&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELCheckboxTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELCheckboxTag.java Tue Jan 31 03:57:28 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -529,7 +529,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELFileTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELFileTag.java?rev=373798&r1=373797&r2=373798&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELFileTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELFileTag.java Tue Jan 31 03:57:28 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -575,7 +575,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELMultiboxTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELMultiboxTag.java?rev=373798&r1=373797&r2=373798&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELMultiboxTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELMultiboxTag.java Tue Jan 31 03:57:28 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 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. @@ -518,7 +518,7 @@ setAltKeyExpr(null); setBundleExpr(null); setDisabledExpr(null); -setErrorKey(null); +setErrorKeyExpr(null); setErrorStyleExpr(null); setErrorStyleClassExpr(null); setErrorStyleIdExpr(null); Modified: struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELPasswordTag.java URL: http://svn.apache.org/viewcvs/struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELPasswordTag.java?rev=373798&r1=373797&r2=373798&view=diff == --- struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELPasswordTag.java (original) +++ struts/el/trunk/src/java/org/apache/strutsel/taglib/html/ELPasswordTag.java Tue Jan 31 03:57:28 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2006 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this
Re: Non-discussion emails
Committers obviously need to have oversight of everything - wiki, bugs, commits and posted messages, but thats a limited number of us and easy to ensure that we're fully subscribed up to everything. For other community members Jive is excellent and I think this is a great addition to support community participation. People who don't want to be permanently subscribed and receieve all the emails can pop in and out posting on an adhoc basis. > I offer two suggestions, either is perfectly fine > with me. Any other suggestions that provide more > alternatives are also of course welcome: > > 1) Why not create a simple web-based form to manage > all the lists. By default, all 5, 6, or 7 lists are > checked when the user clicks the "subscribe" button, > but each list can be independently subscribed and > unsubscribed. You can even set the Reply-To header > for some of the lists (bugs, wiki, etc) to point back > to the dev@ list. > and/or > > 2) Using a Forums-based approach and different > mailing lists for each type of content (wiki@, dev@, > bug@, etc), create a single Struts category with > several sub-forms that sync to the lists. Now users > can search the Struts category and get a unified > archive. > > Thoughts? I understand that this does involve some > work, and for those of you who are quite happy with > how things are now, it may seem like a waste of time. > As such, I'm more than willing to do the actual work > for any proposed solution. I like both these ideas +1 from me. Niall > Patrick - Posted via Jive Forums http://forums.opensymphony.com/thread.jspa?threadID=14616&messageID=29031#29031 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r367156 - in /struts/apps/trunk/examples/src: java/org/apache/struts/webapp/validator/ webapp/WEB-INF/validator/ webapp/validator/
Author: niallp Date: Sun Jan 8 17:38:55 2006 New Revision: 367156 URL: http://svn.apache.org/viewcvs?rev=367156&view=rev Log: Add additional validator examples to the type form (url,mask,email and min/max length) Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/MessageResources.properties struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/TypeForm.java struts/apps/trunk/examples/src/webapp/WEB-INF/validator/validation-type.xml struts/apps/trunk/examples/src/webapp/validator/jsType.jsp struts/apps/trunk/examples/src/webapp/validator/type.jsp Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/MessageResources.properties URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/MessageResources.properties?rev=367156&r1=367155&r2=367156&view=diff == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/MessageResources.properties (original) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/MessageResources.properties Sun Jan 8 17:38:55 2006 @@ -31,6 +31,7 @@ errors.creditcard={0} is not a valid credit card number. errors.email={0} is an invalid e-mail address. +errors.url={0} is an invalid url. # Index Page index.title=Struts Validator @@ -70,6 +71,11 @@ typeForm.float.displayname=Float Field typeForm.floatRange.displayname=Float Range Field typeForm.integer.displayname=Integer Field +typeForm.intRange.displayname=Integer Range Field +typeForm.mask.displayname=Mask Field +typeForm.email.displayname=Email Field +typeForm.url.displayname=URL Field +typeForm.minMaxLength.displayname=Min/Max Length Field typeForm.long.displayname=Long Field typeForm.nested.name.displayname=Name typeForm.nested=Nested Text @@ -81,6 +87,7 @@ typeForm.short.displayname=Short Field typeForm.title.create=Type Form typeForm.title=Type Form +typeForm.mask.error={0} Must only contain upper case alpahabetic letters (i.e. A-Z) # JavaScript Type Form jsTypeForm.title=JavaScript Type Form Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/TypeForm.java URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/TypeForm.java?rev=367156&r1=367155&r2=367156&view=diff == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/TypeForm.java (original) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/validator/TypeForm.java Sun Jan 8 17:38:55 2006 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 2000-2004 The Apache Software Foundation. + * Copyright 2000-2006 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. @@ -38,12 +38,17 @@ private String sByte = null; private String sShort = null; private String sInteger = null; +private String sIntRange = null; private String sLong = null; private String sFloat = null; private String sFloatRange = null; private String sDouble = null; private String sDate = null; private String sCreditCard = null; +private String sEmail = null; +private String sUrl = null; +private String sMask = null; +private String sMinMaxLength = null; private String sSatisfaction = null; private String[] sOsList = null; private String sOverallSatisfaction = null; @@ -92,6 +97,14 @@ this.sInteger = sInteger; } +public String getIntRange() { +return sIntRange; +} + +public void setIntRange(String sIntRange) { +this.sIntRange = sIntRange; +} + public String getLong() { return sLong; } @@ -147,6 +160,37 @@ public void setCreditCard(String sCreditCard) { this.sCreditCard = sCreditCard; } +public String getMinMaxLength() { +return sMinMaxLength; +} + +public void setMinMaxLength(String sMinMaxLength) { +this.sMinMaxLength = sMinMaxLength; +} + +public String getUrl() { +return sUrl; +} + +public void setUrl(String sUrl) { +this.sUrl = sUrl; +} + +public String getEmail() { +return sEmail; +} + +public void setEmail(String sEmail) { +this.sEmail = sEmail; +} + +public String getMask() { +return sMask; +} + +public void setMask(String sMask) { +this.sMask = sMask; +} public String getSatisfaction() { return sSatisfaction; @@ -209,12 +253,17 @@ sByte = null; sShort = null; sInteger = null; + sIntRange = null; s
svn commit: r365767 - /struts/action/trunk/xdocs/userGuide/release-notes.xml
Author: niallp Date: Tue Jan 3 15:11:17 2006 New Revision: 365767 URL: http://svn.apache.org/viewcvs?rev=365767&view=rev Log: Fix broken link to the roadmap page Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes.xml?rev=365767&r1=365766&r2=365767&view=diff == --- struts/action/trunk/xdocs/userGuide/release-notes.xml (original) +++ struts/action/trunk/xdocs/userGuide/release-notes.xml Tue Jan 3 15:11:17 2006 @@ -1,6 +1,6 @@
svn commit: r358561 - in /struts: build/trunk/project.xml site/trunk/xdocs/announce.xml site/trunk/xdocs/volunteers.xml
Author: niallp Date: Thu Dec 22 05:07:10 2005 New Revision: 358561 URL: http://svn.apache.org/viewcvs?rev=358561&view=rev Log: Add Richard Feit as Struts committer Modified: struts/build/trunk/project.xml struts/site/trunk/xdocs/announce.xml struts/site/trunk/xdocs/volunteers.xml Modified: struts/build/trunk/project.xml URL: http://svn.apache.org/viewcvs/struts/build/trunk/project.xml?rev=358561&r1=358560&r2=358561&view=diff == --- struts/build/trunk/project.xml (original) +++ struts/build/trunk/project.xml Thu Dec 22 05:07:10 2005 @@ -263,6 +263,11 @@ + + Richard Feit + rich + rich at apache.org + Modified: struts/site/trunk/xdocs/announce.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/announce.xml?rev=358561&r1=358560&r2=358561&view=diff == --- struts/site/trunk/xdocs/announce.xml (original) +++ struts/site/trunk/xdocs/announce.xml Thu Dec 22 05:07:10 2005 @@ -26,6 +26,25 @@ +18 Dec 2005 - New Struts Committer: Richard Feit + + Please join us in welcoming Rich Feit as a new Struts committer. Rich is + a Beehive committer and PMC member. In addition to being a Struts user + for years (Beehive is built on Struts), he has been pivotal in designing + and coding Struts Ti, both the initial annotationed Beehive version and + the current WebWork merger effort. His experience in Struts migration + tools in particular will be key to making Struts Action a success. We + look forward to his continued contributions as a committer. + + + + Welcome, Rich! + + + PMC vote: 7 +1, non-binding committer votes: 3 +1 + + + 14 Dec 2005 - Apache Struts to release Struts 1.3.0 as the "Action Framework" Modified: struts/site/trunk/xdocs/volunteers.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/volunteers.xml?rev=358561&r1=358560&r2=358561&view=diff == --- struts/site/trunk/xdocs/volunteers.xml (original) +++ struts/site/trunk/xdocs/volunteers.xml Thu Dec 22 05:07:10 2005 @@ -124,6 +124,9 @@ Laurie Harper (laurieh at apache.org) + + Richard Feit + (rich at apache.org) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349964 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml
Author: niallp Date: Wed Nov 30 07:25:49 2005 New Revision: 349964 URL: http://svn.apache.org/viewcvs?rev=349964&view=rev Log: Update source repository link: change core-->action and point to STRUTS_1_2_BRANCH Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml?rev=349964&r1=349963&r2=349964&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/project.xml Wed Nov 30 07:25:49 2005 @@ -103,7 +103,7 @@ /> http://svn.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN"; + href="http://svn.apache.org/viewcvs.cgi/struts/action/branches/STRUTS_1_2_BRANCH/"; /> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349502 - in /struts/action/trunk/xdocs/userGuide: release-notes-1.2.4.xml release-notes-1.2.8.xml release-notes.xml
Author: niallp Date: Mon Nov 28 12:56:41 2005 New Revision: 349502 URL: http://svn.apache.org/viewcvs?rev=349502&view=rev Log: Merge 1.2.8 release into 1.3 trunk, modify 1.2.4 format to match other versions Added: struts/action/trunk/xdocs/userGuide/release-notes-1.2.8.xml (with props) Modified: struts/action/trunk/xdocs/userGuide/release-notes-1.2.4.xml struts/action/trunk/xdocs/userGuide/release-notes.xml Modified: struts/action/trunk/xdocs/userGuide/release-notes-1.2.4.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes-1.2.4.xml?rev=349502&r1=349501&r2=349502&view=diff == --- struts/action/trunk/xdocs/userGuide/release-notes-1.2.4.xml (original) +++ struts/action/trunk/xdocs/userGuide/release-notes-1.2.4.xml Mon Nov 28 12:56:41 2005 @@ -4,11 +4,12 @@ Struts Release Notes (since 1.1) - + + This section contains release notes for changes that have taken place since Version 1.1 was released. - - + + The binary distribution of this release includes the following files relevant to Struts: @@ -58,8 +59,8 @@ For the version requirements of each library, see the Installation chapter. - - + + This section highlights new features added and critical changes made since the last release. Other interesting changes are listed in the What Changed? section. Subscribers to the struts-dev mailing list, receive reports of all changes as they are made. @@ -139,8 +140,8 @@ Module attribute - A new "module" attribute is available on the forward element as well as several of the core tags. This attribute allows you to specify another module by name (or "prefix") to create direct links between modules. The new module attribute is preferered to the contextRelative attribute and can often be used in lieu of a "SwitchAction". - - + + This section highlights some of the changes that have taken place since the last release. Subscribers to the struts-dev mailing list, receive reports of all changes as they are made. @@ -657,10 +658,11 @@ 2003-12-21 - Add rest of form to fr.CA formset to correct operation. 2003-09-24 - Modify Validator example to show use of 'required' for checkboxes, radio,select-one, and select-multiple field types. - - + + Next: Installation - + + Added: struts/action/trunk/xdocs/userGuide/release-notes-1.2.8.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes-1.2.8.xml?rev=349502&view=auto == --- struts/action/trunk/xdocs/userGuide/release-notes-1.2.8.xml (added) +++ struts/action/trunk/xdocs/userGuide/release-notes-1.2.8.xml Mon Nov 28 12:56:41 2005 @@ -0,0 +1,169 @@ + + + +Struts Release Notes (since 1.2.7) + + + + + + The main motivation for releasing Struts 1.2.8 is to fix a + Cross Site Scripting (XSS) vulnerability which has + been identified by Hacktics.com. More details available on the + http://wiki.apache.org/struts/StrutsXssVulnerability";>Wiki. + + + This section contains release notes for changes that have taken + place since + Version 1.2.7. + To keep up-to-date on all changes to Struts, subscribe to the + dev@ list. + + + Notes on upgrading are maintained in the + http://wiki.apache.org/struts/StrutsUpgrade";>Wiki Upgrade pages. + The wiki is a community maintained resource - please feel free to add your + input so that everyone can benefit from the collective experience. + + + For the version requirements of each library, see the + Installation chapter. + + + + Version 1.2.8 + + + After http://svn.apache.org/viewcvs.cgi/struts/core/tags/STRUTS_1_2_6/";>Version 1.2.6 was tagged + the http://svn.apache.org/viewcvs.cgi/struts/core/branches/STRUTS_1_2_BRANCH/";>1.2 Branch + was created and work started on the next version (1.3.x series). Work has continued on + both versions and Revision numbers shown in brackets are where a change has been ported + from the current development version into the 1.2 Branch. + + + + + ModificationRevisionBugzillaDescription + + +
svn commit: r349442 - /struts/site/trunk/xdocs/announce.xml
Author: niallp Date: Mon Nov 28 09:40:03 2005 New Revision: 349442 URL: http://svn.apache.org/viewcvs?rev=349442&view=rev Log: Add Gary back! Modified: struts/site/trunk/xdocs/announce.xml Modified: struts/site/trunk/xdocs/announce.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/announce.xml?rev=349442&r1=349441&r2=349442&view=diff == --- struts/site/trunk/xdocs/announce.xml (original) +++ struts/site/trunk/xdocs/announce.xml Mon Nov 28 09:40:03 2005 @@ -103,6 +103,22 @@ +21 Aug 2005 - New Struts Committer: Gary vanMatre + + +Please join us in welcoming Gary vanMatre as a new Struts committer. +Gary has been quite busy proposing code for the "Clay" plug-in on Shale, +and has also been supportive on the dev and user mailing lists (for both Struts and MyFaces). +We look forward to his energy being available to the entire Struts project as well. + + +Welcome, Gary! .. And now you can process some of your own outstanding code diffs :-). + + +PMC vote: 5 +1 + + + 15 Jul 2005 - New Struts Committer: Wendy Smoak Please join me in welcoming Wendy Smoak as a new Struts committer. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349307 - /struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java
Author: niallp Date: Sun Nov 27 12:48:24 2005 New Revision: 349307 URL: http://svn.apache.org/viewcvs?rev=349307&view=rev Log: Add PropertyDescriptor's test to CGLib enhance DynaActionForm test Modified: struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java Modified: struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java?rev=349307&r1=349306&r2=349307&view=diff == --- struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java (original) +++ struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java Sun Nov 27 12:48:24 2005 @@ -17,8 +17,14 @@ */ package org.apache.struts.action; +import java.util.List; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import java.beans.BeanInfo; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.beans.IndexedPropertyDescriptor; +import org.apache.commons.beanutils.DynaProperty; import junit.framework.Test; import junit.framework.TestSuite; @@ -85,6 +91,51 @@ /** + * Check Property Descriptors + */ +public void testDesciptors() { + +// Introspect the bean and find property descriptors +try { +BeanInfo beanInfo = Introspector.getBeanInfo(dynaForm.getClass()); +PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors(); +DynaProperty[] dynaProperties = dynaClass.getDynaProperties(); +for (int i = 0; i < dynaProperties.length; i++) { +DynaProperty dynaProperty = dynaProperties[i]; +PropertyDescriptor descriptor = null; +for (int j = 0; j < descriptors.length; j++) { +if (dynaProperty.getName().equals(descriptors[j].getName())) { +descriptor = descriptors[j]; +break; +} +} +if (descriptor == null) { +fail(i+" Descriptor not found: " + dynaProperty.getName()); +} else { +boolean indexedDescriptor = (descriptor instanceof IndexedPropertyDescriptor); +if (!(dynaProperty.getType() == descriptor.getPropertyType())) { +// ignore java.util.List - not proper indexed properties +if (!(List.class.isAssignableFrom(dynaProperty.getType( { +fail(i+" Descriptor type error: " + dynaProperty.getName() + + " dyna=" + dynaProperty.getType() + + " regular=" + descriptor.getPropertyType()); +} +} +if (!(dynaProperty.isIndexed() == indexedDescriptor)) { +fail(i+" Descriptor index error: " + dynaProperty.getName() + + " dyna=" + dynaProperty.isIndexed() + + " regular=" + indexedDescriptor); +} +} +} +} catch (Exception e) { +fail("Exception thrown " + e); +} + +} + + +/** * Test simple read property */ public void testSimpleRead() { @@ -128,7 +179,6 @@ fail("Exception thrown " + e); } } - /** * Test simple write property */ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349286 - /struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java
Author: niallp Date: Sun Nov 27 11:29:27 2005 New Revision: 349286 URL: http://svn.apache.org/viewcvs?rev=349286&view=rev Log: Correct bug in CGLib Enhanced DynaActionForm indexed properties Modified: struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java Modified: struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java?rev=349286&r1=349285&r2=349286&view=diff == --- struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java (original) +++ struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java Sun Nov 27 11:29:27 2005 @@ -108,10 +108,10 @@ // Create the indexed getter/setter method pair if (dynaProperties[i].isIndexed()) { -Type itype = Type.getType(Integer.class); +Type itype = Type.getType(Integer.TYPE); ttype = Type.getType((type.isArray() ? type.getComponentType() : Object.class)); Signature indexGetter = new Signature(getterName, ttype, new Type[] { itype }); -Signature indexSetter = new Signature(setterName, Type.VOID_TYPE, new Type[] { ttype, itype }); +Signature indexSetter = new Signature(setterName, Type.VOID_TYPE, new Type[] { itype, ttype }); im.add(indexGetter, Constants.TYPES_EMPTY); im.add(indexSetter, Constants.TYPES_EMPTY); } @@ -166,9 +166,9 @@ if (args.length == 1) { dynaBean.set(property, args[0]); return null; -} else if(args.length == 2 && args[1].getClass() == Integer.class) { -int index = ((Integer)args[1]).intValue(); -dynaBean.set(property, index, args[0]); +} else if(args.length == 2 && args[0].getClass() == Integer.class) { +int index = ((Integer)args[0]).intValue(); +dynaBean.set(property, index, args[1]); return null; } else { return proxy.invokeSuper(obj, args); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r349285 - in /struts/action/trunk/src/test/org/apache/struts/action: TestCGLibDynaActionForm.java TestDynaActionFormClass.java
Author: niallp Date: Sun Nov 27 11:28:37 2005 New Revision: 349285 URL: http://svn.apache.org/viewcvs?rev=349285&view=rev Log: Add JUnit test for CGLib enhanced DynaActionForm Added: struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java (with props) Modified: struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java Added: struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java?rev=349285&view=auto == --- struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java (added) +++ struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java Sun Nov 27 11:28:37 2005 @@ -0,0 +1,245 @@ +/* + * $Id$ + * + * Copyright 2005 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.struts.action; + +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Suite of unit tests for the + * org.apache.struts.action.DynaActionForm class. + */ +public class TestCGLibDynaActionForm extends TestDynaActionForm { + + +/** + * Defines the testcase name for JUnit. + * + * @param theName the testcase's name. + */ +public TestCGLibDynaActionForm(String theName) +{ +super(theName); +} + + +/** + * Start the tests. + * + * @param theArgs the arguments. Not used + */ +public static void main(String[] theArgs) +{ +junit.awtui.TestRunner.main +(new String[] {TestCGLibDynaActionForm.class.getName()}); +} + + +/** + * @return a test suite (TestSuite) that includes all methods + * starting with "test" + */ +public static Test suite() +{ +// All methods starting with "test" will be executed in the test suite. +return new TestSuite(TestCGLibDynaActionForm.class); +} + + +// - Setup and Teardown + + +public void setUp() { +enhanced = true; + +super.setUp(); + +} + + +public void tearDown() { + +super.tearDown(); +} + + +// - Create New DynaActionForms + + +/** + * Test simple read property + */ +public void testSimpleRead() { + +String property = "floatProperty"; +String methodName = getMethodName(property, true); +Class[] types = null; +Object[] args = null; + + +Object expected = dynaForm.get(property); +try { +Method method = dynaForm.getClass().getMethod(methodName, types); +Object result = method.invoke(dynaForm, args); +assertEquals(expected, result); +} catch(InvocationTargetException e) { +fail("InvocationTargetException thrown " + e.getCause()); +} catch(Exception e) { +fail("Exception thrown " + e); +} +} + +/** + * Test simple write property + */ +public void testSimpleWrite() { + +String property = "floatProperty"; +String methodName = getMethodName(property, false); +Object expected = new Float("5.4321"); +Class[] types = new Class[]{Float.TYPE}; +Object[] args = new Object[] {expected}; + +try { +Method method = dynaForm.getClass().getMethod(methodName, types); +method.invoke(dynaForm, args); +assertEquals(expected, dynaForm.get(property)); +} catch(InvocationTargetException e) { +fail("InvocationTargetException thrown " + e.getCause()); +} catch(Exception e) { +fail("Exception thrown " + e); +} +} + +/** + * Test simple write property + */ +public void testIndexedRead() { + +String property = "stringArray"; +String methodName = getMethodName(property, true); +Integer idx = new Integer(1); +Class[] types = new Class[] {Integer.TYPE}; +Object[] args =
svn commit: r349075 - /struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml
Author: niallp Date: Fri Nov 25 20:26:55 2005 New Revision: 349075 URL: http://svn.apache.org/viewcvs?rev=349075&view=rev Log: Update release notes Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Modified: struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml?rev=349075&r1=349074&r2=349075&view=diff == --- struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml (original) +++ struts/action/branches/STRUTS_1_2_BRANCH/doc/userGuide/release-notes.xml Fri Nov 25 20:26:55 2005 @@ -7,6 +7,12 @@ + The main motivation for releasing Struts 1.2.8 is to fix a + Cross Site Scripting (XSS) vulnerability which has + been identified by Hacktics.com. More details available on the + http://wiki.apache.org/struts/StrutsXssVulnerability";>Wiki. + + This section contains release notes for changes that have taken place since Version 1.2.7. @@ -59,7 +65,7 @@ http://svn.apache.org/viewcvs?rev=331060&view=rev";>331060 (http://svn.apache.org/viewcvs.cgi?rev=331055&view=rev";>331055) n/a - Remove uri from error messages. + Fix for Struts XSS Vulnerability - remove uri from error messages. 2005-08-31 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r348386 - /struts/extras/trunk/project.xml
Author: niallp Date: Tue Nov 22 22:28:45 2005 New Revision: 348386 URL: http://svn.apache.org/viewcvs?rev=348386&view=rev Log: Commons Resources has been renamed from dev to SNAPSHOT Modified: struts/extras/trunk/project.xml Modified: struts/extras/trunk/project.xml URL: http://svn.apache.org/viewcvs/struts/extras/trunk/project.xml?rev=348386&r1=348385&r2=348386&view=diff == --- struts/extras/trunk/project.xml (original) +++ struts/extras/trunk/project.xml Tue Nov 22 22:28:45 2005 @@ -2,7 +2,7 @@
svn commit: r348028 - in /struts: apps/trunk/examples/src/webapp/exercise/html-link.jsp core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java core/trunk/src/java/org/apache/struts/ut
Author: niallp Date: Mon Nov 21 15:44:05 2005 New Revision: 348028 URL: http://svn.apache.org/viewcvs?rev=348028&view=rev Log: Fix for Bug 37585 - html:link broken in the struts-examples webapp, reported by Wendy Smoak Modified: struts/apps/trunk/examples/src/webapp/exercise/html-link.jsp struts/core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java struts/core/trunk/src/java/org/apache/struts/util/ModuleUtils.java Modified: struts/apps/trunk/examples/src/webapp/exercise/html-link.jsp URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/exercise/html-link.jsp?rev=348028&r1=348027&r2=348028&view=diff == --- struts/apps/trunk/examples/src/webapp/exercise/html-link.jsp (original) +++ struts/apps/trunk/examples/src/webapp/exercise/html-link.jsp Mon Nov 21 15:44:05 2005 @@ -186,10 +186,6 @@ application welcome page (module="") -application welcome page - - - Exercise module welcome page @@ -203,8 +199,10 @@ Pages -application welcome page -<%-- FIXME: "/" slash throws NPE: application welcome page --%> +application welcome page (module="") + + +application welcome page (module="/") Exercise module welcome page Modified: struts/core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java URL: http://svn.apache.org/viewcvs/struts/core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java?rev=348028&r1=348027&r2=348028&view=diff == --- struts/core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java (original) +++ struts/core/trunk/src/java/org/apache/struts/config/impl/ModuleConfigImpl.java Mon Nov 21 15:44:05 2005 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2005 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. @@ -57,7 +57,7 @@ * @since Struts 1.2.8 */ public ModuleConfigImpl() { -this("/"); +this(""); } /** Modified: struts/core/trunk/src/java/org/apache/struts/util/ModuleUtils.java URL: http://svn.apache.org/viewcvs/struts/core/trunk/src/java/org/apache/struts/util/ModuleUtils.java?rev=348028&r1=348027&r2=348028&view=diff == --- struts/core/trunk/src/java/org/apache/struts/util/ModuleUtils.java (original) +++ struts/core/trunk/src/java/org/apache/struts/util/ModuleUtils.java Mon Nov 21 15:44:05 2005 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2005 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. @@ -86,7 +86,11 @@ * the context. */ public ModuleConfig getModuleConfig(String prefix, ServletContext context) { -return (ModuleConfig) context.getAttribute(Globals.MODULE_KEY + prefix); +if (prefix == null || "/".equals(prefix)) { +return (ModuleConfig)context.getAttribute(Globals.MODULE_KEY); +} else { +return (ModuleConfig)context.getAttribute(Globals.MODULE_KEY + prefix); +} } /** @@ -103,7 +107,7 @@ ModuleConfig moduleConfig = null; -if(prefix != null) { +if (prefix != null) { //lookup module stored with the given prefix. moduleConfig = this.getModuleConfig(prefix, context); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345791 - in /struts/core/branches/STRUTS_1_2_BRANCH/doc: acquiring.xml download.xml
Author: niallp Date: Sun Nov 20 15:05:18 2005 New Revision: 345791 URL: http://svn.apache.org/viewcvs?rev=345791&view=rev Log: Update Download and Aquiring page for Struts 1.2.8 Modified: struts/core/branches/STRUTS_1_2_BRANCH/doc/acquiring.xml struts/core/branches/STRUTS_1_2_BRANCH/doc/download.xml Modified: struts/core/branches/STRUTS_1_2_BRANCH/doc/acquiring.xml URL: http://svn.apache.org/viewcvs/struts/core/branches/STRUTS_1_2_BRANCH/doc/acquiring.xml?rev=345791&r1=345790&r2=345791&view=diff == --- struts/core/branches/STRUTS_1_2_BRANCH/doc/acquiring.xml (original) +++ struts/core/branches/STRUTS_1_2_BRANCH/doc/acquiring.xml Sun Nov 20 15:05:18 2005 @@ -27,7 +27,7 @@ http://struts.apache.org/download.cgi";> - Struts Binary and Source Code Distributions - Struts 1.2.4 is the best available version + Struts Binary and Source Code Distributions - Struts 1.2.8 is the best available version Modified: struts/core/branches/STRUTS_1_2_BRANCH/doc/download.xml URL: http://svn.apache.org/viewcvs/struts/core/branches/STRUTS_1_2_BRANCH/doc/download.xml?rev=345791&r1=345790&r2=345791&view=diff == --- struts/core/branches/STRUTS_1_2_BRANCH/doc/download.xml (original) +++ struts/core/branches/STRUTS_1_2_BRANCH/doc/download.xml Sun Nov 20 15:05:18 2005 @@ -52,10 +52,10 @@ - + -Struts 1.2.4 is the latest production release of Struts. It is available +Struts 1.2.8 is the latest production release of Struts. It is available in a binary distribution, a source distribution, and a minimal library distribution. @@ -65,14 +65,14 @@ Binaries: -jakarta-struts-1.2.4.zip -[http://www.apache.org/dist/struts/binaries/jakarta-struts-1.2.4.zip.asc";>PGP] -[http://www.apache.org/dist/struts/binaries/jakarta-struts-1.2.4.zip.md5";>MD5] +struts-1.2.8-bin.zip +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.asc";>PGP] +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.md5";>MD5] -jakarta-struts-1.2.4.tar.gz -[http://www.apache.org/dist/struts/binaries/jakarta-struts-1.2.4.tar.gz.asc";>PGP] -[http://www.apache.org/dist/struts/binaries/jakarta-struts-1.2.4.tar.gz.md5";>MD5] +struts-1.2.8-bin.tar.gz +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.asc";>PGP] +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.md5";>MD5] @@ -80,14 +80,14 @@ Source: -jakarta-struts-1.2.4-src.zip -[http://www.apache.org/dist/struts/source/jakarta-struts-1.2.4-src.zip.asc";>PGP] -[http://www.apache.org/dist/struts/source/jakarta-struts-1.2.4-src.zip.md5";>MD5] +struts-1.2.8-src.zip +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.zip.asc";>PGP] +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.zip.md5";>MD5] -jakarta-struts-1.2.4-src.tar.gz -[http://www.apache.org/dist/struts/source/jakarta-struts-1.2.4-src.tar.gz.asc";>PGP] -[http://www.apache.org/dist/struts/source/jakarta-struts-1.2.4-src.tar.gz.md5";>MD5] +struts-1.2.8-src.tar.gz +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.tar.gz.asc";>PGP] +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.tar.gz.md5";>MD5] @@ -95,14 +95,14 @@ Library: -jakarta-struts-1.2.4-lib.zip -[http://www.apache.org/dist/struts/library/jakarta-struts-1.2.4-lib.zip.asc";>PGP] -[http://www.apache.org/dist/struts/library/jakarta-struts-1.2.4-lib.zip.md5";>MD5] +struts-1.2.8-lib.zip +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.zip.asc";>PGP] +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.zip.md5";>MD5] -jakarta-struts-1.2.4-lib.tar.gz -[http://www.apache.org/dist/struts/library/jakarta-struts-1.2.4-lib.tar.gz.asc";>PGP] -
svn commit: r345775 - /struts/site/trunk/xdocs/navigation.xml
Author: niallp Date: Sun Nov 20 10:57:13 2005 New Revision: 345775 URL: http://svn.apache.org/viewcvs?rev=345775&view=rev Log: Add Struts 1.2.8 to menu Modified: struts/site/trunk/xdocs/navigation.xml Modified: struts/site/trunk/xdocs/navigation.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/navigation.xml?rev=345775&r1=345774&r2=345775&view=diff == --- struts/site/trunk/xdocs/navigation.xml (original) +++ struts/site/trunk/xdocs/navigation.xml Sun Nov 20 10:57:13 2005 @@ -105,6 +105,10 @@ href="/struts-doc-1.2.x/index.html" /> + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345761 - in /struts/site/trunk/xdocs: acquiring.xml download.xml
Author: niallp Date: Sun Nov 20 08:26:23 2005 New Revision: 345761 URL: http://svn.apache.org/viewcvs?rev=345761&view=rev Log: Update Download and Aquiring page Modified: struts/site/trunk/xdocs/acquiring.xml struts/site/trunk/xdocs/download.xml Modified: struts/site/trunk/xdocs/acquiring.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/acquiring.xml?rev=345761&r1=345760&r2=345761&view=diff == --- struts/site/trunk/xdocs/acquiring.xml (original) +++ struts/site/trunk/xdocs/acquiring.xml Sun Nov 20 08:26:23 2005 @@ -49,7 +49,7 @@ http://struts.apache.org/download.cgi";> - Struts 1.2.7 + Struts 1.2.8 Modified: struts/site/trunk/xdocs/download.xml URL: http://svn.apache.org/viewcvs/struts/site/trunk/xdocs/download.xml?rev=345761&r1=345760&r2=345761&view=diff == --- struts/site/trunk/xdocs/download.xml (original) +++ struts/site/trunk/xdocs/download.xml Sun Nov 20 08:26:23 2005 @@ -76,11 +76,11 @@ - - + + -Struts 1.2.7 is the latest production release of Struts Classic. +Struts 1.2.8 is the latest production release of Struts Classic. It is available in a binary distribution, a source distribution, and a minimal library distribution. @@ -90,14 +90,14 @@ Binaries: -struts-1.2.7.zip -[http://www.apache.org/dist/struts/binaries/struts-1.2.7.zip.asc";>PGP] -[http://www.apache.org/dist/struts/binaries/struts-1.2.7.zip.md5";>MD5] +struts-1.2.8-bin.zip +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.asc";>PGP] +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.zip.md5";>MD5] -struts-1.2.7.tar.gz -[http://www.apache.org/dist/struts/binaries/struts-1.2.7.tar.gz.asc";>PGP] -[http://www.apache.org/dist/struts/binaries/struts-1.2.7.tar.gz.md5";>MD5] +struts-1.2.8-bin.tar.gz +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.asc";>PGP] +[http://www.apache.org/dist/struts/binaries/struts-1.2.8-bin.tar.gz.md5";>MD5] @@ -105,14 +105,14 @@ Source: -struts-1.2.7-src.zip -[http://www.apache.org/dist/struts/source/struts-1.2.7-src.zip.asc";>PGP] -[http://www.apache.org/dist/struts/source/struts-1.2.7-src.zip.md5";>MD5] +struts-1.2.8-src.zip +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.zip.asc";>PGP] +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.zip.md5";>MD5] -struts-1.2.7-src.tar.gz -[http://www.apache.org/dist/struts/source/struts-1.2.7-src.tar.gz.asc";>PGP] -[http://www.apache.org/dist/struts/source/struts-1.2.7-src.tar.gz.md5";>MD5] +struts-1.2.8-src.tar.gz +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.tar.gz.asc";>PGP] +[http://www.apache.org/dist/struts/source/struts-1.2.8-src.tar.gz.md5";>MD5] @@ -120,14 +120,14 @@ Library: -struts-1.2.7-lib.zip -[http://www.apache.org/dist/struts/library/struts-1.2.7-lib.zip.asc";>PGP] -[http://www.apache.org/dist/struts/library/struts-1.2.7-lib.zip.md5";>MD5] +struts-1.2.8-lib.zip +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.zip.asc";>PGP] +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.zip.md5";>MD5] -struts-1.2.7-lib.tar.gz -[http://www.apache.org/dist/struts/library/struts-1.2.7-lib.tar.gz.asc";>PGP] -[http://www.apache.org/dist/struts/library/struts-1.2.7-lib.tar.gz.md5";>MD5] +struts-1.2.8-lib.tar.gz +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.tar.gz.asc";>PGP] +[http://www.apache.org/dist/struts/library/struts-1.2.8-lib.tar.gz.md5";>MD5] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r345138 - /struts/taglib/trunk/src/tld/struts-html.tld
Author: niallp Date: Wed Nov 16 14:18:04 2005 New Revision: 345138 URL: http://svn.apache.org/viewcvs?rev=345138&view=rev Log: Fix for Bug 37527 - add missing "onselect" attribute to the TLD for TextTag and TextareaTag - reported by Thomas de Verdière Modified: struts/taglib/trunk/src/tld/struts-html.tld Modified: struts/taglib/trunk/src/tld/struts-html.tld URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/tld/struts-html.tld?rev=345138&r1=345137&r2=345138&view=diff == --- struts/taglib/trunk/src/tld/struts-html.tld (original) +++ struts/taglib/trunk/src/tld/struts-html.tld Wed Nov 16 14:18:04 2005 @@ -8138,6 +8138,17 @@ +onselect +false +true + + + + + property true true @@ -8576,6 +8587,17 @@ + + + +onselect +false +true + + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r344465 - /struts/build/trunk/project.xml
Author: niallp Date: Tue Nov 15 15:10:57 2005 New Revision: 344465 URL: http://svn.apache.org/viewcvs?rev=344465&view=rev Log: Update validator version to 1.2.0 Modified: struts/build/trunk/project.xml Modified: struts/build/trunk/project.xml URL: http://svn.apache.org/viewcvs/struts/build/trunk/project.xml?rev=344465&r1=344464&r2=344465&view=diff == --- struts/build/trunk/project.xml (original) +++ struts/build/trunk/project.xml Tue Nov 15 15:10:57 2005 @@ -353,7 +353,7 @@ commons-validator commons-validator - 1.2.0-RC3 + 1.2.0 http://jakarta.apache.org/commons/validator/ true - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r332695 - /struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml
Author: niallp Date: Fri Nov 11 17:06:33 2005 New Revision: 332695 URL: http://svn.apache.org/viewcvs?rev=332695&view=rev Log: Port fix for Bug 37459 to 1.2.x Branch - correct BigDecimal/BigInteger package names - patch supplied by Christian Meder Modified: struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml Modified: struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml?rev=332695&r1=332694&r2=332695&view=diff == --- struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml (original) +++ struts/core/branches/STRUTS_1_2_BRANCH/doc/userGuide/building_controller.xml Fri Nov 11 17:06:33 2005 @@ -457,11 +457,11 @@ -java.lang.BigDecimal +java.math.BigDecimal -java.lang.BigInteger +java.math.BigInteger - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r332438 - in /struts/core/trunk/xdocs/userGuide: building_controller.xml index.xml
Author: niallp Date: Thu Nov 10 19:47:51 2005 New Revision: 332438 URL: http://svn.apache.org/viewcvs?rev=332438&view=rev Log: Fix for Bug 37463 - Misc edits to building_controller - based on a patch supplied by Christian MederBug Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml struts/core/trunk/xdocs/userGuide/index.xml Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/building_controller.xml?rev=332438&r1=332437&r2=332438&view=diff == --- struts/core/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/core/trunk/xdocs/userGuide/building_controller.xml Thu Nov 10 19:47:51 2005 @@ -710,7 +710,7 @@ DynaActionForms are not a drop-in replacement for ActionForms. -If you need to access ActionForm properties in your Action, you will need to +If you need to access DynaActionForm properties in your Action, you will need to use the map-style accessor, like myForm.get("name"). If you actively use the ActionForm object in your Action, then you may want to use conventional ActionForms instead. @@ -740,15 +740,16 @@ -And, of course, while the DynaActionForm may support various binary types, +And, of course, while the DynaActionForm may support various binary types, properties used with the html:text tag should still be String properties. DynaActionForms relieve developers of maintaining simple ActionForms. For even -less maintenance, try Niall Pemberton's -http://www.niallp.pwp.blueyonder.co.uk/";>LazyActionForm. +less maintenance, try the +LazyActionForm described in the following +section. @@ -757,7 +758,9 @@ -Struts Lazy ActionForm which wraps a LazyDynaBean. +Struts Lazy ActionForm which wraps a LazyDynaBean (see +http://jakarta.apache.org/commons/beanutils/apidocs/org/apache/commons/beanutils/package-summary.html#dynamic.lazy";> +Commons BeanUtils JavaDoc). Modified: struts/core/trunk/xdocs/userGuide/index.xml URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/index.xml?rev=332438&r1=332437&r2=332438&view=diff == --- struts/core/trunk/xdocs/userGuide/index.xml (original) +++ struts/core/trunk/xdocs/userGuide/index.xml Thu Nov 10 19:47:51 2005 @@ -122,7 +122,7 @@ 4.3 ActionForm Classes 4.3.1 DynaActionForm Classes -4.3.2 LazyActionForm Classes +4.3.2 LazyActionForm Classes 4.3.3 Map-backed ActionForm Classes - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r332435 - /struts/core/trunk/xdocs/userGuide/building_controller.xml
Author: niallp Date: Thu Nov 10 19:24:19 2005 New Revision: 332435 URL: http://svn.apache.org/viewcvs?rev=332435&view=rev Log: Fix for Bug 37462 - Clarifications for ComposableRequestProcessor docs - based on a patch supplied by Christian Meder Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/building_controller.xml?rev=332435&r1=332434&r2=332435&view=diff == --- struts/core/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/core/trunk/xdocs/userGuide/building_controller.xml Thu Nov 10 19:24:19 2005 @@ -156,15 +156,19 @@ The RequestProcessor is where the majority of the core processing -occurs for each request. -Since Struts 1.3, the default Request Processor is composed using -http://jakarta.apache.org/commons/chain/";>Jakarta Commons Chain. -Each step of the processing is represented as a separate Commaind in the Chain. +occurs for each request. Since Struts 1.3, the default Request Processor +(ComposableRequestProcessor) is composed using +http://jakarta.apache.org/commons/chain/";>Jakarta Commons Chain, +which is an implementation of the Chain of Responsibility pattern (CoR). +It is designed as a drop-in replacement of the Struts 1.2.x behaviour and brings +greater flexibility and easier customization to the request processing process. +Each step of the processing is represented as a separate Command in the Chain. By inserting, substituting, or removing Commands, you can customize Struts to work your way. -Let's take a look at the commands on the RequestProcessor Chain in turn. -Each of these Command classes are in the [org.apache.struts.chain.commands.servlet] -package. +Let's take a look at the default commands for the ComposableRequestProcessor +Chain in turn. These Command classes are in either the +org.apache.struts.chain.commands or +or org.apache.struts.chain.commands.servlet packages. @@ -180,11 +184,10 @@ -SetContentType +SetOriginalURI -Set the default content type (with optional character encoding) for -all responses if requested. +Store the URI of the original request in the request. @@ -200,14 +203,11 @@ -ProcessPreprocess +SetContentType - LookupCommand with optional="true". Multiple -occurrences of this can easily be added, to -support additional processing hooks at any -point in the chain without modifying the -The default implementation simply returns true. +Set the default content type (with optional character encoding) for +all responses if requested. @@ -262,6 +262,25 @@ +SelectInput + + +If validation failed, select the appropriate ForwardConfig for return +to the input page. + + + + + +ExecuteCommand + + +Lookup and execute a chain command if the current ActionConfig is so-configured. + + + + + SelectForward @@ -275,8 +294,16 @@ SelectInclude -If this mapping represents an include, include the result of -invoking the path in this request. +Select the include uri (if any) for the current action mapping. + + + + + +PerformInclude + + +If selected, include the result of invoking the path in this request. @@ -298,11 +325,22 @@ This is the point at which your Action's execute method will be called. + + ExecuteForwardCommand +Lookup and execute a chain command if the current ForwardConfig is so-configured. + + + + + + PerformForward + + Finally, the process method of the RequestProcessor takes the ActionForward returned by your Action class, and uses it to select the next resource (if any). @@ -310,10 +348,31 @@ renders the response. - - + + +In Struts 1.2.x, Tiles processing required configuring Struts to use the +TilesRequestProcessor implementation. In the Struts 1.3 +Chain based request processor using Tiles simply +involves configuring it to use an additional Tiles Command, and +deploying the tiles sub-project jar. The following Comman
svn commit: r332416 - /struts/core/trunk/xdocs/userGuide/building_controller.xml
Author: niallp Date: Thu Nov 10 17:41:46 2005 New Revision: 332416 URL: http://svn.apache.org/viewcvs?rev=332416&view=rev Log: Fix for Bug 37461 - documentation corrections - patch supplied by Christian Meder Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/building_controller.xml?rev=332416&r1=332415&r2=332416&view=diff == --- struts/core/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/core/trunk/xdocs/userGuide/building_controller.xml Thu Nov 10 17:41:46 2005 @@ -1453,7 +1453,7 @@ <global-forwards> This section contains your global forward definitions. Forwards are instances of the ActionForward class returned from an -ActionForm's execute method. +Action's execute method. These map logical names to specific resources (typically JSPs), allowing you to change the resource without changing references to it throughout your application. @@ -1465,7 +1465,7 @@ name: The logical name for this forward. -This is used in your ActionForm's execute method to +This is used in your Action's execute method to forward to the next appropriate resource. Example: homepage - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r332415 - /struts/core/trunk/xdocs/userGuide/building_controller.xml
Author: niallp Date: Thu Nov 10 17:33:58 2005 New Revision: 332415 URL: http://svn.apache.org/viewcvs?rev=332415&view=rev Log: Fix for Bug 37459 - correct BigDecimal/BigInteger package names - patch supplied by Christian Meder Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml Modified: struts/core/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/core/trunk/xdocs/userGuide/building_controller.xml?rev=332415&r1=332414&r2=332415&view=diff == --- struts/core/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/core/trunk/xdocs/userGuide/building_controller.xml Thu Nov 10 17:33:58 2005 @@ -532,11 +532,11 @@ -java.lang.BigDecimal +java.math.BigDecimal -java.lang.BigInteger +java.math.BigInteger - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r331955 - in /struts/apps/trunk/examples/src: java/org/apache/struts/webapp/upload/ webapp/WEB-INF/upload/ webapp/upload/
Author: niallp Date: Tue Nov 8 21:14:23 2005 New Revision: 331955 URL: http://svn.apache.org/viewcvs?rev=331955&view=rev Log: Add validation to File Upload example and display request parameters to show that they are handled correctly. Added: struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml (with props) Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadForm.java struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadResources.properties struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml struts/apps/trunk/examples/src/webapp/upload/display.jsp struts/apps/trunk/examples/src/webapp/upload/upload.jsp Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadForm.java URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadForm.java?rev=331955&r1=331954&r2=331955&view=diff == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadForm.java (original) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadForm.java Tue Nov 8 21:14:23 2005 @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright 1999-2004 The Apache Software Foundation. + * Copyright 1999-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,11 @@ import javax.servlet.http.HttpServletRequest; -import org.apache.struts.action.*; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; +import org.apache.struts.action.ActionErrors; +import org.apache.struts.validator.ValidatorForm; import org.apache.struts.upload.FormFile; import org.apache.struts.upload.MultipartRequestHandler; @@ -33,7 +37,7 @@ * * @version $Rev$ $Date$ */ -public class UploadForm extends ActionForm { +public class UploadForm extends ValidatorForm { /** * The value of the text the user has sent as form data @@ -142,14 +146,17 @@ ActionMapping mapping, HttpServletRequest request) { -ActionErrors errors = null; +ActionErrors errors = super.validate(mapping, request); + //has the maximum length been exceeded? Boolean maxLengthExceeded = (Boolean) request.getAttribute( MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED); if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) { -errors = new ActionErrors(); +if (errors == null) { +errors = new ActionErrors(); +} errors.add( ActionMessages.GLOBAL_MESSAGE , new ActionMessage("maxLengthExceeded")); Modified: struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadResources.properties URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadResources.properties?rev=331955&r1=331954&r2=331955&view=diff == --- struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadResources.properties (original) +++ struts/apps/trunk/examples/src/java/org/apache/struts/webapp/upload/UploadResources.properties Tue Nov 8 21:14:23 2005 @@ -1,2 +1,5 @@ maxLengthExceeded=The maximum upload length has been exceeded by the client. maxLengthExplanation=Note that the maximum allowed size of an uploaded file for this application is two megabytes. See the "/WEB-INF/upload/struts-config.xml" file for this application to change it. +errors.required={0} is required. +errors.minlength={0} can not be less than {1} characters. + Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml?rev=331955&r1=331954&r2=331955&view=diff == --- struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml (original) +++ struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml Tue Nov 8 21:14:23 2005 @@ -7,16 +7,32 @@ + + - + + + + + + + + + + Added: struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml URL: http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml?rev=331955&view=auto =