Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Joe Germuska
I think that as soon as there is a 1.3 GA release, there would be no 
reason at all to backport changes to 1.2.x  As Michael points out, 
1.3 is not a revolutionary change from 1.2 and the migration path is 
not an extremely complicated one.


The recent 1.2.9 release is largely to address specific security 
concerns which merited a release of something likely to be GA sooner 
than we could expect 1.3.x to reach that level.


Joe


Michael J wrote:

You think that 1.3 is a revolution? Or a leap so giant that current
1.2.x users may not be able to make? Afaik, 1.3 can be used without
knowing anything about chains, with minor web.xml fixes. That is how I
used it a while ago. Have this changed?

Having stated in another thread that Struts is all about backwards
compatibility, 1.3 should serve well to 1.1 and 1.2.x users.

I don't see the point in continuing 1.2.x generation. There too many
Struts flavors already.


--
Joe Germuska
[EMAIL PROTECTED] * http://blog.germuska.com


You really can't burn anything out by trying something new, and
even if you can burn it out, it can be fixed.  Try something new.
-- Robert Moog

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Ted Husted
On 3/16/06, Niall Pemberton [EMAIL PROTECTED] wrote:
 The difference is that Spring is commercial open source. Here it needs
 a volunteer willing to do it and the problem with that if eat our own
 dog food  how likely is it there'll be a volunteer wanting to back
 port?

Following up on something Niall said elsewhere, the trick to open
source is to concentrate on scratching your own itch. If there's a
feature that *you* want implemented for *your* application, go ahead
and implement it, and then try to share the wealth. Worst case, you've
got a feature that you needed. Ditto for patches and fixes. Worse
case, you've patched your copy of the framework so that it works
better for you.

Anytime anyone says something like I don't want to do this work
unless it's going to be accepted to the distribution, then the first
thing I think is that this person is volunteering for the wrong
reasons, and, if so, it would be better if they didn't volunteer to do
the work.

-Ted.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Add Struts to Apache Projects site

2006-03-17 Thread Ted Husted
On 3/16/06, James Mitchell [EMAIL PROTECTED] wrote:
 Funny, this page:
 http://projects.apache.org/languages.html

 ...doesn't mention C#/.Net -- sorry Ted ;)

Well, that's certainly an oversite. I've have to submit a patch.
Besides my Struts whiteboard, with the foundation we have iBATIS.NET,
Logging.NET,  and Lucene.NET, not to mention the HTTPD cli module that
lets you run .NET under Apache HTTPD.

Viva La Revolucion!!

-T.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Paul Benedict
This is a great post. I nominate it to be added
to the Struts how to contribute section. It's worth
sharing in an official matter: the correct attitude of helping.

--- Ted Husted [EMAIL PROTECTED] wrote:

 On 3/16/06, Niall Pemberton [EMAIL PROTECTED] wrote:
  The difference is that Spring is commercial open source. Here it needs
  a volunteer willing to do it and the problem with that if eat our own
  dog food  how likely is it there'll be a volunteer wanting to back
  port?
 
 Following up on something Niall said elsewhere, the trick to open
 source is to concentrate on scratching your own itch. If there's a
 feature that *you* want implemented for *your* application, go ahead
 and implement it, and then try to share the wealth. Worst case, you've
 got a feature that you needed. Ditto for patches and fixes. Worse
 case, you've patched your copy of the framework so that it works
 better for you.
 
 Anytime anyone says something like I don't want to do this work
 unless it's going to be accepted to the distribution, then the first
 thing I think is that this person is volunteering for the wrong
 reasons, and, if so, it would be better if they didn't volunteer to do
 the work.
 
 -Ted.
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 39015] New: - shale-mailreader-20060316.war could not be started

2006-03-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=39015.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39015

   Summary: shale-mailreader-20060316.war could not be started
   Product: Struts
   Version: Nightly Build
  Platform: PC
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Shale
AssignedTo: dev@struts.apache.org
ReportedBy: [EMAIL PROTECTED]


When trying to deploy shale-mailreader-20060316.war, I got the message
FAIL - Application at context path /shale-mailreader-20060316 could not be 
started 

I am using Apache Tomcat/5.0.19and JVM version 1.4.2_02-b03 
2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux

I also get this error:
2006-03-16 15:29:03 StandardContext[/shale-mailreader-20060316]Exception
starting filter shale
java.lang.UnsupportedClassVersionError:
org/apache/shale/tiger/faces/LifecycleListener (Unsupported major.minor version
49.0)

When I removed shale-tiger.jar from the WEB-INF/lib (as suggested by Wendy
Smoak) the application starts and runs fine.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 39015] - shale-mailreader-20060316.war could not be started

2006-03-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=39015.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39015


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED




--- Additional Comments From [EMAIL PROTECTED]  2006-03-17 15:36 ---

Fixed in r386550. http://svn.apache.org/viewcvs?rev=386550view=rev 

Please try shale-mailreader-20060317.war from
http://cvs.apache.org/builds/struts/nightly/struts-shale/ and let us know if you
still have problems.  It works for me on Tomcat 5.0.28 and JDK 1.4.2.

Thanks!

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Frank W. Zammetti
On Fri, March 17, 2006 9:15 am, Ted Husted said:
 Anytime anyone says something like I don't want to do this work
 unless it's going to be accepted to the distribution, then the first
 thing I think is that this person is volunteering for the wrong
 reasons, and, if so, it would be better if they didn't volunteer to do
 the work.

I used to say this sort of thing, but I have come to see your point here
and largely agree.

However, you seem to leave room for another possibility, by using the
phrase if so here, and I think that's good, because I don't think it's
an either-or proposition... For example, I don't think I've ever said
tell me this will be accepted or I won't do it, but certainly I've
looked for support for an idea among committers before putting in effort,
and I don't see this as a problem.  Someone can want to contribute out of
an altrusitic mindset, want to see a project move forward in a certain way
out of a desire to do good, and for them it might be perfectly valid to
not want to wind up wasting their time doing something that was never
going to be accepted.

Not all good ideas come from scratching an itch is my point.  I think it's
fair to be weary of an idea not born of that, but it doesn't automatically
make it a bad idea, and it doesn't automatically mean the person doesn't
have good/non-selfish intentions at heart.

Let's not let this thread go any further OT than this though... I still
give my non-binding +1 for GA :)

 -Ted.

Frank


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 39020] New: - Validator validwhen :Cannot make dependance between two different index in an Array

2006-03-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=39020.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39020

   Summary: Validator validwhen :Cannot make dependance between two
different index in an Array
   Product: Struts
   Version: 1.2.8
  Platform: PC
OS/Version: Windows 2000
Status: NEW
  Severity: normal
  Priority: P2
 Component: Action
AssignedTo: dev@struts.apache.org
ReportedBy: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]


This code in the validator.xml fails with this error : unexpected token adr..

  
field property=adr[0] depends =validwhen 
  var 
  var-nametest/var-name 
  var-value((*this*!=null) or (adr[1] != null ))/var-value 
  /var 
/field 


adr is an array of two adress lines. Only one of them needs tobe filled.
According to the document of the validator, it should work.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



DO NOT REPLY [Bug 39020] - Validator validwhen :Cannot make dependance between two different index in an Array

2006-03-17 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=39020.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39020





--- Additional Comments From [EMAIL PROTECTED]  2006-03-17 17:02 ---
Adding a link to the related thread on the user list:

http://www.mail-archive.com/user%40struts.apache.org/msg43177.html

I had a quick look at the source (ValidWhenParser.g) and I agree it looks like 
it should cater for this. I also tried adding a test case (to 
TestValidWhen.java) to and got the same result as Christophe.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Paul Speed



Frank W. Zammetti wrote:


On Fri, March 17, 2006 9:15 am, Ted Husted said:


Anytime anyone says something like I don't want to do this work
unless it's going to be accepted to the distribution, then the first
thing I think is that this person is volunteering for the wrong
reasons, and, if so, it would be better if they didn't volunteer to do
the work.



I used to say this sort of thing, but I have come to see your point here
and largely agree.

However, you seem to leave room for another possibility, by using the
phrase if so here, and I think that's good, because I don't think it's
an either-or proposition... For example, I don't think I've ever said
tell me this will be accepted or I won't do it, but certainly I've
looked for support for an idea among committers before putting in effort,
and I don't see this as a problem.  Someone can want to contribute out of
an altrusitic mindset, want to see a project move forward in a certain way
out of a desire to do good, and for them it might be perfectly valid to
not want to wind up wasting their time doing something that was never
going to be accepted.

Not all good ideas come from scratching an itch is my point.  I think it's
fair to be weary of an idea not born of that, but it doesn't automatically
make it a bad idea, and it doesn't automatically mean the person doesn't
have good/non-selfish intentions at heart.


I agree with what you say but I thought that I'd point out that open 
source projects are successful for their code and not their ideas.  So a 
person may have a fabulous idea but if they aren't going to use the code 
themselves then it is likely to be of lower quality than something 
similar that someone is going to use.  It's not universally true but the 
phrase eating your own dog food didn't come from nowhere. :)


Scratching an itch implies that not only does one have an idea but 
they have a use-case that their idea solves... which means their 
solution will probably be more than a sketch of a good idea.  And it's 
something that they'd want to maintain.


-Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



WebWork 2 Incubation Status

2006-03-17 Thread Don Brown

This is the status of the WebWork 2 Incubation:

 1. We have an official Incubator status page at 
http://incubator.apache.org/projects/webwork2.html
 2. March 22 is the scheduled date for the WebWork 2.2.2 release, and subsequent SVN cutover to the Apache Incubator 
repository.
 3. The JIRA cutover is also scheduled for March 22, however, it is less certain as we are dependent on the time of 
Jeff Turner, the Apache JIRA guy.

 4. All but Toby Jee have sent in their CLA's and have been given an Apache 
account and SVN access.
 5. We are still gathering CLA's from non-active WebWork 2 developers and will 
be throughout Incubation

The WebWork 2 team has been working hard this entire time so while it may seem like Action 2 isn't coming along, it has 
been quite rapidly.  The WebWork 2 commits will be sent to this list, so that everyone may be informed of its progress 
and encouraged to jump in and help the effort.


At this time, we are planning three migration paths for Action 1 users:
 1. Dual processors, shared resources - Run Action 1 and Action 2 servlets/filters side-by-side sharing resources like 
messages and validations, allowing a developer to migrate a module or so at a time.
 2. Migration tools - These tools would help a developer to migrate their entire application to Action 2 using XSLT 
stylesheets, an integration library to use existing ActionForms unmodified on Action 2, and possibly an entire port of 
the Action 1 processing chain to Action 2.
 3. Example applications - Ted has been working hard on migrating popular Action 1 applications such as the Mailreader 
and the iBATIS JPetstore application over to Action 2.  This will provide developers an example of Action 2 best 
practices and a practical example to help them migrate their Action 1 knowledge.


Again, welcome WebWork 2 development team and community, and lets try to get this Action 2 out the door ASAP, but no 
sooner ;)


Don


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Struts Wiki] Update of Shale/Resources by NiallPemberton

2006-03-17 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Struts Wiki for change 
notification.

The following page has been changed by NiallPemberton:
http://wiki.apache.org/struts/Shale/Resources

The comment on the change is:
Duncan's blog is back - add the dates he posted

--
  || [http://jroller.com/page/dgeary?entry=shale_adds_web_flow1 Shale Adds Web 
Flow] || David Geary's Blog || May 2005 ||
  || 
[http://www.jroller.com/page/dgeary/20050419#added_commons_validator_support_to 
Shale Adds Validation Support] || David Geary's Blog || April 2005 ||
  || [http://www.jroller.com/page/dgeary/20050321#shale_cometh Shale Cometh] || 
David Geary's Blog || March 2005 ||
- || 
[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=C6020059D201AAC49C5E9106A181C8E6.txt
 Customising the ViewControllerMapper] || Duncan Mills's Blog || ? ||
+ || 
[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=C6020059D201AAC49C5E9106A181C8E6.txt
 Customising the ViewControllerMapper] || Duncan Mills's Blog || March 2005 ||
- || 
[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=9074324708A06EE85EE4720495475AA9.txt
 The ViewController Lifecycle] || Duncan Mills's Blog || ? ||
+ || 
[http://www.groundside.com/blog/content/DuncanMills/J2EE+Development/?permalink=9074324708A06EE85EE4720495475AA9.txt
 The ViewController Lifecycle] || Duncan Mills's Blog || March 2005 ||
  
  === Books (most recent first) ===
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Struts Wiki] Update of Shale/Validation by NiallPemberton

2006-03-17 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Struts Wiki for change 
notification.

The following page has been changed by NiallPemberton:
http://wiki.apache.org/struts/Shale/Validation

The comment on the change is:
Copy ShaleValidation page to Shale/Validation

New page:
##language:en
#pragma section-numbers off
||rowbgcolor=#E0[http://struts.apache.org/struts-shale/index.html Shale 
Home]||[:Shale:Wiki Home]||[:Shale/UserDocs:User 
Docs]||[:Shale/SiteMap:Index]||[:Shale/WikiGuidelines:Guidelines]||[:../:Go 
Up]||
-

== Shale Commons Validator Integration ==

 * http://struts.apache.org/struts-shale/features-commons-validator

=== Validation error messages and the s:validatorVar tag ===

The parameters used to format the 
[http://svn.apache.org/repos/asf/struts/shale/trunk/core-library/src/java/org/apache/shale/validator/messages.properties
 error messages] that are shown when a validation error occurs include the 
incorrect value and any validator-specific 'var' parameters.  

When the s:validatorVar tag is used for validator-specific 'var' parameters, 
the order in which the 'var's are declared is the order that will be used to 
format the error message.

For a 'range' validator, such as 'floatRange', the error message pattern is:

{{{errors.range={0} is not in the range {1} through {2}.}}}

Therefore, when using a range validator with the s:validatorVar tags, 
specify the min var before the max var:

{{{
s:commonsValidator type=floatRange
 arg=#{msgs.amount}
  server=true 
  client=false
s:validatorVar name=min value=10/
s:validatorVar name=max value=1000/
/s:commonsValidator
}}}


=== Using Custom Validation Rules with Shale ===

To use a custom validation rule in your application, complete the following 
steps:

'''1. Define an xml file conforming to the Commons Validator 1.2.0 dtd.'''

In this example, the file will be named 'custom-rules.xml' and will be placed 
in /WEB-INF.

{{{
!DOCTYPE form-validation PUBLIC
  -//Apache Software Foundation//DTD Commons Validator Rules 
Configuration 1.2.0//EN
  http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd;
form-validation
   global
   validator name=evenNumber
 classname=com.example.ValidationUtil
 method=isEven
 methodParams=int
 msg=errors.even
   /validator
   /global
/form-validation
}}}

'''2. Write the validation method.'''

{{{
package com.example;
public class ValidationUtil implements Serializable
{
public static boolean isEven( int value ) {
   return (value % 2 == 0);
}
}
}}}

'''3. Configure the validation rules in web.xml.''' 

Include the default rule set by listing 
/org/apache/shale/validator/validator-rules.xml in addition to your custom 
rules.

{{{
!-- Shale Validator Configuration Resources --
context-param
   param-nameorg.apache.shale.validator.VALIDATOR_RULES/param-name
   param-value
   /org/apache/shale/validator/validator-rules.xml,
   /WEB-INF/custom-rules.xml
   /param-value
/context-param
}}}

!CommonsValidator will pass the value entered by the user as the first 
parameter of your validation method, provided you have listed at least one type 
in the 'methodParams' attribute of your validator tag.

In addition, if you add them as attributes to the s:commonsValidator tag, 
!CommonsValidator will pass the following parameters through to your validation 
method:  min, max, minlength, maxlength, mask, and datePatternStrict.  These 
parameters are always passed in exactly this order, no matter how they are 
listed in s:commonsValidator.

'''4. Provide a resource bundle for messages.''' (Optional)

The !CommonsValidator class reads the messages from the application's resource 
bundle, then from the 'messages' bundle in org.apache.struts.validator (the 
(localized) messages.properties file inside shale-core.jar).

If you can use one of the provided messages for your validator, then no action 
is necessary.

If you need to provide additional messages or override any of the provided 
messages, here's how:

Configure a resource bundle for your application in faces-config.xml.  For 
example:

{{{
application
message-bundleApplicationResources/message-bundle
locale-config
default-localeen/default-locale
supported-localeen/supported-locale
/locale-config
/application
}}}

And add your message to it. In this example, the file would be 
'/WEB-INF/classes/!ApplicationResources.properties'.

{{{
 errors.even={0} is not an even number.
}}}

The value of the field being validated is automatically passed as {0} for 
message parameter replacement.

'''5. Attach your new validation rule to a component.'''

In this example, we have a text field called Priority which will only accept 
an even number.

{{{
h:outputText value=#{messages['prompt.priority']}/

Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Frank W. Zammetti
On Fri, March 17, 2006 12:11 pm, Paul Speed said:
 I agree with what you say but I thought that I'd point out that open
 source projects are successful for their code and not their ideas.  So a
 person may have a fabulous idea but if they aren't going to use the code
 themselves then it is likely to be of lower quality than something
 similar that someone is going to use.  It's not universally true but the
 phrase eating your own dog food didn't come from nowhere. :)

 Scratching an itch implies that not only does one have an idea but
 they have a use-case that their idea solves... which means their
 solution will probably be more than a sketch of a good idea.  And it's
 something that they'd want to maintain.

That's a good point Paul, thank you!

 -Paul

Frank

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Struts Wiki] Update of ShaleValidation by NiallPemberton

2006-03-17 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Struts Wiki for change 
notification.

The following page has been changed by NiallPemberton:
http://wiki.apache.org/struts/ShaleValidation

The comment on the change is:
Remove content and re-direct ShaleValidation to Shale/Validation

--
- == Shale Commons Validator Integration ==
+ #REDIRECT Shale/Validation
  
-  * http://struts.apache.org/struts-shale/features-commons-validator
+ This page has moved to [:Shale/Validation] and should automatically re-direct.
  
- === Validation error messages and the s:validatorVar tag ===
- 
- The parameters used to format the 
[http://svn.apache.org/repos/asf/struts/shale/trunk/core-library/src/java/org/apache/shale/validator/messages.properties
 error messages] that are shown when a validation error occurs include the 
incorrect value and any validator-specific 'var' parameters.  
- 
- When the s:validatorVar tag is used for validator-specific 'var' 
parameters, the order in which the 'var's are declared is the order that will 
be used to format the error message.
- 
- For a 'range' validator, such as 'floatRange', the error message pattern is:
- 
- {{{errors.range={0} is not in the range {1} through {2}.}}}
- 
- Therefore, when using a range validator with the s:validatorVar tags, 
specify the min var before the max var:
- 
- {{{
- s:commonsValidator type=floatRange
-  arg=#{msgs.amount}
-   server=true 
-   client=false
- s:validatorVar name=min value=10/
- s:validatorVar name=max value=1000/
- /s:commonsValidator
- }}}
- 
- 
- === Using Custom Validation Rules with Shale ===
- 
- To use a custom validation rule in your application, complete the following 
steps:
- 
- '''1. Define an xml file conforming to the Commons Validator 1.2.0 dtd.'''
- 
- In this example, the file will be named 'custom-rules.xml' and will be placed 
in /WEB-INF.
- 
- {{{
- !DOCTYPE form-validation PUBLIC
-   -//Apache Software Foundation//DTD Commons Validator Rules 
Configuration 1.2.0//EN
-   http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd;
- form-validation
-global
-validator name=evenNumber
-  classname=com.example.ValidationUtil
-  method=isEven
-  methodParams=int
-  msg=errors.even
-/validator
-/global
- /form-validation
- }}}
- 
- '''2. Write the validation method.'''
- 
- {{{
- package com.example;
- public class ValidationUtil implements Serializable
- {
- public static boolean isEven( int value ) {
-return (value % 2 == 0);
- }
- }
- }}}
- 
- '''3. Configure the validation rules in web.xml.''' 
- 
- Include the default rule set by listing 
/org/apache/shale/validator/validator-rules.xml in addition to your custom 
rules.
- 
- {{{
- !-- Shale Validator Configuration Resources --
- context-param
-param-nameorg.apache.shale.validator.VALIDATOR_RULES/param-name
-param-value
-/org/apache/shale/validator/validator-rules.xml,
-/WEB-INF/custom-rules.xml
-/param-value
- /context-param
- }}}
- 
- !CommonsValidator will pass the value entered by the user as the first 
parameter of your validation method, provided you have listed at least one type 
in the 'methodParams' attribute of your validator tag.
- 
- In addition, if you add them as attributes to the s:commonsValidator tag, 
!CommonsValidator will pass the following parameters through to your validation 
method:  min, max, minlength, maxlength, mask, and datePatternStrict.  These 
parameters are always passed in exactly this order, no matter how they are 
listed in s:commonsValidator.
- 
- '''4. Provide a resource bundle for messages.''' (Optional)
- 
- The !CommonsValidator class reads the messages from the application's 
resource bundle, then from the 'messages' bundle in org.apache.struts.validator 
(the (localized) messages.properties file inside shale-core.jar).
- 
- If you can use one of the provided messages for your validator, then no 
action is necessary.
- 
- If you need to provide additional messages or override any of the provided 
messages, here's how:
- 
- Configure a resource bundle for your application in faces-config.xml.  For 
example:
- 
- {{{
- application
- message-bundleApplicationResources/message-bundle
- locale-config
- default-localeen/default-locale
- supported-localeen/supported-locale
- /locale-config
- /application
- }}}
- 
- And add your message to it. In this example, the file would be 
'/WEB-INF/classes/!ApplicationResources.properties'.
- 
- {{{
-  errors.even={0} is not an even number.
- }}}
- 
- The value of the field being validated is automatically passed as {0} for 
message parameter replacement.
- 
- '''5. Attach your new validation rule to a component.'''

svn commit: r386676 - in /struts/sandbox/trunk/action2/apps/cookbook/src: java/ java/cookbook2/ java/cookbook2/actiontag/ java/cookbook2/pojo/ webapp/WEB-INF/classes/ webapp/pages/Pojo/

2006-03-17 Thread husted
Author: husted
Date: Fri Mar 17 09:50:38 2006
New Revision: 386676

URL: http://svn.apache.org/viewcvs?rev=386676view=rev
Log:
Action2 Apps
* Move configurations to Java package tree, to keep more things together. 



Added:

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Hello-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Hello-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Home-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Home-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Select-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Select-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/Simple-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Simple-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/ActionTag-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Pojo-config.xml
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Pojo-config.xml
struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties
  - copied unchanged from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties
struts/sandbox/trunk/action2/apps/cookbook/src/java/xwork.xml
  - copied, changed from r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml
Removed:

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/ActionTag-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Hello-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Home-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Pojo-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Select-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/Simple-config.xml

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/webwork.properties

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml
Modified:

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/Pojo/Input.jsp

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java?rev=386676r1=386675r2=386676view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java 
(original)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java 
Fri Mar 17 09:50:38 2006
@@ -10,4 +10,11 @@
 public Object getModel() {
 return directoryEntry;
 }
+
+public String method1() {
+
+directoryEntry.setHours(new Integer(37));
+
+return SUCCESS;
+}
 }

Copied: struts/sandbox/trunk/action2/apps/cookbook/src/java/xwork.xml (from 
r386674, 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml)
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/xwork.xml?p2=struts/sandbox/trunk/action2/apps/cookbook/src/java/xwork.xmlp1=struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xmlr1=386674r2=386676rev=386676view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/WEB-INF/classes/xwork.xml 
(original)
+++ struts/sandbox/trunk/action2/apps/cookbook/src/java/xwork.xml Fri Mar 17 
09:50:38 2006
@@ -4,16 +4,16 @@
 
 include file=webwork-default.xml/
 
-include file=Home-config.xml/
+include file=cookbook2/Home-config.xml/
 
-include file=Hello-config.xml/
+include file=cookbook2/Hello-config.xml/
 
-include file=Simple-config.xml/
+include file=cookbook2/Simple-config.xml/
 
-include file=Pojo-config.xml/
+include file=cookbook2/pojo/Pojo-config.xml/
 
-include file=Select-config.xml/
+include file=cookbook2/Select-config.xml/
 
-include file=ActionTag-config.xml /
+include file=cookbook2/actiontag/ActionTag-config.xml /
 
 /xwork

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/Pojo/Input.jsp
URL: 

svn commit: r386680 - in /struts/sandbox/trunk/action2: ./ apps/cookbook/src/java/cookbook2/pojo/ apps/cookbook/src/webapp/pages/ActionTag/ apps/cookbook/src/webapp/pages/Pojo/ apps/cookbook/src/webap

2006-03-17 Thread husted
Author: husted
Date: Fri Mar 17 10:05:00 2006
New Revision: 386680

URL: http://svn.apache.org/viewcvs?rev=386680view=rev
Log:
Action2 Apps
* Change forms to use POST method. 
* Remove some play-test code. 




Added:
struts/sandbox/trunk/action2/PRACTICES.txt   (with props)
Modified:

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/Input.jsp
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/Pojo/Input.jsp
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/Select/Input.jsp
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/Simple/Input.jsp

Added: struts/sandbox/trunk/action2/PRACTICES.txt
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/PRACTICES.txt?rev=386680view=auto
==
--- struts/sandbox/trunk/action2/PRACTICES.txt (added)
+++ struts/sandbox/trunk/action2/PRACTICES.txt Fri Mar 17 10:05:00 2006
@@ -0,0 +1,39 @@
+Action2 Apps Best Practices
+
+* Link only to actions, never to server pages or templates
+
+* Do not expose the action extension in your tags. Use the action parameter 
instead.
+
+* Use namespaces to organize your application into logical modules or units 
of work.
+
+* Place each namespace into it's own Xwork config.
+ ** Try to keep the Actions classes for the namespace in a common package.
+ ** Store the Xwork configuration for that namespace with the Actions.
+ ** If you are using JSPs, try to name the JSP folder after the Action package.
+ ** If you using templates, bundle the templates with the Actions.
+ ** Remember, if the namespace needs to change, you do not need to change 
packages or JSP folders, if you don't want to.
+
+* Within a namespace, resuse names for common concepts. If each namespace has 
an entry page, use the same action name in each namespace. For example, each 
namespace in the Cookbook has an Open action.
+
+* Unit test actions before trying them in a web application.
+  ** Since JUnit is integrated in most IDEs now, there is no excuse.
+
+* Consider using WebCanoo, HtmlUnit, or HttpUnit to test navigation, as the 
application is being developed.
+
+* Use SiteMesh, or the equivalent, to separate application chrome from the 
core utility of the server pages.
+
+* Specify the POST method for forums, unless there is a reason to use the 
default GET method.
+
+* If an image, or other swatch of markup, is being used by multiple pages, 
remove it to its own server page and include it where necessary.
+ ** Better yet, encapsulate the markup in its own UI tag.
+
+* Extend the UI tags as needed.
+
+* Consider using the message resources for page titles, control labels, and so 
forth, even if the application is not being localized.
+ ** It is often useful to seperate the concern of what message to display form 
the concern of where to display it.
+
+* Use the XML framework to validate input.
+
+* Do not embed business logic in action classes.
+ ** Remove business logic to a business facade that the actions can call. 
(Spring is an excellent way to build a business facade.)
+ ** Actions are a necessary evil. Every line of code in an Action is guilty 
until proven innocent. Ideally, there should be one line of code that calls the 
business facade, and every other line of a code in an action should be bound to 
the framework.

Propchange: struts/sandbox/trunk/action2/PRACTICES.txt
--
svn:eol-style = native

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java?rev=386680r1=386679r2=386680view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java 
(original)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/pojo/Result.java 
Fri Mar 17 10:05:00 2006
@@ -11,10 +11,4 @@
 return directoryEntry;
 }
 
-public String method1() {
-
-directoryEntry.setHours(new Integer(37));
-
-return SUCCESS;
-}
 }

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/Input.jsp
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/Input.jsp?rev=386680r1=386679r2=386680view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/Input.jsp 
(original)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/Input.jsp 
Fri Mar 17 10:05:00 2006
@@ -17,7 +17,7 @@
 Accordingly, each control could be re-used on any number of pages.
 /p
 
-ww:form
+ww:form method=POST
 

[action] Maven groupId and svn repo structure

2006-03-17 Thread Wendy Smoak
We need to decide on a Maven groupId for Struts Action.  Currently,
we're using 'struts' but we've been asked to conform to the Maven 2
repository structure and place our artifacts under org/apache/struts.

My plan is to use org.apache.struts.action as the groupId.

As you can see with Shale, that will create a sub-group in the repository:
   http://cvs.apache.org/maven-snapshot-repository/org/apache/struts/

This doesn't have to change the svn repository at all, but something
I've been wondering about is how we're going to 'make room' for Action
2.  Right now Action 1 is spread across the top level of the svn repo.

Any thoughts on grouping the Action 1 related modules together in some way?

And where do you see the WW/Action 2 code being added, when it comes
out of the incubator?  (Does 1.3 become a branch, or is action2 a
separate trunk?)

Thanks,
Wendy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [action] Maven groupId and svn repo structure

2006-03-17 Thread Ted Husted
On 3/17/06, Wendy Smoak [EMAIL PROTECTED] wrote:
 Any thoughts on grouping the Action 1 related modules together in some way?

Hmmm, that's going to depend on what you mean by Action 1 related
modules. Would Scripting and Flow fall into that category, or just
Action, Apps, EL, Extras, and Taglib?

What about Tiles when it comes up from the sandbox? It looks like that
can be shared by all three frameworks, Action, Action2, and Shale.

 And where do you see the WW/Action 2 code being added, when it comes
 out of the incubator?  (Does 1.3 become a branch, or is action2 a
 separate trunk?)

My suggestion would be to treat the codebase the same way we are
handling Shale, except the root package might be something like
org.apache.action2 or org.apache.struts.action2.

In the sandbox, I started an action2 folder and added apps under
that. I've got a good start on an Action 2 Cookbook, and an Action 2
Mailreader is next. Here I'm using package names like cookbook2 and
mailreader2.

-Ted.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WebWork 2 Incubation Status

2006-03-17 Thread Ted Husted
On 3/17/06, Don Brown [EMAIL PROTECTED] wrote:
   1. We have an official Incubator status page at 
 http://incubator.apache.org/projects/webwork2.html

For future reference, there is also a link to this on the Apache
Struts home page, under Incubating ... 

And, hey, good work so far, Don :)


 The WebWork 2 team has been working hard this entire time

I can testify to that. One day I asked if it would be a good idea to
use a WebWork Result to display the sourcecode in an application
cookbook. The next day, Toby Jee had it written, tested, and checked
in!


 3. Example applications - Ted has been working hard on migrating popular 
 Action 1
 applications such as the Mailreader and the iBATIS JPetstore application over 
 to Action
 2.  This will provide developers an example of Action 2 best
 practices and a practical example to help them migrate their Action 1 
 knowledge.

Yes, there is already a starter Cookbook checked into the sandbox, and
I'm starting on the MailReader this afternoon. I've time set aside to
work on the applications every week day now.

-Ted.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Don Brown
I might as well make this its own proposal:  I propose we consolidate the
'extras', 'el', 'taglibs', and 'faces' subprojects under the 'action'
subproject.  We would keep the extensions as separate, but include them in
the 'action' subproject meaning they will continue to share the same version
number and release cycle.

The reason I propose this is while the original feeling was these extensions
would develop lives of their own and not hold up releases, the opposite has
proven true, especially now with Action 2 coming down the pipeline.  The
same people that update tablibs, for example, are the same people that work
on Action 1, and there just hasn't been a clamoring need to release a new
version of tabligs without a new version of Action.  By consolidating, we
stave off user confusion and simply the work of the Struts developer.

The new subversion repository would look like this:
action/trunk/apps
action/trunk/core
action/trunk/el
action/trunk/extras
action/trunk/faces
action/trunk/taglib

The new test for the existence of subprojects should be if:
 a) The subproject has its own distinct community that requires a new
release cycle
 b) The subproject is relevant to more than one framework (optional, but
encouraged)

I'd imagine this organization would allow the build for these action-related
extensions to try to build each other, leaving the other subprojects to use
snapshots instead.  If every subproject had its own release cycle, I
wouldn't think we'd need/want a build that built each from trunk, since each
subproject would require different minimum versions of each other
subproject.  For example, Scripting might require only Struts 1.1, so it
wouldn't make since for its build to try to build Action 1 from trunk.  On
the other hand, building 'extras' would force a 'core' build.

As far as impact, I'd like to hear from the build folks (Wendy) if this
would seriously impact the build.  If so, we could hold off, but I really
think this is the direction we need to move.  I know it seems like we are
going backwards, but I see it as simplying our project and better aligning
it with the current energies and direction of its developers.

Don

On 3/17/06, Wendy Smoak [EMAIL PROTECTED] wrote:

 We need to decide on a Maven groupId for Struts Action.  Currently,
 we're using 'struts' but we've been asked to conform to the Maven 2
 repository structure and place our artifacts under org/apache/struts.

 My plan is to use org.apache.struts.action as the groupId.

 As you can see with Shale, that will create a sub-group in the repository:
http://cvs.apache.org/maven-snapshot-repository/org/apache/struts/

 This doesn't have to change the svn repository at all, but something
 I've been wondering about is how we're going to 'make room' for Action
 2.  Right now Action 1 is spread across the top level of the svn repo.

 Any thoughts on grouping the Action 1 related modules together in some
 way?

 And where do you see the WW/Action 2 code being added, when it comes
 out of the incubator?  (Does 1.3 become a branch, or is action2 a
 separate trunk?)

 Thanks,
 Wendy

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Michael Jouravlev
On 3/17/06, Don Brown [EMAIL PROTECTED] wrote:
 The new subversion repository would look like this:
 action/trunk/apps
 action/trunk/core
 action/trunk/el
 action/trunk/extras
 action/trunk/faces
 action/trunk/taglib

What is the difference between el and taglib besides el support? Would
not it be more logical to have action/trunk/taglib and
action/trunk/taglib-el ?

Michael.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r386694 - in /struts/sandbox/trunk/action2/apps/cookbook/src: java/ java/cookbook2/actiontag/ test/ test/cookbook2/ test/cookbook2/actiontag/ webapp/pages/ActionTag/

2006-03-17 Thread husted
Author: husted
Date: Fri Mar 17 11:15:26 2006
New Revision: 386694

URL: http://svn.apache.org/viewcvs?rev=386694view=rev
Log:
Action2 Apps
* Add a JUnit test for the Languages action (that populates a list box).






Added:
struts/sandbox/trunk/action2/apps/cookbook/src/test/
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/

struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java
   (with props)
Modified:

struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml
struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties

struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/index.jsp

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml?rev=386694r1=386693r2=386694view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml
 (original)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/java/cookbook2/actiontag/ActionTag-config.xml
 Fri Mar 17 11:15:26 2006
@@ -45,6 +45,10 @@
 result 
type=plaintext/WEB-INF/src/java/cookbook2/actiontag/Languages.java/result
 /action
 
+action name=View-Test-Languages
+result 
type=plaintext/WEB-INF/src/test/cookbook2/actiontag/LanguagesTest.java/result
+/action
+
 action name=View-Config
 result 
type=plaintext/WEB-INF/classes/ActionTag-config.xml/result
 /action

Modified: struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties?rev=386694r1=386693r2=386694view=diff
==
--- struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties 
(original)
+++ struts/sandbox/trunk/action2/apps/cookbook/src/java/webwork.properties Fri 
Mar 17 11:15:26 2006
@@ -1,4 +1,3 @@
 webwork.objectFactory = spring
 webwork.devMode = true
-webwork.tag.altSyntax = true
 webwork.action.extension = do,jspa

Added: 
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java?rev=386694view=auto
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java
 (added)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java
 Fri Mar 17 11:15:26 2006
@@ -0,0 +1,34 @@
+package cookbook2.actiontag;
+
+import junit.framework.TestCase;
+import java.util.List;
+
+import cookbook2.Select;
+
+public class LanguagesTest extends TestCase {
+
+private Languages action;
+
+public void setUp() {
+
+action = new Languages();
+
+}
+
+public void testContents() throws Exception {
+
+List list = action.getFavoriteLanguages();
+assertNotNull(List is null!,list);
+assertTrue(List is not empty,list.size()==0);
+
+action.execute();
+
+List list2 = action.getFavoriteLanguages();
+assertNotNull(List is null!,list2);
+assertTrue(List is empty!,list.size()0);
+Select.Language entry = (Select.Language) list.get(0);
+assertNotNull(Entry is null,entry);
+assertTrue(Entry is empty,entry.getDescription().length()0);
+}
+
+}

Propchange: 
struts/sandbox/trunk/action2/apps/cookbook/src/test/cookbook2/actiontag/LanguagesTest.java
--
svn:eol-style = native

Modified: 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/index.jsp
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/index.jsp?rev=386694r1=386693r2=386694view=diff
==
--- 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/index.jsp 
(original)
+++ 
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/pages/ActionTag/index.jsp 
Fri Mar 17 11:15:26 2006
@@ -31,6 +31,13 @@
 a href=ww:url action=View-Action-Languages/Languages.java/a
 /li/ul
 
+
+h2Tests/h2
+ulli
+a href=ww:url action=View-Test-Languages/LanguagesTest.java/a
+/li/ul
+
+
 h2Configuration files/h2
 ulli
 a href=ww:url action=View-Config/ActionTag-config.xml/a



-
To unsubscribe, e-mail: 

Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Frank W. Zammetti
On Fri, March 17, 2006 1:48 pm, Don Brown said:
 I might as well make this its own proposal:  I propose we consolidate the
 'extras', 'el', 'taglibs', and 'faces' subprojects under the 'action'
 subproject.  We would keep the extensions as separate, but include them in
 the 'action' subproject meaning they will continue to share the same
 version
 number and release cycle.

Just to see if I understand... There would be a single Action entity,
that contains all of these?  If you download Action you get extras and
el and taglibs, etc.?  In other words, what has been the case for some
time would still be the case, except that we call the entity Action as
opposed to Struts.  Is that correct?  If so, definite +1 from me.

 The reason I propose this is while the original feeling was these
 extensions
 would develop lives of their own and not hold up releases, the opposite
 has
 proven true, especially now with Action 2 coming down the pipeline.  The
 same people that update tablibs, for example, are the same people that
 work
 on Action 1, and there just hasn't been a clamoring need to release a new
 version of tabligs without a new version of Action.  By consolidating, we
 stave off user confusion and simply the work of the Struts developer.

If I'm understanding your proposal, it would be a course change, but I
think a very good one.  I recall there being a fair bit of concern raised
when the decision was originally made... if some of those concerns have
come to fruition, quite possibly because other things happened in the
intervening time (was the WW merger on the table when this was decided for
instance?) then reversing the decision makes sense.

 I'd imagine this organization would allow the build for these
 action-related
 extensions to try to build each other, leaving the other subprojects to
 use
 snapshots instead.  If every subproject had its own release cycle, I
 wouldn't think we'd need/want a build that built each from trunk, since
 each
 subproject would require different minimum versions of each other
 subproject.  For example, Scripting might require only Struts 1.1, so it
 wouldn't make since for its build to try to build Action 1 from trunk.  On
 the other hand, building 'extras' would force a 'core' build.

I think this proposal would eliminate a lot of potential confusion with
version dependencies, which I think is clearly a good thing.

 As far as impact, I'd like to hear from the build folks (Wendy) if this
 would seriously impact the build.  If so, we could hold off, but I really
 think this is the direction we need to move.  I know it seems like we are
 going backwards, but I see it as simplying our project and better aligning
 it with the current energies and direction of its developers.

I wouldn't consider it a step backward actually... an idea was proposed...
it was implemented... there is now some thought that maybe it didn't work
out quite as hoped... now a decision is made to do something different
which just happens to be what was done before the decision.  This is just
good, flexible, thoughtful decision-making and leadership.

I can only speak as a member of the developer community... I thought the
separate release cycles, while not without merit, had the potential to be
confusing and make things more difficult on developers, and maybe too the
committers.  Therefore, I would support this proposal, just as an
interested third-party.

 Don

Frank

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Joe Germuska

If we're going to consolidate, why not go whole hog and have a single artifact?

I agree that past experience and the future of action2 suggest that 
there's not going to be a lot of activity in various subprojects 
independent of an individual release.


Joe



At 10:48 AM -0800 3/17/06, Don Brown wrote:

I might as well make this its own proposal:  I propose we consolidate the
'extras', 'el', 'taglibs', and 'faces' subprojects under the 'action'
subproject.  We would keep the extensions as separate, but include them in
the 'action' subproject meaning they will continue to share the same version
number and release cycle.

The reason I propose this is while the original feeling was these extensions
would develop lives of their own and not hold up releases, the opposite has
proven true, especially now with Action 2 coming down the pipeline.  The
same people that update tablibs, for example, are the same people that work
on Action 1, and there just hasn't been a clamoring need to release a new
version of tabligs without a new version of Action.  By consolidating, we
stave off user confusion and simply the work of the Struts developer.

The new subversion repository would look like this:
action/trunk/apps
action/trunk/core
action/trunk/el
action/trunk/extras
action/trunk/faces
action/trunk/taglib

The new test for the existence of subprojects should be if:
 a) The subproject has its own distinct community that requires a new
release cycle
 b) The subproject is relevant to more than one framework (optional, but
encouraged)

I'd imagine this organization would allow the build for these action-related
extensions to try to build each other, leaving the other subprojects to use
snapshots instead.  If every subproject had its own release cycle, I
wouldn't think we'd need/want a build that built each from trunk, since each
subproject would require different minimum versions of each other
subproject.  For example, Scripting might require only Struts 1.1, so it
wouldn't make since for its build to try to build Action 1 from trunk.  On
the other hand, building 'extras' would force a 'core' build.

As far as impact, I'd like to hear from the build folks (Wendy) if this
would seriously impact the build.  If so, we could hold off, but I really
think this is the direction we need to move.  I know it seems like we are
going backwards, but I see it as simplying our project and better aligning
it with the current energies and direction of its developers.

Don

On 3/17/06, Wendy Smoak [EMAIL PROTECTED] wrote:


 We need to decide on a Maven groupId for Struts Action.  Currently,
 we're using 'struts' but we've been asked to conform to the Maven 2
 repository structure and place our artifacts under org/apache/struts.

 My plan is to use org.apache.struts.action as the groupId.

 As you can see with Shale, that will create a sub-group in the repository:
http://cvs.apache.org/maven-snapshot-repository/org/apache/struts/

 This doesn't have to change the svn repository at all, but something
 I've been wondering about is how we're going to 'make room' for Action
 2.  Right now Action 1 is spread across the top level of the svn repo.

 Any thoughts on grouping the Action 1 related modules together in some
 way?

 And where do you see the WW/Action 2 code being added, when it comes
 out of the incubator?  (Does 1.3 become a branch, or is action2 a
 separate trunk?)

 Thanks,
 Wendy

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





--
Joe Germuska
[EMAIL PROTECTED] * http://blog.germuska.com


You really can't burn anything out by trying something new, and
even if you can burn it out, it can be fixed.  Try something new.
-- Robert Moog

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Don Brown

Michael Jouravlev wrote:

On 3/17/06, Don Brown [EMAIL PROTECTED] wrote:

The new subversion repository would look like this:
action/trunk/apps
action/trunk/core
action/trunk/el
action/trunk/extras
action/trunk/faces
action/trunk/taglib


What is the difference between el and taglib besides el support? Would
not it be more logical to have action/trunk/taglib and
action/trunk/taglib-el ?


Well, yes, I suppose that name would be more accurate, and we could switch if 
this proposal was accepted.

Don



Michael.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Don Brown

Joe Germuska wrote:
If we're going to consolidate, why not go whole hog and have a single 
artifact?


I still see value in the extensions having their own artifacts.  For one, it makes it easier to grok for new folks, and 
in cases like taglib and el, they can't be merged.  I see it working similarly to how Spring manages its components.


Don



I agree that past experience and the future of action2 suggest that 
there's not going to be a lot of activity in various subprojects 
independent of an individual release.


Joe



At 10:48 AM -0800 3/17/06, Don Brown wrote:

I might as well make this its own proposal:  I propose we consolidate the
'extras', 'el', 'taglibs', and 'faces' subprojects under the 'action'
subproject.  We would keep the extensions as separate, but include 
them in
the 'action' subproject meaning they will continue to share the same 
version

number and release cycle.

The reason I propose this is while the original feeling was these 
extensions
would develop lives of their own and not hold up releases, the 
opposite has

proven true, especially now with Action 2 coming down the pipeline.  The
same people that update tablibs, for example, are the same people that 
work

on Action 1, and there just hasn't been a clamoring need to release a new
version of tabligs without a new version of Action.  By consolidating, we
stave off user confusion and simply the work of the Struts developer.

The new subversion repository would look like this:
action/trunk/apps
action/trunk/core
action/trunk/el
action/trunk/extras
action/trunk/faces
action/trunk/taglib

The new test for the existence of subprojects should be if:
 a) The subproject has its own distinct community that requires a new
release cycle
 b) The subproject is relevant to more than one framework (optional, but
encouraged)

I'd imagine this organization would allow the build for these 
action-related
extensions to try to build each other, leaving the other subprojects 
to use

snapshots instead.  If every subproject had its own release cycle, I
wouldn't think we'd need/want a build that built each from trunk, 
since each

subproject would require different minimum versions of each other
subproject.  For example, Scripting might require only Struts 1.1, so it
wouldn't make since for its build to try to build Action 1 from 
trunk.  On

the other hand, building 'extras' would force a 'core' build.

As far as impact, I'd like to hear from the build folks (Wendy) if this
would seriously impact the build.  If so, we could hold off, but I really
think this is the direction we need to move.  I know it seems like we are
going backwards, but I see it as simplying our project and better 
aligning

it with the current energies and direction of its developers.

Don

On 3/17/06, Wendy Smoak [EMAIL PROTECTED] wrote:


 We need to decide on a Maven groupId for Struts Action.  Currently,
 we're using 'struts' but we've been asked to conform to the Maven 2
 repository structure and place our artifacts under org/apache/struts.

 My plan is to use org.apache.struts.action as the groupId.

 As you can see with Shale, that will create a sub-group in the 
repository:

http://cvs.apache.org/maven-snapshot-repository/org/apache/struts/

 This doesn't have to change the svn repository at all, but something
 I've been wondering about is how we're going to 'make room' for Action
 2.  Right now Action 1 is spread across the top level of the svn repo.

 Any thoughts on grouping the Action 1 related modules together in some
 way?

 And where do you see the WW/Action 2 code being added, when it comes
 out of the incubator?  (Does 1.3 become a branch, or is action2 a
 separate trunk?)

 Thanks,
 Wendy

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Don Brown

Frank W. Zammetti wrote:

On Fri, March 17, 2006 1:48 pm, Don Brown said:

I might as well make this its own proposal:  I propose we consolidate the
'extras', 'el', 'taglibs', and 'faces' subprojects under the 'action'
subproject.  We would keep the extensions as separate, but include them in
the 'action' subproject meaning they will continue to share the same
version
number and release cycle.


Just to see if I understand... There would be a single Action entity,
that contains all of these?  If you download Action you get extras and
el and taglibs, etc.?  In other words, what has been the case for some
time would still be the case, except that we call the entity Action as
opposed to Struts.  Is that correct?  If so, definite +1 from me.


Yes, but really, it wouldn't, from an end user perspective, be much different than now.  Currently, you have this Struts 
Library Distribution, or whatever it is called now, that contains all the extension jars in addition to the Action 1 
jar.  In this proposal, you'd still have that distribution to download, only now, you wouldn't have to worry about the 
version number of each component matching up.



think a very good one.  I recall there being a fair bit of concern raised
when the decision was originally made... if some of those concerns have
come to fruition, quite possibly because other things happened in the
intervening time (was the WW merger on the table when this was decided for
instance?) then reversing the decision makes sense.


The subproject split was way before the WW merger, and IIRC, I was the one that did the original SVN moving arounds at 
ApacheCon two years ago.  The emergence of Action 2 changes things completely, and IMO, the reasons we split as we did 
aren't valid anymore.  I don't see it as much as a reversal, but a new evolution.  We are still keeping many of the same 
subprojects, just consolidating the Action 1-specific ones ahead of the Action 2 start.


Don

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WebWork 2 Incubation Status

2006-03-17 Thread Alexandru Popescu
Good work Don!

./alex
--
.w( the_mindstorm )p.


On 3/17/06, Don Brown [EMAIL PROTECTED] wrote:

 This is the status of the WebWork 2 Incubation:

   1. We have an official Incubator status page at
 http://incubator.apache.org/projects/webwork2.html
   2. March 22 is the scheduled date for the WebWork 2.2.2 release, and
 subsequent SVN cutover to the Apache Incubator
 repository.
   3. The JIRA cutover is also scheduled for March 22, however, it is less
 certain as we are dependent on the time of
 Jeff Turner, the Apache JIRA guy.
   4. All but Toby Jee have sent in their CLA's and have been given an
 Apache account and SVN access.
   5. We are still gathering CLA's from non-active WebWork 2 developers and
 will be throughout Incubation

 The WebWork 2 team has been working hard this entire time so while it may
 seem like Action 2 isn't coming along, it has
 been quite rapidly.  The WebWork 2 commits will be sent to this list, so
 that everyone may be informed of its progress
 and encouraged to jump in and help the effort.

 At this time, we are planning three migration paths for Action 1 users:
   1. Dual processors, shared resources - Run Action 1 and Action 2
 servlets/filters side-by-side sharing resources like
 messages and validations, allowing a developer to migrate a module or so
 at a time.
   2. Migration tools - These tools would help a developer to migrate their
 entire application to Action 2 using XSLT
 stylesheets, an integration library to use existing ActionForms unmodified
 on Action 2, and possibly an entire port of
 the Action 1 processing chain to Action 2.
   3. Example applications - Ted has been working hard on migrating popular
 Action 1 applications such as the Mailreader
 and the iBATIS JPetstore application over to Action 2.  This will provide
 developers an example of Action 2 best
 practices and a practical example to help them migrate their Action 1
 knowledge.

 Again, welcome WebWork 2 development team and community, and lets try to
 get this Action 2 out the door ASAP, but no
 sooner ;)

 Don


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




svn commit: r386730 - in /struts/sandbox/trunk/action2/apps/mailreader: ./ META-INF/ src/ src/java/ src/java/mailreader2/ src/test/ src/webapp/ src/webapp/WEB-INF/ src/webapp/css/ src/webapp/pages/

2006-03-17 Thread husted
Author: husted
Date: Fri Mar 17 13:45:23 2006
New Revision: 386730

URL: http://svn.apache.org/viewcvs?rev=386730view=rev
Log:
Action2 Apps
* Initial checkin of Action2 MailReader with a starter Welcome page. 







Added:
struts/sandbox/trunk/action2/apps/mailreader/
struts/sandbox/trunk/action2/apps/mailreader/META-INF/
struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml   (with 
props)
struts/sandbox/trunk/action2/apps/mailreader/src/
struts/sandbox/trunk/action2/apps/mailreader/src/java/
struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java   (with 
props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties  
 (with props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate_ja.properties   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/
struts/sandbox/trunk/action2/apps/mailreader/src/java/resources.properties  
 (with props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/resources_ja.properties   
(with props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/resources_ru.properties   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/webwork.properties   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml   (with 
props)
struts/sandbox/trunk/action2/apps/mailreader/src/test/
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/WEB-INF/

struts/sandbox/trunk/action2/apps/mailreader/src/webapp/WEB-INF/applicationContext.xml
   (with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/WEB-INF/web.xml   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/css/
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/css/mailreader.css  
 (with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/index.html   (with 
props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/struts-power.gif   
(with props)

Added: struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml?rev=386730view=auto
==
--- struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml Fri Mar 
17 13:45:23 2006
@@ -0,0 +1,3 @@
+?xml version=1.0 encoding=UTF-8?
+Context path=/
+/Context

Propchange: struts/sandbox/trunk/action2/apps/mailreader/META-INF/context.xml
--
svn:eol-style = native

Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java?rev=386730view=auto
==
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java Fri Mar 17 
13:45:23 2006
@@ -0,0 +1,18 @@
+package blank2;
+
+import com.opensymphony.xwork.ActionSupport;
+
+/**
+ * Utilize the SUCCESS result.
+ */
+public class Home extends ActionSupport {
+
+/**
+ * Return the default SUCCESS token.
+ *
+ * @return [EMAIL PROTECTED] #SUCCESS}
+ */
+public String execute() throws Exception {
+return SUCCESS;
+}
+}

Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java
--
svn:eol-style = native

Added: 
struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties?rev=386730view=auto
==
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties 
(added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties 
Fri Mar 17 13:45:23 2006
@@ -0,0 +1,3 @@
+prompt.password=Enter your Password here ==
+struts.logo.path=/struts-power.gif
+struts.logo.alt=Powered by Struts

Propchange: 
struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate.properties
--
svn:eol-style = native

Added: 
struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate_ja.properties
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/alternate_ja.properties?rev=386730view=auto

Re: [Proposal] Consolidate extras, EL, taglibs, and faces under 'action' (was Maven groupId and svn repo structure)

2006-03-17 Thread Frank W. Zammetti

Don Brown wrote:
Yes, but really, it wouldn't, from an end user perspective, be much 
different than now.  Currently, you have this Struts Library 
Distribution, or whatever it is called now, that contains all the 
extension jars in addition to the Action 1 jar.  In this proposal, you'd 
still have that distribution to download, only now, you wouldn't have to 
worry about the version number of each component matching up.


Great!  Yes, I think just simply not having to worry about the versions 
is worth it.



Don


Frank


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Servlet mapping in a Struts app?

2006-03-17 Thread Jay Burgess
I must be misunderstanding something about the way servlet mapping works with my
Struts application in Tomcat.  I have two servlet mappings in web.xml:

servlet-mapping
servlet-nameaction/servlet-name
url-pattern*.do/url-pattern
/servlet-mapping
servlet-mapping
servlet-nameaction/servlet-name
url-pattern/API/*/url-pattern
/servlet-mapping

The first is for my action handlers.  The second is recently added, and
represents a collection of third party API functions that I've implemented
(also as action handlers).  However, my base application is now doing the
following.  

When I hit https://localhost/MyApp/login.jsp; for my main app, the following
html:form tag in login.jsp:

html:form action=Login.do focus=userId

Gets turned into:

form name=loginForm method=post action=/MyApp/API/Login

I'm confused as to why it's adding the /API to the form action, but it's got
to be related to the new servlet-mapping.  My struts-config.xml looks like the
following, and there's not mention of API:

action path=/Login
type=com.vtgroup.controller.LoginAction
name=loginForm
scope=request
validate=false
input=/login.jsp
/action

Please enlighten me, as I feel stupid about this, but can't figure it out.

Thanks.

Jay

| Jay Burgess [Vertical Technology Group]
| http://www.vtgroup.com/




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Servlet mapping in a Struts app?

2006-03-17 Thread Don Brown

Struts doesn't support multiple servlet mappings, which is probably why you are 
seeing some strange results.

Don

Jay Burgess wrote:

I must be misunderstanding something about the way servlet mapping works with my
Struts application in Tomcat.  I have two servlet mappings in web.xml:

servlet-mapping
servlet-nameaction/servlet-name
url-pattern*.do/url-pattern
/servlet-mapping
servlet-mapping
servlet-nameaction/servlet-name
url-pattern/API/*/url-pattern
/servlet-mapping

The first is for my action handlers.  The second is recently added, and
represents a collection of third party API functions that I've implemented
(also as action handlers).  However, my base application is now doing the
following.  


When I hit https://localhost/MyApp/login.jsp; for my main app, the following
html:form tag in login.jsp:

html:form action=Login.do focus=userId

Gets turned into:

form name=loginForm method=post action=/MyApp/API/Login

I'm confused as to why it's adding the /API to the form action, but it's got
to be related to the new servlet-mapping.  My struts-config.xml looks like the
following, and there's not mention of API:

action path=/Login
type=com.vtgroup.controller.LoginAction
name=loginForm
scope=request
validate=false
input=/login.jsp
/action

Please enlighten me, as I feel stupid about this, but can't figure it out.

Thanks.

Jay

| Jay Burgess [Vertical Technology Group]
| http://www.vtgroup.com/




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Servlet mapping in a Struts app?

2006-03-17 Thread Jay Burgess
That probably explains it then. :)  I'm still a little confused, though, as I
thought that the mappings were directives for the container (Tomcat in this
case), but obviously Struts also needs to get it from somewhere to build the
form action URL, so this must be where it's getting messed up.

I'm going to play around some more this weekend, but it may be that I end up
having to call my API function .do's to get it to work. 

Thanks for the reply.

Jay

-Original Message-
From: Don Brown [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 17, 2006 4:18 PM
To: Struts Developers List
Subject: Re: Servlet mapping in a Struts app?

Struts doesn't support multiple servlet mappings, which is probably why you are
seeing some strange results.

Don

Jay Burgess wrote:
 I must be misunderstanding something about the way servlet mapping works with 
 my
 Struts application in Tomcat.  I have two servlet mappings in web.xml:
 
 servlet-mapping
 servlet-nameaction/servlet-name
 url-pattern*.do/url-pattern
 /servlet-mapping
 servlet-mapping
 servlet-nameaction/servlet-name
 url-pattern/API/*/url-pattern
 /servlet-mapping
 
 The first is for my action handlers.  The second is recently added, and
 represents a collection of third party API functions that I've implemented
 (also as action handlers).  However, my base application is now doing the
 following.  
 
 When I hit https://localhost/MyApp/login.jsp; for my main app, the following
 html:form tag in login.jsp:
 
 html:form action=Login.do focus=userId
 
 Gets turned into:
 
 form name=loginForm method=post action=/MyApp/API/Login
 
 I'm confused as to why it's adding the /API to the form action, but it's got
 to be related to the new servlet-mapping.  My struts-config.xml looks like 
 the
 following, and there's not mention of API:
 
 action path=/Login
 type=com.vtgroup.controller.LoginAction
 name=loginForm
 scope=request
 validate=false
 input=/login.jsp
 /action
 
 Please enlighten me, as I feel stupid about this, but can't figure it out.
 
 Thanks.
 
 Jay
 
 | Jay Burgess [Vertical Technology Group]
 | http://www.vtgroup.com/
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Servlet mapping in a Struts app?

2006-03-17 Thread Jay Burgess
First, let me say SORRY! for using the dev@ list.  I intended this to go to
user@, but must have copied the wrong address when I started this thread. 

Second, following on from my last email, it looks like if I reverse the order of
the servlet-mappings in web.xml, things start to work.  Maybe Struts is just
storing the last mapping it finds at startup time, as opposed to using the
actual mapping at runtime?  (Glancing at addServletMapping() in
ActionServlet.java makes me think this too.)

So, reversing the order solves the problem, in case anyone else tries something
similar.

Jay
 

-Original Message-
From: Jay Burgess [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 17, 2006 4:25 PM
To: dev@struts.apache.org
Subject: RE: Servlet mapping in a Struts app?

That probably explains it then. :)  I'm still a little confused, though, as I
thought that the mappings were directives for the container (Tomcat in this
case), but obviously Struts also needs to get it from somewhere to build the
form action URL, so this must be where it's getting messed up.

I'm going to play around some more this weekend, but it may be that I end up
having to call my API function .do's to get it to work. 

Thanks for the reply.

Jay

-Original Message-
From: Don Brown [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 17, 2006 4:18 PM
To: Struts Developers List
Subject: Re: Servlet mapping in a Struts app?

Struts doesn't support multiple servlet mappings, which is probably why you are
seeing some strange results.

Don

Jay Burgess wrote:
 I must be misunderstanding something about the way servlet mapping works with 
 my
 Struts application in Tomcat.  I have two servlet mappings in web.xml:
 
 servlet-mapping
 servlet-nameaction/servlet-name
 url-pattern*.do/url-pattern
 /servlet-mapping
 servlet-mapping
 servlet-nameaction/servlet-name
 url-pattern/API/*/url-pattern
 /servlet-mapping
 
 The first is for my action handlers.  The second is recently added, and
 represents a collection of third party API functions that I've implemented
 (also as action handlers).  However, my base application is now doing the
 following.  
 
 When I hit https://localhost/MyApp/login.jsp; for my main app, the following
 html:form tag in login.jsp:
 
 html:form action=Login.do focus=userId
 
 Gets turned into:
 
 form name=loginForm method=post action=/MyApp/API/Login
 
 I'm confused as to why it's adding the /API to the form action, but it's got
 to be related to the new servlet-mapping.  My struts-config.xml looks like 
 the
 following, and there's not mention of API:
 
 action path=/Login
 type=com.vtgroup.controller.LoginAction
 name=loginForm
 scope=request
 validate=false
 input=/login.jsp
 /action
 
 Please enlighten me, as I feel stupid about this, but can't figure it out.
 
 Thanks.
 
 Jay
 
 | Jay Burgess [Vertical Technology Group]
 | http://www.vtgroup.com/
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Leon Rosenberg
On 3/17/06, Ted Husted [EMAIL PROTECTED] wrote:
 On 3/16/06, Niall Pemberton [EMAIL PROTECTED] wrote:
  The difference is that Spring is commercial open source. Here it needs
  a volunteer willing to do it and the problem with that if eat our own
  dog food  how likely is it there'll be a volunteer wanting to back
  port?

 Following up on something Niall said elsewhere, the trick to open
 source is to concentrate on scratching your own itch. If there's a
 feature that *you* want implemented for *your* application, go ahead
 and implement it, and then try to share the wealth. Worst case, you've
 got a feature that you needed. Ditto for patches and fixes. Worse
 case, you've patched your copy of the framework so that it works
 better for you.

 Anytime anyone says something like I don't want to do this work
 unless it's going to be accepted to the distribution, then the first
 thing I think is that this person is volunteering for the wrong
 reasons, and, if so, it would be better if they didn't volunteer to do
 the work.


I have to disagree. There are more colours than black and white. I've
played devils advocate for Frank in another thread, now it's your turn
:-)

Consider following example, which took place approx. 6 month ago:

Someone (lets call him X) is using struts in his corporate environment.
X and/or X's company develops some extensions/new features/whatever to
the struts distro. The features are actually used and are actually
running and being tested in production and so on. One day X and/or X's
company decides: Ok, we are using an OpenSource project, and we
benefit from this project, it's time to give something back to the
community. X 'comes' to the StrutsDevList and says: Ok we developed a
new feature on top of the project (or inside the project) and we'd
like to give it back to the community to honour communities work and
especially the work of the commiters. What would be the answer?

Right: not interested.

The above example should illustrate how the open source projects are
ment to work. They aren't working that way. You will understand that
this creates a lot of frustration upon the volunteers and I greatly
honour all the volunteers, who managed to contribute and give
something back to the community despite the commiters effort to
prevent it.

/devils advocate speech

 -Ted.


Leon

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Martin Cooper
On 3/17/06, Leon Rosenberg [EMAIL PROTECTED] wrote:

 On 3/17/06, Ted Husted [EMAIL PROTECTED] wrote:
  On 3/16/06, Niall Pemberton [EMAIL PROTECTED] wrote:
   The difference is that Spring is commercial open source. Here it needs
   a volunteer willing to do it and the problem with that if eat our own
   dog food  how likely is it there'll be a volunteer wanting to back
   port?
 
  Following up on something Niall said elsewhere, the trick to open
  source is to concentrate on scratching your own itch. If there's a
  feature that *you* want implemented for *your* application, go ahead
  and implement it, and then try to share the wealth. Worst case, you've
  got a feature that you needed. Ditto for patches and fixes. Worse
  case, you've patched your copy of the framework so that it works
  better for you.
 
  Anytime anyone says something like I don't want to do this work
  unless it's going to be accepted to the distribution, then the first
  thing I think is that this person is volunteering for the wrong
  reasons, and, if so, it would be better if they didn't volunteer to do
  the work.
 

 I have to disagree. There are more colours than black and white. I've
 played devils advocate for Frank in another thread, now it's your turn
 :-)

 Consider following example, which took place approx. 6 month ago:

 Someone (lets call him X) is using struts in his corporate environment.
 X and/or X's company develops some extensions/new features/whatever to
 the struts distro. The features are actually used and are actually
 running and being tested in production and so on. One day X and/or X's
 company decides: Ok, we are using an OpenSource project, and we
 benefit from this project, it's time to give something back to the
 community. X 'comes' to the StrutsDevList and says: Ok we developed a
 new feature on top of the project (or inside the project) and we'd
 like to give it back to the community to honour communities work and
 especially the work of the commiters. What would be the answer?

 Right: not interested.

 The above example should illustrate how the open source projects are
 ment to work.


Sorry, but that is incorrect. Contributions to ASF projects, at least, are
not simply accepted because they were offered. There are several factors
that need to be taken into account. To give just two: (1) Does the
contribution fit with the direction of the project as determined by the
committers; (2) Are there committers willing to step up not just to add the
contribution to the source code, but to vet it first, and be responsible
for, and maintain, that new code over time.

If we had accepted every contribution that had ever been offered to Struts
over the last 6 years, the end result would be a complete shambles by now.
(IMHO, of course.) Yes, I understand that it can be frustrating when
someone's pet awesome enhancement isn't instantly adopted, but understand
that there's a lot more to it than just checking it in and keeping going.

They aren't working that way. You will understand that
 this creates a lot of frustration upon the volunteers and I greatly
 honour all the volunteers, who managed to contribute and give
 something back to the community despite the commiters effort to
 prevent it.


If you think we expend effort to prevent giving back, then you have a screw
loose. ;-p

--
Martin Cooper


/devils advocate speech

  -Ted.
 

 Leon

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




svn commit: r386789 - in /struts/sandbox/trunk/action2/apps: cookbook/src/webapp/ mailreader/src/java/ mailreader/src/java/mailreader2/ mailreader/src/webapp/pages/

2006-03-17 Thread husted
Author: husted
Date: Fri Mar 17 18:01:21 2006
New Revision: 386789

URL: http://svn.apache.org/viewcvs?rev=386789view=rev
Log:
Action2 Apps
* Mailreader - Work in progress







Added:
struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html   (with 
props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml   (with 
props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java
   (with props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation

struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java   
(with props)

struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java
   (with props)

struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp
   (with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp   
(with props)
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp  
 (with props)

struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp  
 (with props)
Removed:
struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java
Modified:
struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp

Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html?rev=386789view=auto
==
--- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html (added)
+++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html Fri Mar 17 
18:01:21 2006
@@ -0,0 +1,9 @@
+!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN
+html
+head
+META HTTP-EQUIV=Refresh CONTENT=0;URL=Home.jsp
+/head
+body
+pLoading .../p
+/body
+/html

Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html
--
svn:eol-style = native

Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml?rev=386789view=auto
==
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml Fri Mar 
17 18:01:21 2006
@@ -0,0 +1,12 @@
+?xml version='1.0'?
+database
+user username=user fromAddress=[EMAIL PROTECTED]
+  fullName=John Q. User password=pass
+subscription host=mail.hotmail.com autoConnect=false
+  password=bar type=pop3 username=user1234
+/subscription
+subscription host=mail.yahoo.com autoConnect=false password=foo
+  type=imap username=jquser
+/subscription
+/user
+/database

Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml
--
svn:eol-style = native

Added: 
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java?rev=386789view=auto
==
--- 
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java
 (added)
+++ 
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java
 Fri Mar 17 18:01:21 2006
@@ -0,0 +1,235 @@
+/*
+ * $Id: Constants.java 360442 2005-12-31 20:10:04Z husted $
+ *
+ * Copyright 1999-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 mailreader2;
+
+/**
+ * p
+ * Manifest constants for the MailReader application.
+ * /p
+ *
+ * @version $Rev: 360442 $ $Date: 2005-12-31 15:10:04 -0500 (Sat, 31 Dec 2005) 
$
+ */
+
+public final class Constants {
+
+// --- Tokens 
+
+/**
+ * p
+ * The token representing a create task.
+ * /p
+ */
+public static final String CREATE = Create;

Re: [VOTE] Struts 1.2.9 Quality

2006-03-17 Thread Leon Rosenberg
On 3/18/06, Martin Cooper [EMAIL PROTECTED] wrote:
 On 3/17/06, Leon Rosenberg [EMAIL PROTECTED] wrote:
 
  On 3/17/06, Ted Husted [EMAIL PROTECTED] wrote:
   On 3/16/06, Niall Pemberton [EMAIL PROTECTED] wrote:
The difference is that Spring is commercial open source. Here it needs
a volunteer willing to do it and the problem with that if eat our own
dog food  how likely is it there'll be a volunteer wanting to back
port?
  
   Following up on something Niall said elsewhere, the trick to open
   source is to concentrate on scratching your own itch. If there's a
   feature that *you* want implemented for *your* application, go ahead
   and implement it, and then try to share the wealth. Worst case, you've
   got a feature that you needed. Ditto for patches and fixes. Worse
   case, you've patched your copy of the framework so that it works
   better for you.
  
   Anytime anyone says something like I don't want to do this work
   unless it's going to be accepted to the distribution, then the first
   thing I think is that this person is volunteering for the wrong
   reasons, and, if so, it would be better if they didn't volunteer to do
   the work.
  
 
  I have to disagree. There are more colours than black and white. I've
  played devils advocate for Frank in another thread, now it's your turn
  :-)
 
  Consider following example, which took place approx. 6 month ago:
 
  Someone (lets call him X) is using struts in his corporate environment.
  X and/or X's company develops some extensions/new features/whatever to
  the struts distro. The features are actually used and are actually
  running and being tested in production and so on. One day X and/or X's
  company decides: Ok, we are using an OpenSource project, and we
  benefit from this project, it's time to give something back to the
  community. X 'comes' to the StrutsDevList and says: Ok we developed a
  new feature on top of the project (or inside the project) and we'd
  like to give it back to the community to honour communities work and
  especially the work of the commiters. What would be the answer?
 
  Right: not interested.
 
  The above example should illustrate how the open source projects are
  ment to work.


 Sorry, but that is incorrect. Contributions to ASF projects, at least, are
 not simply accepted because they were offered. There are several factors
 that need to be taken into account. To give just two: (1) Does the
 contribution fit with the direction of the project as determined by the
 committers; (2) Are there committers willing to step up not just to add the
 contribution to the source code, but to vet it first, and be responsible
 for, and maintain, that new code over time.

 If we had accepted every contribution that had ever been offered to Struts
 over the last 6 years, the end result would be a complete shambles by now.
 (IMHO, of course.) Yes, I understand that it can be frustrating when
 someone's pet awesome enhancement isn't instantly adopted, but understand
 that there's a lot more to it than just checking it in and keeping going.


Martin,

my reply was about Teds
Anytime anyone says something like I don't want to do this work
unless it's going to be accepted to the distribution ...
and not about the accept rules for code. I just wanted to show, that
there are usecases where the above preamble is perfectly valid.
It just goes the other way around: I already have the
fix/patch/enhancement IF YOU WANT IT I volunteer to backport it.

The reasons why is something accepted and why not is another topic.

 They aren't working that way. You will understand that
  this creates a lot of frustration upon the volunteers and I greatly
  honour all the volunteers, who managed to contribute and give
  something back to the community despite the commiters effort to
  prevent it.


 If you think we expend effort to prevent giving back, then you have a screw
 loose. ;-p

Year, and you are Miko, the shiny paladin from the Azure City... :-)
http://www.giantitp.com/cgi-bin/GiantITP/ootscript



 --
 Martin Cooper


Leon

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]