Re: Refactoring Struts Initialization (was RE: Splitting struts-config into multiple jar...)

2004-04-05 Thread Don Brown
Craig R. McClanahan wrote:

snip /

I personally believe that, even if we implemented dynamic 
reconfiguration support for the config files themselves, developers 
will be disappointed in how little this helps in a development cycle 
-- you're not going to pick up added or changed Java classes without a 
container-managed restart of the webapp (except on *some* containers 
where you haven't yet loaded the class in question), so typical 
development use cases like add the next Action are going to require 
restarts anyway.
True, however that is only if your actions are Java classes.  I've 
developed Struts apps using scripting languages, particularly BeanShell, 
to get a quick prototype of the application up and running.  Later, I 
can easily change those scripts to Java classes if there is need.  For 
Struts to detect a configuration file change and automatically reload 
the config, as Cocoon can do (can be turned off of course), would go a 
long way to make it possible to quickly develop/prototype Struts 
applications.

Don

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


Re: Adding new Struts features/sub-projects (was [Bug 28609] - Scriptable Actions Support)

2004-04-27 Thread Don Brown
I think it goes without saying I'd be on the list, but just in case... 
:)  So, in this scripting subproject, could this perhaps someday host a 
continuations-based scripting flow implementation?  Dave Johnson has 
been doing some good work pulling Cocoon's flow out of Cocoon and I 
think a Struts port would be a great asset for developing complex 
wizard-style workflows.  Normally, I'd get something working then add it 
to the Struts SF project, but with a whole scripting subproject, perhaps 
it might be more relevant there. 

BTW, I really like the guidelines Steve was working on and recommend we 
polish them up and post them on our site to make the distinctions clear 
to everyone.  Specific mention of the SF site's role in Struts 
development would be very helpful as well.

Don

Joe Germuska wrote:

I'd be happy to be one of the Committers named on a proposal to 
create a scripting subproject.


You can add me to that list.

Joe



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


Re: struts-docu

2004-04-27 Thread Don Brown
Thanks, good catch, but next time, please submit a bug ticket to make 
sure it gets tracked. 

Don

Matthias Wessendorf wrote:

Hello,

i just saw on struts-homepage (wildcard-mapping-section),
http://jakarta.apache.org/struts/userGuide/building_controller.html#acti
on_mapping_wildcards
that there is NO entry for 'name'-attribute
for xml-element *action*
but it is possible to use name for formBean-entries
with wildcard-stuf.
indeed, there is this:

The action mapping attributes that will accept wildcard-matched strings
are:
   * type
   * roles
   * parameter
   * attribute
   * forward
   * include
   * input
   * forward
   * forward


cheers,

Matthias Weßendorf
Aechterhoek 18
D-48282 Emsdetten
Email: mailto:[EMAIL PROTECTED]
URL: http://www.wessendorf.net
-
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]


Validator Design Questions

2004-05-20 Thread Don Brown
With the validator as a constant source of hangups, I'm working on 
becoming more familiar with how it works.  I have some questions, 
perhaps rather basic and obvious:

Why does Struts perform all its validation with o.a.s.v.CheckFields?  It 
seems it duplicates a most of commons-validator's, well, validators.  
Why not process the ValidationResults after validator.validate() to 
create the necessary ActionMessages and use commons-validator's existing 
validators?

This might more just validator specific, but why is there no facility to 
provide the validator an already existing instance of a Validator (or if 
there is, where is it)?  It seems the only options are to create a 
Validator with static methods or a no arg constructor.  I think it would 
be valuable to let Spring manage more complex validators that rely on 
business objects, and re-use those validators with Struts.  Or, perhaps 
you want a method on one of your existing business objects to be called 
for validation.

Thanks for the help,
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Validator Design Questions

2004-05-21 Thread Don Brown
Ok, good, then there is nothing obvious I'm missing. I think it would be 
a good goal for Struts to use validator completely and not require its 
own validators, and I will look into that. As for the loading of 
validators, yes, I'll take that over to commons-dev.

Don
David Graham wrote:
--- Don Brown [EMAIL PROTECTED] wrote:
 

With the validator as a constant source of hangups, I'm working on 
becoming more familiar with how it works.  I have some questions, 
perhaps rather basic and obvious:

Why does Struts perform all its validation with o.a.s.v.CheckFields?  It
seems it duplicates a most of commons-validator's, well, validators.  
Why not process the ValidationResults after validator.validate() to 
create the necessary ActionMessages and use commons-validator's existing

validators?
This might more just validator specific, but why is there no facility to
provide the validator an already existing instance of a Validator (or if
there is, where is it)?  It seems the only options are to create a 
Validator with static methods or a no arg constructor.  I think it would

be valuable to let Spring manage more complex validators that rely on 
business objects, and re-use those validators with Struts.  Or, perhaps 
you want a method on one of your existing business objects to be called 
for validation.
   

The original design was for all validations to be loaded from an xml file
into a ValidatorResources object that Validator objects use against
beans/forms.  I don't think adding resources at run time was considered.
The active validator team is really just Rob and me at this point so your
input is much appreciated.  We should probably continue the discussion on
commons-dev though.
David
 

Thanks for the help,
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   


	
		
__
Do you Yahoo!?
Yahoo! Domains  Claim yours for only $14.70/year
http://smallbusiness.promotions.yahoo.com/offer 

-
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: Validator Design Questions

2004-05-24 Thread Don Brown
I'm not understanding your objection.  I was suggesting that Struts need 
not duplicate validation implementation code also found in 
commons-validator, but instead retrieve validation errors from 
ValidatorResults.  This recommendation changes implementation details, 
yes, but the user would not be affected, and if anything, their 
experience would be simplier for creating new Validators as they would 
be more re-useable outside Struts.

Don
Edgar P Dollin wrote:
I for one would never use struts validator as it is currently constituted
and to be required to use it would cause me to drop using struts.  Please
rethink this idea.
Thanks
Edgar
 

-Original Message-
From: Don Brown [mailto:[EMAIL PROTECTED]
Sent: Friday, May 21, 2004 12:46 PM
To: Struts Developers List
Subject: Re: Validator Design Questions
Ok, good, then there is nothing obvious I'm missing. I think 
it would be 
a good goal for Struts to use validator completely and not 
require its 
own validators, and I will look into that. As for the loading of 
validators, yes, I'll take that over to commons-dev.

Don
   

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.688 / Virus Database: 449 - Release Date: 5/18/2004
-
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: Struts Web Services Enablement Project

2004-06-04 Thread Don Brown
Frank Zammetti wrote:
Don, I'd be lieing if I said I understood all of what you said.  If 
I'm getting it at all though, I think the basic point, correct me if 
I'm wrong, is that since one of the limitations of my package is that 
the incoming request has to be flat in form, you are suggesting a 
way to allow for translation of a more complex XML form into a flat 
one that can then be parsed for parameters, is that correct?
Yes, as already confirmed.  One area where web services are used is 
standardizing how multiple applications can retrieve the same type of 
data from different servers.  For example, if you have multiple servers 
that produce gridded weather data, all the data producers could get 
together and define a common XML schema for requesting data from their 
servers that they all implement.  This way, clients can use different 
data providers interchangably.  This XML schema standardization is a 
very fluid process that can be subject to many changes.  It is easiest 
if your application is as isolated as possible from the actual XML schema.

On the output side, I think your saying allow for much the same thing, 
all in a plugable fashion... but I think I do already allow for that 
which the release of .02 by allowing for mapping to a JSP that knows 
the specifics of a given ActionForm and can therefore render a more 
complex response if need be.  Are you suggesting a more elegant way to 
do basically that?
The problem with just using a JSP is you need to write a JSP for each 
action.  If you use auto-generated XML, you can define a smaller number 
of XSL stylesheets to match common XML elements for transformation.  
Furthermore, the pipeline approach allows you to break up the 
transformation process to support transformation stages that may involve 
more complex processing.

I'm not familiar with much of the technologies you names, XPath I 
think is the only one I know something about, so I'd have a lot of 
learning to do before I could implement your suggestions (which is not 
at all a bad thing!).

I am going to look at the struts-chain this weekend though since a 
number of people have made the same suggestion.  It doesn't sound like 
a huge change on the surface, so it seems like a good next task to 
tackle to me.  One question: that facility is not avalable in 1.1, 
correct?  Is it slated for 1.2 (I thought I saw someone else say 
1.3?).  I'm a little bid weary of changing this to something that will 
reduce how many people could possibly use it, but if it's not a major 
change like I suspect then supporting both probably isn't a problem 
either.
While struts-chain won't be incorporated into Struts until probably 1.3 
(but could be somewhere in 1.2), it is still available to be used with 
Struts 1.1.  Since you are requiring a custom request processor anyways, 
just use the struts-chain request processor and refactor your 
capabilities into multiple commands instead of extended RequestProcessor 
methods.  The burden on your users will be about the same and the 
transition to future Struts will simply require you to discontinue the 
specific use of the chain's legacy RequestProcessor.  Your function code 
will already be in commands that are already compliant.

Good job with what you've put together so far.  I think this extension 
is a great addition to the toolbox available to Struts developers.

Don
Thanks!
Frank
From: Don Brown [EMAIL PROTECTED]
Reply-To: Struts Developers List [EMAIL PROTECTED]
To: Struts Developers List [EMAIL PROTECTED]
Subject: Re: Struts Web Services Enablement Project
Date: Fri, 04 Jun 2004 12:14:16 -0400
I think there can be considerable benefit from exposing Struts 
Actions.  For one, how Struts is currently architected, all the 
validation happens in the Struts layer so putting the web service 
interface in front of that makes sense.  Two, many times user 
authorization occurs in the Actions and so if this code hooked into 
the Servlets API, authorization is automatically taken care of.

I'd recommend two feature additions to make this useable for document 
style SOAP messaging:

1) Put a configurable XML transformation pipeline before the SOAP 
message gets interpreted for parameters, and after the response is 
created.  The pipeline for the response should start with 
auto-generated request XML (via something like XStream).

2) Improve the request parameter schema for the incoming XML document 
to include XPath paths as parameter names.  This way, using something 
like JXPath, a complex XML element could be automatically created, to 
be then transformed by the pipeline.  Send the resulting XML to the 
action via a wrapper action form or even just put it in the request.  
Better yet, have the resulting XML be processed by an XML binding 
framework like XStream to create arbitrary Java objects to be passed 
to the action.

The key is to enable any XML schema to be used as input and output.  
The XML pipeline further isolates you from schema changes

Re: Struts Web Services Enablement Project

2004-06-04 Thread Don Brown
 
likely.  But again, it your doing something like that, I suspect you'd 
have decided against my little package already!

Again I think this is somethng that I can see where the benefit comes 
in, but probably baloons the complexity again.  I can concieve of this 
project expanding as time goes on to more compete with the more 
developed packages out there now, but I feel like that's a much more 
long-term goal than what I'm trying to accomplish now.

While struts-chain won't be incorporated into Struts until probably 
1.3 (but could be somewhere in 1.2), it is still available to be used 
with Struts 1.1.  Since you are requiring a custom request processor 
anyways, just use the struts-chain request processor and refactor 
your capabilities into multiple commands instead of extended 
RequestProcessor methods.  The burden on your users will be about the 
same and the transition to future Struts will simply require you to 
discontinue the specific use of the chain's legacy RequestProcessor.  
Your function code will already be in commands that are already 
compliant.

That sounds good, I will definitely look into doing it this weekend.  
Your comments above alay whatever fears I might have had, it sounds 
like the right thing to do overall, and not a massive change either.

Good job with what you've put together so far.  I think this 
extension is a great addition to the toolbox available to Struts 
developers.

Thank you, I'm very glad to hear the positive feedback I've gotten, 
and just as happy that people are interested enough to at least make 
suggestions and question what I'm doing.  Any comments, regardless of 
what side of the fence they are on or if/when I act on things is 
valuable.  I was concerned that I was the only one that thought this 
might be something useful, but it sounds like I'm not alone, and that 
certainly motivates me to develop it further.

Don
Thanks!
Frank
From: Don Brown [EMAIL PROTECTED]
Reply-To: Struts Developers List [EMAIL PROTECTED]
To: Struts Developers List [EMAIL PROTECTED]
Subject: Re: Struts Web Services Enablement Project
Date: Fri, 04 Jun 2004 12:14:16 -0400
I think there can be considerable benefit from exposing Struts 
Actions.  For one, how Struts is currently architected, all the 
validation happens in the Struts layer so putting the web service 
interface in front of that makes sense.  Two, many times user 
authorization occurs in the Actions and so if this code hooked into 
the Servlets API, authorization is automatically taken care of.

I'd recommend two feature additions to make this useable for 
document style SOAP messaging:

1) Put a configurable XML transformation pipeline before the SOAP 
message gets interpreted for parameters, and after the response is 
created.  The pipeline for the response should start with 
auto-generated request XML (via something like XStream).

2) Improve the request parameter schema for the incoming XML 
document to include XPath paths as parameter names.  This way, 
using something like JXPath, a complex XML element could be 
automatically created, to be then transformed by the pipeline.  
Send the resulting XML to the action via a wrapper action form or 
even just put it in the request.  Better yet, have the resulting 
XML be processed by an XML binding framework like XStream to create 
arbitrary Java objects to be passed to the action.

The key is to enable any XML schema to be used as input and 
output.  The XML pipeline further isolates you from schema changes.

Finally, I'd also recommend looking at using struts-chain rather 
than a RequestProcessor.  If the above functionality was decomposed 
into different Commands, one could easily plug in, say, a different 
XML binding framework or get rid of the XPath processor altogether.

Don
Duncan Mills wrote:
Didn't mean to be harsh - I was just presenting the alternative 
viewpoint that has to be answered.  Personally I can see the 
benefit that this project could offer, but the counter stance is a 
one to raise is it not?

Regards
Duncan Mills
Senior Principal Product Manager
Oracle Application Development Tools
Jung, Eric wrote:
Wow, that's kind of harsh, Duncan.
-Original Message-
From: Duncan Mills [mailto:[EMAIL PROTECTED]
Sent: Friday, June 04, 2004 3:38 AM
To: Struts Developers List
Subject: Re: Struts Web Services Enablement Project
Frank forgive me here, but playing Devils Advocate, if you have 
clean MVC separation then surely the last thing you want to do is 
to expose Actions as Web Services.
It is reasonable to want to expose Business Service Providers 
such as EJB, or TopLink beans as Web Services but that's up in 
the model layer, what's the point in pushing the access point 
down into the Controller code?

Or do you see here a solution for all those folks who've not 
followed best practice and have intermingled Controller 
functionality with Business logic..?

Regards
Duncan Mills
Senior Principal Product Manager
Oracle Application Development Tools

Re: Struts Web Services Enablement Project

2004-06-07 Thread Don Brown
What about starting a sub-project on struts.sf.net?  Let the features 
and stability mature, then if people are using it, talk about migrating 
it to be a sub-project for Struts.

Don
Frank Zammetti wrote:
That's exactly what my approach is now Ted.  But, I've been seeing a 
lot of suggestions that I think would move this thing to the next 
level of complexity, and I didn't want to seem like I was ignoring 
anyone by continuing what I'm doing.  I'm definitely listening to what 
everyone has to say and considering it all, even those things that I 
don't immediately understand I'm trying to research to see if it 
really fits in with the goals I had when I started.  But if there 
really is an underlying current of wanting to do a true Web Service 
component to Struts, I'm not so sure what I'm doing ever could be the 
foundation for that, so I wanted to raise the idea of starting a more 
official project now with that express goal.

Frank
From: Ted Husted [EMAIL PROTECTED]
Reply-To: Struts Developers List [EMAIL PROTECTED]
To: Struts Developers List [EMAIL PROTECTED]
Subject: Re: Struts Web Services Enablement Project
Date: Mon, 7 Jun 2004 12:25:00 -0400
I'd suggest sticking to your original vision, Frank, and first do the 
simplest thing that can possibly work.

Try it for 1.2.x as well as for the Struts-Chain request processor 
that is slated for 1.3.x, to be sure the approach will be forwardly 
compatible, and get it out there where people can try it. It will 
probably be more useful with the Strut-Chain RP, since there will be 
conflicts with the other custom RPs that are popping up.

If what you start works, and other people use it, then, sure, it 
could become the kernel of a Struts Web Services subproject. That's 
how Tiles, Validator, declarative exception handling, and declarative 
security all started.

But, first things first, build something that suits the needs of your 
own application, and then we can see what patches people offer up.

-Ted.
On Sun, 06 Jun 2004 19:38:51 -0400, Frank Zammetti wrote:
 You raise some good points, as have a lot of people on the list.  I
 keep coming back to the same bottom-line point though... Most of
 the suggestions get into something alot bigger than I started with,
 and that's a good thing, but I'm not sure I'm ready to tackle it
 myself yet.

 I think the one underlying point that is coming through is that
 there seems to be a desire, maybe even a need, for a real Web
 Service capability built in to Struts.  There's been a lot of
 different ideas about what form it should take, what capabilities
 are important, and how it should ultimately be implemented.  If for
 no other reason, I think bringing that point to light (if it wasn't
 already!) was a good result of my little project.

 But, when I examine where I am now, how I've personally chosen to
 do things, and I ask the question of whether I think it could
 really be the basis for a grander vision, I think I lean towards
 the answer being no.  I think I've put forth a couple of decent
 ideas, maybe shown people a way to do things that is if not
 original than maybe not a common method, but I don't for a second
 think it's the be-all and end-all of Web Services in Struts, and I
 suspect it probably never could be.

 So, in the short-term, my little package can probably be useful to
 some folks, and that's cool.  Over a relatively short period of
 time I can probably expand it and polish it so it's useful to even
 more people, and maybe even be useful enough and polished enough to
 be included in the Struts distro at some point.  But to turn into a
 whole generally useful to everyone Web Service component of Struts?
  My gut says no, so I'm a bit hesitant to start down that road,
 especially considering how much I frankly have to learn myself to
 go down that road.

 What I do wonder though is if we're coming to a point where maybe
 we can get some people together and start a Struts sub-project (or
 whatever the proper terminology would be) to really do something
 more capable?  I don't think I can pull off something like that
 alone, not short-term anyway, but I'd certainly be interested in
 being a part of such an effort.  So, does anyone else see that as a
 viable thing to do, and if so, how do we go about actually doing it?

 Frank


 From: robert burrell donkin [EMAIL PROTECTED]
 Reply-To: Struts Developers List [EMAIL PROTECTED] To:
 Struts Developers List [EMAIL PROTECTED] Subject: Re:
 Struts Web Services Enablement Project Date: Sun, 6 Jun 2004
 08:54:26 +0100

 On 4 Jun 2004, at 22:56, Frank Zammetti wrote:


 snip


 After that, I'm thinking that a .04 release maybe a week later
 seems reasonable, and with that my main goal is implementing
 the pre- and post-transformations suggested here.  I haven't
 thought this through yet entirely, but what I think this
 amounts to is not much more than adding an xslt-in and xslt-out
 attributes to the mappings in webservices-config.xml that, if
 present will 

RE: Struts 1.2.1 release?

2004-07-01 Thread Don Brown
I vote we just roll it anyways.  If we have switched to tomcat-style
releases, we can just not label it as stable.  I asked one of the tomcat
guys last nite at the JakartaOne party if they close out all their bugs
and he laughed :)

Don

 So, if we can solve 29285, it looks like 1.2.1 would be ready to roll.

 On Fri, 25 Jun 2004 22:27:39 -0400, Ted Husted wrote:
 OK, we're down to 4 problem tickets. Two are against the validator,
 but patches are not available. Two are against Struts-Faces, and
 could actually be skipped since Struts-Faces would not be in the
 1.2.1 release.


 The release notes are updated, so if we can swat #29285 and #29796,
 we could try rolling Struts 1.2.1.


 I'll be away through Thursday. I may have email, but don't know if
 the connection would be good enough to try and roll a release.


 If anyone want to jump in, please feel free.


 -Ted.


 
 - 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]




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



Simplifying Struts

2004-07-05 Thread Don Brown
With my extra day off today, I took a look at ways to simplify Struts.  
Having been impressed by the simplicity of NanoWeb, I particularly 
looked at ways to change the Struts concept of Actions and 
ActionForwards to support POJO's and configurations that allow new 
actions to be written without requiring any changes to 
struts-config.xml.  I described my findings in my weblog: 
http://www.jroller.com/page/mrdon/20040706#zero_configuration_with_struts

What does the Struts developer community think of providing direct 
support for regular JavaBeans as actions?  One feature of JSF I liked 
was how actions were simply no-arg methods on a JavaBean, making them 
easy to write and test.

Incidently, I built my extension off struts-chain, so it works 
side-by-side regular Struts actions, forwards, and forms.  With 
commons-chain out of the sandbox and Struts 1.2.1 around the corner 
(thanks Ted), I think it is time to start integrating struts-chain into 
the core.

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


Re: [VOTE] Struts 1.2.1 Alpha, Beta, or GA? (was Re: Struts 1.2.1 release)

2004-07-23 Thread Don Brown
+1 on Struts 1.2.2
Ted Husted wrote:
We've only had a very few, very light tickets since the release of Struts 1.2.1 Beta. 

I'd like to propose that we tag and release Struts 1.2.2 on Monday and post it for a 
quality vote.
Please note that we can vote a release directly from Alpha to GA, if that's how we feel about it. 

-Ted.

-
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: JIRA Conversion (was RE: patch to make sure streams get closed)

2004-08-25 Thread Don Brown
+1 for JIRA migration
David H. DeWolf wrote:
If I'm not mistaken, the process of migrating to JIRA is one that is
completed by infrastructure.  From my experience with other projects,
infrastructure has been very timely in getting the conversions completed
once they are requested through JIRA (see issues INFRA-74, INFRA-99,
INFRA-104, etc. . .).
If the Struts community is in favor of migrating to Jira, I would be happy
to spearhead the process.  While I will need a little cooperation from the
committers (things like voting on whether or not to migrate!), I think the
rest is simply interaction with the infrastructure team.
Please let me know if you'd like me to move forward with this or if you
assessment of what is required is different.
I believe the following is the information I would need to submit to the
Infrastructure team:
JIRA Issue Name:

Migrate Struts to JIRA
Jira Issue Description:

Please migrate the Struts from Bugzilla to JIRA.  The Struts community would
like to keep all history.  We believe that we have listed all of the
information you need to complete the migration below:
Project Name: STRUTS
Project Lead: Craig R. McClanahan, (craigmcc at apache.org)
Project Abbreviation: STRUTS
Project Administrators: (All Committers)
Project Committers (jira id):
   * Craig R. McClanahan, (craigmcc at apache.org)
   * Ted Husted (husted at apache.org)
   * Rob Leland (rleland at apache.org)
   * Cedric Dumoulin (cedric.dumoulin at lifl.fr)
   * Martin Cooper (martinc at apache.org)
   * Arron Bates (arron at apache.org)
   * James Holmes (jholmes at apache.org)
   * David M. Karr (dmkarr at apache.org)
   * David Graham (dgraham at apache.org)
   * James Mitchell (jmitchell at apache.org)
   * Steve Raeburn (sraeburn at apache.org)
   * Don Brown (mrdon at apache.org)
   * Joe Germuska (germuska at apache.org)
   * Niall Pemberton (niallp at apache.org)
 

-Original Message-
From: Ted Husted [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 25, 2004 12:07 PM
To: Struts Developers List
Subject: Re: patch to make sure streams get closed

On Wed, 25 Aug 2004 11:33:47 -0400, [EMAIL PROTECTED] wrote:
   

Sorry it was a tongue-in-cheek-somewhat-cranky-reaction to how
completely overengineered bugzilla is for submitting patches. I
found it more difficult than finding, fixing, diffing the patch.
 

Unfortunately, unless someone volunteers to migrate our 
Bugzilla database to Jira, there's nothing to be done about it. 

We can't accept attachments because of the spammers, and 
patches pasted into emails are virtually impossible to apply. 

-Ted.

-
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]
 


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


Re: [Vote] Release quality for Struts 1.2.2

2004-08-29 Thread Don Brown
+1
David Graham wrote:
+1
David
--- James Mitchell [EMAIL PROTECTED] wrote:
 

I have finished rolling the 1.2.2 release.
The acquiring page has been updated with the 1.2.2 release.
 http://struts.apache.org/acquiring.html

I am +1 for making this GA.
--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx

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



___
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
-
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: [ANN] Struts 1.2.2 release is now available for download.

2004-08-31 Thread Don Brown
Has the home page's download links been updated yet?  They still point 
to jakarta's download page which only has the 1.1 release.  Congrats 
James, Ted, Martin, et al on the release. :)

Don
James Mitchell wrote:
The Apache Struts team is extremely proud to announce the availability of
Struts 1.2.2.  This release represents the first official release
available for General Availability since Struts 1.1.
You can find all of the features, enhancements, and bug fixes in the release
notes listed below.  I would personally like to send a big _THANK YOU_ to
all the users and developers who help make this community project possible
and an even bigger _THANK YOU_ to the developers and committers who
volunteer their time and talents to this (as well as other) Open Source
project.  Pat yourselves on the back, you are doing a stellar job
Release notes:
http://struts.apache.org/userGuide/release-notes.html
You can access the binary, source, or library distributions from any of our
mirrors
http://struts.apache.org/download.cgi
The Apache Struts Team

--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx

-
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]


Subversion?

2004-09-03 Thread Don Brown
Last I heard, Ted setup a test subversion repository and everyone seemed 
happy with it.  Is there anything stopping plans to go ahead and migrate 
our CVS repository?  

I've recently setup several subversion installations and am willing to 
do whatever it takes to get Struts migrated.  Let me know if this is 
still desired and what I can do to help.

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


Re: CVS - SVN / Roadmap

2004-10-14 Thread Don Brown
Ted Husted wrote:
+1
Let's stick to the roadmap we laid out in July. 

http://struts.apache.org/roadmap.html
I'll update the site to reflect the CVS/SVN changes this weekend and bring the roadmap page up to date. 

If James is up for rolling a 1.2.5 release, that's fine with me. 

Either way, it may be time to call 1.2.x a branch and dub the head 1.3.x, and bring down that-there Struts Chain gizmo. :)
 

+1  I vote we (or perhaps I specifically) integrate struts-chain this 
weekend.  It is stable, and I've been using it in production for some 
time without problems.  Course that also means we (again, perhaps I 
specifically) should release commons-chain 1.0.  Ted, there are a few 
Guinnesses in it if you help me with the documentation :)

And if Don wants to start setting up struts-flow and struts-scripting along the same lines as struts-faces, I'll buy him a Guiness (or three) at ApacheCon :)
 

Ah, Guinness - the ultimate currency.  You got yourself a deal.
Don
-Ted.
On Wed, 13 Oct 2004 13:45:58 -0700, Craig McClanahan wrote:
 

On Wed, 13 Oct 2004 22:23:32 +0200, Anders Steinlein
[EMAIL PROTECTED] wrote:
   

Forgive my possible ignorance, but what is the policy on new
releases? I've understood that we can release whenever we want,
that version numbers are cheap and that you vote whether to make
a release alpha/beta/GA. But, what goes into a release? Does new
features/enhancements go into a 1.2.x release, or is it strictly
bug fixes?
 

What we've talked about before is along these lines:
Within the 1.2.x series, it's fine to fix bugs and add new stuff,
but not fine to make any backwards-incompatible changes.
For a 1.3.x series, we could be more liberal about adding new
stuff, and possibly have some deprecations in 1.2.x that get
removed -- but it shoujld in general be based on similar enough
architectural principles that there be a clear upgrade path.
The challenge, of course, is when do you make that split for the
evolutionary path?  I'd say that something as fundamental as using
Struts Chain instead of the monolithic RequestProcessor, and the
other changes we could make as a result of having that, would be
good grounds for a 1.3.x series.  If that were to start in the
short term, then thinking of 1.2.x as being in maintenance mode
seems likely (although if there's willingness to port features back
and forth, it need not go that way immediately ... for example,
Tomcat 4.1.x continued to develop for a little while at the
beginning of 5.0.x, including some features ported back and forth,
but this pretty much stopped as soon as there was a solid 5.0.x
release for people to use).
For a 2.x chain, we could have the freedom to be somewhat more
aggressive at rearchitecting (if we'd known then what we know now,
what would Struts have looked like?), and could in theory have a
series of alpha releases in parallel with stable releases on 1.2 or
1.3.  As others have pointed out, how much simultanaeity there is,
and how often releases happen, is more based on the directed energy
of the committers (and what they want to work on), and less on
whether there are parallel development efforts going on.
   

The reason I ask is because I would love releases much, much more
often, but as have been pointed out, incompatibilities/quirks
between minor versions could be a disaster.
 

Historically, I'd say our 1.0 - 1.1 transition was, in terms of
interoperability and upgrade, a bit on the edge of what most users
liked, while the 1.1 - 1.2 transition was much easier to do.  We
haven't actually gotten around to many x.y.z releases on 1.0 or
1.1, so having them happen at all in 1.2 should be a refreshing
change :-). But I agree with you that compatibility is especially
important within an x.y release cycle.
   

\Anders
 

Craig

- 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]
 


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


Re: CVS - SVN / Roadmap

2004-10-14 Thread Don Brown
I don't mind making those CVS to SVN documentation updates today.  One 
question though, are we assuming people checked Struts trunk out or the 
entire Struts repository?  This affects whether we refer to a file as 
trunk/build.xml or just build.xml.

Don
Martin Cooper wrote:
On Thu, 14 Oct 2004 14:46:43 -0400, James Mitchell [EMAIL PROTECTED] wrote:
 

Are we not waiting for Ted's update?  I haven't seen any commits come across
and I assumed he would do it this weekendis this still true Ted?
   

Yes, we should wait for Ted's updates. We do need to get the docs
switched over to talk about SVN rather than CVS.
--
Martin Cooper
 

--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx
- Original Message -
From: Don Brown [EMAIL PROTECTED]
To: Struts Developers List [EMAIL PROTECTED]
Sent: Thursday, October 14, 2004 1:49 PM
Subject: Re: CVS - SVN / Roadmap
   

Deal.  Roll it James :)
I'll integrate struts-chain and bring over struts-flow and struts-bsf as
soon James cuts the release and creates the 1.2.x branch.
Don
Martin Cooper wrote:
 

On Thu, 14 Oct 2004 08:30:38 -0700, Don Brown [EMAIL PROTECTED] wrote:
   

Ted Husted wrote:

 

+1
Let's stick to the roadmap we laid out in July.
http://struts.apache.org/roadmap.html
I'll update the site to reflect the CVS/SVN changes this weekend and
   

bring the roadmap page up to date.
   

If James is up for rolling a 1.2.5 release, that's fine with me.
Either way, it may be time to call 1.2.x a branch and dub the head
   

1.3.x, and bring down that-there Struts Chain gizmo. :)
   


   

+1  I vote we (or perhaps I specifically) integrate struts-chain this
weekend.  It is stable, and I've been using it in production for some
time without problems.  Course that also means we (again, perhaps I
specifically) should release commons-chain 1.0.  Ted, there are a few
Guinnesses in it if you help me with the documentation :)
 

How about we roll 1.2.5 first, to capture the latest stuff in a 1.2.x
build, then create a 1.2.x branch at that tag, and then roll in the
chain stuff as the first step on the 1.3.x ladder?
--
Martin Cooper

   

And if Don wants to start setting up struts-flow and struts-scripting
   

along the same lines as struts-faces, I'll buy him a Guiness (or three) at
ApacheCon :)
   


   

Ah, Guinness - the ultimate currency.  You got yourself a deal.
Don

 

-Ted.
On Wed, 13 Oct 2004 13:45:58 -0700, Craig McClanahan wrote:

   

On Wed, 13 Oct 2004 22:23:32 +0200, Anders Steinlein
[EMAIL PROTECTED] wrote:

 

Forgive my possible ignorance, but what is the policy on new
releases? I've understood that we can release whenever we want,
that version numbers are cheap and that you vote whether to make
a release alpha/beta/GA. But, what goes into a release? Does new
features/enhancements go into a 1.2.x release, or is it strictly
bug fixes?


   

What we've talked about before is along these lines:
Within the 1.2.x series, it's fine to fix bugs and add new stuff,
but not fine to make any backwards-incompatible changes.
For a 1.3.x series, we could be more liberal about adding new
stuff, and possibly have some deprecations in 1.2.x that get
removed -- but it shoujld in general be based on similar enough
architectural principles that there be a clear upgrade path.
The challenge, of course, is when do you make that split for the
evolutionary path?  I'd say that something as fundamental as using
Struts Chain instead of the monolithic RequestProcessor, and the
other changes we could make as a result of having that, would be
good grounds for a 1.3.x series.  If that were to start in the
short term, then thinking of 1.2.x as being in maintenance mode
seems likely (although if there's willingness to port features back
and forth, it need not go that way immediately ... for example,
Tomcat 4.1.x continued to develop for a little while at the
beginning of 5.0.x, including some features ported back and forth,
but this pretty much stopped as soon as there was a solid 5.0.x
release for people to use).
For a 2.x chain, we could have the freedom to be somewhat more
aggressive at rearchitecting (if we'd known then what we know now,
what would Struts have looked like?), and could in theory have a
series of alpha releases in parallel with stable releases on 1.2 or
1.3.  As others have pointed out, how much simultanaeity there is,
and how often releases happen, is more based on the directed energy
of the committers (and what they want to work on), and less on
whether there are parallel development efforts going on.


 

The reason I ask is because I would love releases much, much more
often, but as have been pointed out, incompatibilities/quirks
between minor versions could be a disaster.


   

Historically, I'd say our 1.0 - 1.1 transition was, in terms of
interoperability

Re: CVS - SVN / Roadmap

2004-10-14 Thread Don Brown
All that should remain is updating the roadmap, which I'll leave to 
folks more involved in the roadmap discussions.  If there is anything 
else, let me know and I'll do it.

Don
Craig McClanahan wrote:
If you just refer to build.xml the docs should apply to a branch as
well as they apply to the trunk.  But it's worth mentioning trunk in
the context of what URL you use to check out the repository in the
first place.
Craig
On Thu, 14 Oct 2004 12:23:42 -0700, Don Brown [EMAIL PROTECTED] wrote:
 

I don't mind making those CVS to SVN documentation updates today.  One
question though, are we assuming people checked Struts trunk out or the
entire Struts repository?  This affects whether we refer to a file as
trunk/build.xml or just build.xml.
Don
Martin Cooper wrote:

   

On Thu, 14 Oct 2004 14:46:43 -0400, James Mitchell [EMAIL PROTECTED] wrote:
 

Are we not waiting for Ted's update?  I haven't seen any commits come across
and I assumed he would do it this weekendis this still true Ted?
   

Yes, we should wait for Ted's updates. We do need to get the docs
switched over to talk about SVN rather than CVS.
--
Martin Cooper

 

--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx
- Original Message -
From: Don Brown [EMAIL PROTECTED]
To: Struts Developers List [EMAIL PROTECTED]
Sent: Thursday, October 14, 2004 1:49 PM
Subject: Re: CVS - SVN / Roadmap

   

Deal.  Roll it James :)
I'll integrate struts-chain and bring over struts-flow and struts-bsf as
soon James cuts the release and creates the 1.2.x branch.
Don
Martin Cooper wrote:

 

On Thu, 14 Oct 2004 08:30:38 -0700, Don Brown [EMAIL PROTECTED] wrote:

   

Ted Husted wrote:


 

+1
Let's stick to the roadmap we laid out in July.
http://struts.apache.org/roadmap.html
I'll update the site to reflect the CVS/SVN changes this weekend and
   

bring the roadmap page up to date.
   

If James is up for rolling a 1.2.5 release, that's fine with me.
Either way, it may be time to call 1.2.x a branch and dub the head
   

1.3.x, and bring down that-there Struts Chain gizmo. :)
   


   

+1  I vote we (or perhaps I specifically) integrate struts-chain this
weekend.  It is stable, and I've been using it in production for some
time without problems.  Course that also means we (again, perhaps I
specifically) should release commons-chain 1.0.  Ted, there are a few
Guinnesses in it if you help me with the documentation :)

 

How about we roll 1.2.5 first, to capture the latest stuff in a 1.2.x
build, then create a 1.2.x branch at that tag, and then roll in the
chain stuff as the first step on the 1.3.x ladder?
--
Martin Cooper


   

And if Don wants to start setting up struts-flow and struts-scripting
   

along the same lines as struts-faces, I'll buy him a Guiness (or three) at
ApacheCon :)
   


   

Ah, Guinness - the ultimate currency.  You got yourself a deal.
Don


 

-Ted.
On Wed, 13 Oct 2004 13:45:58 -0700, Craig McClanahan wrote:


   

On Wed, 13 Oct 2004 22:23:32 +0200, Anders Steinlein
[EMAIL PROTECTED] wrote:


 

Forgive my possible ignorance, but what is the policy on new
releases? I've understood that we can release whenever we want,
that version numbers are cheap and that you vote whether to make
a release alpha/beta/GA. But, what goes into a release? Does new
features/enhancements go into a 1.2.x release, or is it strictly
bug fixes?



   

What we've talked about before is along these lines:
Within the 1.2.x series, it's fine to fix bugs and add new stuff,
but not fine to make any backwards-incompatible changes.
For a 1.3.x series, we could be more liberal about adding new
stuff, and possibly have some deprecations in 1.2.x that get
removed -- but it shoujld in general be based on similar enough
architectural principles that there be a clear upgrade path.
The challenge, of course, is when do you make that split for the
evolutionary path?  I'd say that something as fundamental as using
Struts Chain instead of the monolithic RequestProcessor, and the
other changes we could make as a result of having that, would be
good grounds for a 1.3.x series.  If that were to start in the
short term, then thinking of 1.2.x as being in maintenance mode
seems likely (although if there's willingness to port features back
and forth, it need not go that way immediately ... for example,
Tomcat 4.1.x continued to develop for a little while at the
beginning of 5.0.x, including some features ported back and forth,
but this pretty much stopped as soon as there was a solid 5.0.x
release for people to use).
For a 2.x chain, we could have the freedom to be somewhat more
aggressive at rearchitecting (if we'd known then what we know now,
what would Struts have looked like?), and could in theory have a
series of alpha

Re: Status: 1.2.5

2004-10-15 Thread Don Brown
+1 for $Id$
Joe Germuska wrote:
At 10:13 PM -0400 10/15/04, James Mitchell wrote:
What I need:
---
Can someone put together a perl/python/shell/whatever script that can
iterate over the entire repository and replace all of our cvs 
keywords with
svn appropriate ones?

I can do this, but a quick googling didn't turn up any specifics on 
what the change should be.

I believe some recent discussion about replacing all keyword tags with 
just $Id$ had no strong opponents and a few in favor -- does SVN use 
the same syntax?

I can do the search/replace/commit using BBEdit in ten or fifteen 
minutes, tops as soon as I get a few confirmations...

Joe
--
Joe Germuska[EMAIL PROTECTED]  http://blog.germuska.com
In fact, when I die, if I don't hear 'A Love Supreme,' I'll turn 
back; I'll know I'm in the wrong place.
   - Carlos Santana

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


[ANN] CVS to Subversion Conversion Wednesday

2004-09-27 Thread Don Brown
If there aren't any objections, I will ask infrastructure to perform the 
actual conversion of Struts from CVS to Subversion.  The test conversion 
has been up for over a week, and there haven't been any problems. 

Again, if I don't hear different, I'll ask around Wednesday afternoon 
for our repository to be converted at infrastructure's earliest 
convenience.  Speak now or forever hold your peace :)

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


Re: [ANN] CVS to Subversion Conversion Wednesday

2004-09-27 Thread Don Brown
Sorry, I should have clarified, I'm giving the go-ahead on performing 
the actual conversion the exactly same way the test conversion was done 
- the full conversion.  All branches and tags will be converted.  After 
the conversion, we can delete/move as necessary.

Don
Craig McClanahan wrote:
On Mon, 27 Sep 2004 21:40:45 -0700, Don Brown [EMAIL PROTECTED] wrote:
 

If there aren't any objections, I will ask infrastructure to perform the
actual conversion of Struts from CVS to Subversion.  The test conversion
has been up for over a week, and there haven't been any problems.
Again, if I don't hear different, I'll ask around Wednesday afternoon
for our repository to be converted at infrastructure's earliest
convenience.  Speak now or forever hold your peace :)
   

So, are we planning to keep all the existing tags and branches, or do
selective pruning?  Unless the SVN equivalent of cvs log maintains
the entire history on all affected files, I'm -1 on pruning anything
unless the infrastructure team says we're being too demanding on disk
space.
 

Don
   

Craig
-
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: [ANN] CVS to Subversion Conversion Wednesday

2004-09-27 Thread Don Brown
Martin Cooper wrote:
On Mon, 27 Sep 2004 21:40:45 -0700, Don Brown [EMAIL PROTECTED] wrote:
 

If there aren't any objections, I will ask infrastructure to perform the
actual conversion of Struts from CVS to Subversion.  The test conversion
has been up for over a week, and there haven't been any problems.
Again, if I don't hear different, I'll ask around Wednesday afternoon
for our repository to be converted at infrastructure's earliest
convenience.  Speak now or forever hold your peace :)
   

My questions have been resolved to my satisfaction, so +1 from me.
I assume you'll ask that the CVS repo be frozen at the same time. We
should probably say that no CVS commits should happen after Tuesday,
to make sure nothing gets lost.
 

Yes, the freezing of CVS will occur before the conversion by the 
infrastructure team.  They will ensure no commit gets lost.

Don
--
Martin Cooper
 

Don
-
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]
 


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


Re: [ANN] CVS to Subversion Conversion Wednesday

2004-09-27 Thread Don Brown
I'll also take this opportunity to remind everyone who hasn't set their 
subversion password to do so: http://www.apache.org/dev/cvs2svn.html  
(step 10).

 10.  Users who haven't used Subversion before need to log into 
minotaur.apache.org and run the svnpasswd utility to set their 
Subversion password.

Don
Craig McClanahan wrote:
On Mon, 27 Sep 2004 22:10:38 -0700, Don Brown [EMAIL PROTECTED] wrote:
 

Sorry, I should have clarified, I'm giving the go-ahead on performing
the actual conversion the exactly same way the test conversion was done
- the full conversion.  All branches and tags will be converted.  After
the conversion, we can delete/move as necessary.
   

Ah, so ... in that case +1.
As Martin suggests, I presume we'll want to freeze the CVS version of
the repository at the start of the process.
 

Don
   

Craig (who is also updating all his local copies of the CVS repository :-)
-
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: [ANN] CVS to Subversion Conversion Wednesday

2004-09-28 Thread Don Brown
I just checked it out over http and everything worked correctly.  Are 
you sure you are hitting http://svn.apache.org/repos/test/struts ?

Don
Sean Schofield wrote:
I'm trying to download from the subversion (anonymously) and I keep 
getting a 501 Not Implemented  error.

I'm typing the URL correctly and this does not work for any of the 
projects (including Struts).  Could this be something to do my 
firewall at work?  Does subversion use something other than port 80 to 
communicate?

sean
-
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: [ANN] CVS to Subversion Conversion Wednesday

2004-09-28 Thread Don Brown
Port 80, just like any other web server.  Committers will use 443 (SSL) 
for authentication.

Don
Greg Reddin wrote:
CVS in pserver mode connects over port 2401.  Does anyone know what 
port svn uses?

Thanks,
Greg
Sean Schofield wrote:
Yes.  I think the problem must be my firewall at work.  I have the 
same problem accessing CVS from work as well.  The client must be 
requiring something over a port that is blocked.  My guess is that 
the clien is interpreting a refused connection as  the server not 
being available.

Thanks,
sean
I just checked it out over http and everything worked correctly.  
Are you sure you are hitting http://svn.apache.org/repos/test/struts ?

Don



-
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]

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


Re: [ANN] CVS to Subversion Conversion Wednesday

2004-09-28 Thread Don Brown
Subversion can actually be exposed multiple ways. One such way is to use 
its built-in svnserve server which does listen over 3690.  Subversion 
can also be exposed via WebDAV as an Apache 2.0 module.  In the latter 
case, it can listen at any port Apache is configured to listen on, 
usually 80 and/or 443. 

Apache Software Foundation's Subversion server, svn.apache.org, does in 
fact use the Apache WebDAV module and listens at 80 for 
non-authenticated users, and 443 for authenticated users (usually 
committers).  svnserve and port 3690 are not used at all.

Don
Salvador Trujillo Gonzalez wrote:
On Tue, 28 Sep 2004, Greg Reddin wrote:
 

CVS in pserver mode connects over port 2401.  Does anyone know what port
svn uses?
   

It uses 3690,
Salva
 

Thanks,
Greg
Sean Schofield wrote:
   

Yes.  I think the problem must be my firewall at work.  I have the same
problem accessing CVS from work as well.  The client must be requiring
something over a port that is blocked.  My guess is that the clien is
interpreting a refused connection as  the server not being available.
Thanks,
sean
 

I just checked it out over http and everything worked correctly.  Are
you sure you are hitting http://svn.apache.org/repos/test/struts ?
Don
   


-
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]
   


-
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]


Conversion from CVS to Subversion Complete

2004-10-01 Thread Don Brown
It is my pleasure to announce the official migration of the Struts CVS 
repository into Apache Software Foundation's Subversion repository.  The 
previous CVS module, jakarta-struts, has been frozen, and all new 
development will take place in the Subversion repository. 

The following links might be helpful:
 Struts public Subversion repository: 
http://svn.apache.org/repos/asf/struts
 Struts committers Subversion repository: 
https://svn.apache.org/repos/asf/struts
 Subversion: http://subversion.tigris.org
 Subversion Red Book: http://svnbook.red-bean.com/
 Subversion for CVS Users section: 
http://svnbook.red-bean.com/svnbook-1.0/apa.html

The repository is organized like this:
 struts/
   /trunk - The current development branch (like CVS HEAD)
   /branches - All Struts branches
   /tags - All Struts tags
If you want to checkout everything with the command-line client, type:
 svn co http://svn.apache.org/repos/asf/struts
But most developers will only be interested in the trunk, so it would be 
better to type:
 svn co http://svn.apache.org/repos/asf/struts/trunk

There are a number of Subversion client GUI's and IDE plugins linked to 
on the Subversion web site, for those perfer a GUI tool.

Thanks again to the infrastructure team for their assistance!
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Conversion from CVS to Subversion Complete

2004-10-01 Thread Don Brown
http://svnbook.red-bean.com/svnbook-1.0/ch03s05.html#svn-ch-3-sect-4.3.2

So pretty much the same, but now you don't need the -u flag - it
defaults to unified format.

So: svn diff Main.java  myPatchfile.txt

Don


On Fri, 1 Oct 2004 14:44:12 -0500, Hubert Rabago [EMAIL PROTECTED] wrote:
 Congratulations!
 
 Will this affect how patches are generated?  I read from earlier
 messages that patches that have already been submitted can still be
 used, but what about generating new ones?
 I've always referenced
 http://jakarta.apache.org/site/source.html#Patches when generating
 patches.  Will the Struts project site host a similar page to guide
 contributors?  I could take a stab at such a page once I know what the
 recommended command is for the project.  I haven't looked at svn's
 diff yet, but I'd imagine there'd be a bunch of switches, and I also
 imagine that the committers would have a recommended set for patches.
 
 Hubert
 
 
 
 On Fri, 01 Oct 2004 12:32:18 -0700, Don Brown [EMAIL PROTECTED] wrote:
  It is my pleasure to announce the official migration of the Struts CVS
  repository into Apache Software Foundation's Subversion repository.  The
  previous CVS module, jakarta-struts, has been frozen, and all new
  development will take place in the Subversion repository.
 
  The following links might be helpful:
 
   Struts public Subversion repository:
  http://svn.apache.org/repos/asf/struts
   Struts committers Subversion repository:
  https://svn.apache.org/repos/asf/struts
   Subversion: http://subversion.tigris.org
   Subversion Red Book: http://svnbook.red-bean.com/
   Subversion for CVS Users section:
  http://svnbook.red-bean.com/svnbook-1.0/apa.html
 
  The repository is organized like this:
   struts/
 /trunk - The current development branch (like CVS HEAD)
 /branches - All Struts branches
 /tags - All Struts tags
 
  If you want to checkout everything with the command-line client, type:
   svn co http://svn.apache.org/repos/asf/struts
 
  But most developers will only be interested in the trunk, so it would be
  better to type:
   svn co http://svn.apache.org/repos/asf/struts/trunk
 
  There are a number of Subversion client GUI's and IDE plugins linked to
  on the Subversion web site, for those perfer a GUI tool.
 
  Thanks again to the infrastructure team for their assistance!
 
  Don
 
  -
  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]
 


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



Re: Conversion from CVS to Subversion Complete

2004-10-01 Thread Don Brown
Fixed.

Don


On Fri, 1 Oct 2004 17:17:44 -0400, James Mitchell [EMAIL PROTECTED] wrote:
 I am not able to commit.
 
 I had previously logged into cvs.apache.org and did svnpassword, and I was
 able to commit on the test conversion.
 
 Am I missing something?
 
 --
 James Mitchell
 Software Engineer / Open Source Evangelist
 EdgeTech, Inc.
 678.910.8017
 AIM: jmitchtx
 
 
 
 - Original Message -
 From: Don Brown [EMAIL PROTECTED]
 To: Struts Developers List [EMAIL PROTECTED]
 Sent: Friday, October 01, 2004 3:32 PM
 Subject: Conversion from CVS to Subversion Complete
 
  It is my pleasure to announce the official migration of the Struts CVS
  repository into Apache Software Foundation's Subversion repository.  The
  previous CVS module, jakarta-struts, has been frozen, and all new
  development will take place in the Subversion repository.
 
  The following links might be helpful:
 
Struts public Subversion repository:
  http://svn.apache.org/repos/asf/struts
Struts committers Subversion repository:
  https://svn.apache.org/repos/asf/struts
Subversion: http://subversion.tigris.org
Subversion Red Book: http://svnbook.red-bean.com/
Subversion for CVS Users section:
  http://svnbook.red-bean.com/svnbook-1.0/apa.html
 
  The repository is organized like this:
struts/
  /trunk - The current development branch (like CVS HEAD)
  /branches - All Struts branches
  /tags - All Struts tags
 
  If you want to checkout everything with the command-line client, type:
svn co http://svn.apache.org/repos/asf/struts
 
  But most developers will only be interested in the trunk, so it would be
  better to type:
svn co http://svn.apache.org/repos/asf/struts/trunk
 
  There are a number of Subversion client GUI's and IDE plugins linked to
  on the Subversion web site, for those perfer a GUI tool.
 
  Thanks again to the infrastructure team for their assistance!
 
  Don
 
  -
  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]
 


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



ViewSVN (was Re: Conversion from CVS to Subversion Complete)

2004-10-07 Thread Don Brown
Yes, there is a version of viewcvs, viewsvn, for subversion: 
http://svn.apache.org/viewcvs.cgi/struts/?root=Apache-SVN

Don
Matt Bathje wrote:
Hi all.
Is there a viewcvs.cgi equivalent for the SVN Repository? I realize 
I can open the url in a browser and view the latest revision, but I 
liked that you could see the history on the CVS version.

In case its not clear what I am talking about:
http://svn.apache.org/repos/asf/struts/trunk/ (in a browser)
vs.
http://cvs.apache.org/viewcvs/jakarta-struts/
thanks,
Matt
Don Brown wrote:
It is my pleasure to announce the official migration of the Struts 
CVS repository into Apache Software Foundation's Subversion 
repository.  The previous CVS module, jakarta-struts, has been 
frozen, and all new development will take place in the Subversion 
repository.
The following links might be helpful:

 Struts public Subversion repository: 
http://svn.apache.org/repos/asf/struts
 Struts committers Subversion repository: 
https://svn.apache.org/repos/asf/struts
 Subversion: http://subversion.tigris.org
 Subversion Red Book: http://svnbook.red-bean.com/
 Subversion for CVS Users section: 
http://svnbook.red-bean.com/svnbook-1.0/apa.html

The repository is organized like this:
 struts/
   /trunk - The current development branch (like CVS HEAD)
   /branches - All Struts branches
   /tags - All Struts tags
If you want to checkout everything with the command-line client, type:
 svn co http://svn.apache.org/repos/asf/struts
But most developers will only be interested in the trunk, so it would 
be better to type:
 svn co http://svn.apache.org/repos/asf/struts/trunk

There are a number of Subversion client GUI's and IDE plugins linked 
to on the Subversion web site, for those perfer a GUI tool.

Thanks again to the infrastructure team for their assistance!
Don
-
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]

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


Re: Proposal: Javascript-to-Java object conversions

2004-10-29 Thread Don Brown
Actually, I just wrote a web application that uses Struts 1.2.4, Struts 
Flow - http://struts.sf.net/flow , iBATIS database layer, and a touch of 
Java.  Struts Flow allows you to use a Javascript function to replace a 
Struts action.  I use iBATIS to run SQL queries and return Lists of Maps 
(a Map keyed by column names in the result set), then feed those Maps to 
the JSP.  Struts Flow provides a jsobjectToMap function that lets you 
convert a Javascript object to a Map, and likewise, a ScriptableMap 
which lets you access a Map as if it was a Javascript object.

This technique let me write an entire application mostly in Javascript 
with very little code.  The iBATIS sql map layer functioned as my DAO 
and the use of Maps as my data structure worked great.

If you have any questions, I'd be happy to elaborate.  The bottom line 
is it is very possible and in fact quite easy to write a Struts app 
using mostly Javascript, with a smattering of Java for things like 
application init and more complicated algorithms.

Don
Craig McClanahan wrote:
Wouldn't a Map that had String-valued keys be a reasonable Java object
representation of a JavaScript object?  That way you can have an
arbitrary set of properties, and deal with them by name instead of by
index.  In the JavaScript-Java direction, you'd probably make the
values all Strings too (unless the serialization includes type
information), but you'd have more flexibility going the other way.
I don't see losing the methods as that big a loss, given a convenient
way to transport data back and forth.  On the other hand, I'll bet
there's some way to use prototypes at the client end to resurrect the
methods too.
Craig
On Fri, 29 Oct 2004 12:33:24 -0700 (PDT), [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:
 

Craig (and everyone else), based on what you mentioned on the User's list, I'd like to 
make the following proposal, get some feedback from everyone and go off and work on 
it... I prefer getting at least some level of buy-in from you guys before I spend any 
time on it...
The basic idea is being able to convert a Javascript object to a Java object, and 
vice-versa.  Let's deal with it in two steps...
To convert from Javascript to Java, I propose we add a new form tag to the HTML taglib 
called 'html:jsObject'.  This would act like an html:hidden element, but with some 
differences.
The 'styleId' element would always render the HTML id attribute as 'jso' where 
 is the name as specified in 'styleId' for an html:jsObject tag.  This would be 
needed to avoid name conflicts with an object named the same thing as the form field.
The html:form element would need to have a new attribute added, 'jsoAware'.  When set 
to true, an added onSubmit handler would be rendered that grabs Javascript objects in 
page scope named according to the 'styleId' of the html:jsObject tags and sets the 
value of the corresponding html:jsObject tag for each one.
So, a developer has to (a) set jsoAware true on html:form and (b) add an html:jsObject 
element for each object they wish to serialize.  As I understand it, the browser will 
create a string out of the object (I need to verify this frankly, but I'm taking it on 
faith at this point), so that becomes the value of the jsObject field.  That gets us 
serialization on the client-side integrated with the taglibs.
Next, as Craig said, we create a new JSJavaConverter.  Pass this the class to convert 
to (maybe an ActionForm?  maybe something else?) and the string as submitted as the 
jsObject field...
...and here's the first problem I see... what about data types?  Javascript is 
typeless, Java obviously isn't.  My thought here is that we put a restraint on any 
Javascript class to be converted: you as a developer must provide a dataType field 
for each data field, where  is the name of the field.  These would be set to one 
of a set of known values (i.e., string, double, etc).  I'm thinking we can add another 
tag, maybe html:jsObjectConstants, that will render Javascript defining the data type 
constants.  A developer can throw this tag into their class (or at page-level, 
whichever) and use them in the class to define the data types.
I think that gives us enough information to attempt conversions on the fields of the 
Javascript class.  The converter I don't think would be terribly difficult to write, 
once I know the structure of the serialization the browser performs (hopefully it's 
name/value pairs and is delimited in some way, then it's almost cake).
Now, moving on to converting a Java object to Javascript...
That should be even easier... Just write a converter to call toString() on all class 
fields.  I'm thinking I'd write a generic 'JavascriptObjectClass' for use in the 
converter as the target class.  This would probably be as simple as a class with 
nothing but a HashMap in it that contains the field names and values.  Heck, maybe 
just passing it a HashMap class is sufficient, I'll have to think about that a bit 

Re: Proposal: Javascript-to-Java object conversions

2004-10-29 Thread Don Brown
I didn't see anything in that proposal that couldn't be satisfied by 
Struts Flow, but I could have missed something.  If so, we could 
supplement Struts Flow to support it.  Converting Javascript objects to 
Maps should be a sufficient way to handle compatibility with existing 
Struts capabilities.

Struts Flow will be added to Struts soon as an official sub-project, as 
will Struts BSF, so hopefully folks wanting these features will join the 
project and contribute.

Don
Frank W. Zammetti wrote:
That sounds pretty cool Don!  I guess it leads to the question (for 
you Struts committe members, not me) whether what you describe 
suffices and just leave it at that for anyone that ever needs this 
capability, or whether this whole serialization idea makes sense 
included in Struts.

I guess the argument can be made that it hasn't been asked about a 
whole lot on the users list (that I've seen anyway, in fact only 
once), and therefore including it in Struts probably doesn't make sense.

On the other hand, is it a fundamental enough concept that including 
it does make sense?

I think this is a question to answer because I don't see this being 
possible without changes to the existing taglibs, not in the way I'm 
thinking of it and have described it here anyway, and so it's not 
something I can really go off and do on my own as an add-on to Struts 
(I mean, certainly I could create a modified HTML taglib to include 
this functionality, but I don't like forking in general).


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


Re: Proposal: Javascript-to-Java object conversions

2004-10-29 Thread Don Brown
Hmm...good question. :)  Struts BSF is a very simple project that lets 
you write a Struts action using a BSF-supported scripting language.  The 
advantage of this project is you can use any BSF-compatible language 
including Python, Ruby, Groovy, Javascript, Perl and even VBScript (on 
windows).  The disadvantage is BSF tries to be support many languages 
and thus is stuck at lowest common denominator.  As a result, it doesn't 
support compilation of scripts very well, so I was rather dismayed by 
the performance hit.  I tried to cache at least the value of the script 
in memory, but it still had to be compiled each time.

Personally, I'm much more interested in Struts Flow.  Struts Flow has 
the goal of bringing Continuations-based capabilities to web 
applications in general, Struts specifically (see the website for an 
explanation of what Continuations are and what they mean to web 
programming).  Currently, the only stable and free implementation of 
continuations is Rhino, the Java-based Javascript implementation, 
however, Cocoon is working on Java continuations support which would 
open the door up to, of course Java, but also any scripting language 
that can compile to byte code (Jython and Groovy come to mind). RIFE 
also has Java support for continuations, but I understand it is 
limited.  Struts Flow makes really complicated processes like dynamic 
wizards very easy and almost trivial, without requiring any Javascript 
on the client side or Back button restrictions.

Anyways, I give that history to show how perhaps on the surface the 
projects are similar, they really differ in focus.  BSF just tries to 
bring scripting to Struts, but Struts Flow focuses on continuations, 
which currently happen to involve Rhino.  I think Struts Flow has much 
more opportunity for revolutionizing web development and the problems 
BSF has of compilation, Flow doesn't have since it is pretty tied to 
Javascript and can take advantage of every optimization feature.  So I 
wouldn't say I've dropped BSF, but I don't think it has the potential 
that Struts Flow has, however I don't mind maintaining it for those that 
just want to write Struts actions with scripting languages.

Don
Joe Germuska wrote:
Struts Flow allows you to use a Javascript function to replace a 
Struts action.  I use iBATIS to run SQL queries and return Lists of 
Maps (a Map keyed by column names in the result set), then feed those 
Maps to the JSP.  Struts Flow provides a jsobjectToMap function that 
lets you convert a Javascript object to a Map, and likewise, a 
ScriptableMap which lets you access a Map as if it was a Javascript 
object.

Don:
I haven't been following too closely -- have you pretty much dropped 
struts-bsf in favor of struts-flow?  struts-flow was the one which was 
kind of inspired by some Cocoon practices, right?

If you have a few minutes to give us a state-of-the-art on it, I'd 
appreciate it.

Joe
--
Joe Germuska[EMAIL PROTECTED]  http://blog.germuska.com
In fact, when I die, if I don't hear 'A Love Supreme,' I'll turn 
back; I'll know I'm in the wrong place.
   - Carlos Santana

-
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: Javascript-to-Java object conversions

2004-10-29 Thread Don Brown
Hey, I'll could do that this weekend, but I thought I was to wait until 
1.2.5 was rolled, which has, well, stalled.  Damn you and your dark, 
velvety carrot. :)

Don
Ted Husted wrote:
On Fri, 29 Oct 2004 14:01:36 -0700, Don Brown wrote:
 

Struts Flow will be added to Struts soon as an official sub-
project, as will Struts BSF
   

I was getting ready to mention that the Guiness clock is ticking, in case you 
still wanted to have these in place by ApacheCon :)
 

And if Don wants to start setting up struts-flow and struts-
scripting along the same lines as struts-faces, I'll buy him a
Guiness (or three) at ApacheCon :)
 

Ah, Guinness - the ultimate currency.  You got yourself a deal.
   

Which, of course, might be offset by my doing something about the Chain 
documentation, so we can release that :)
-Ted.
-
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: Struts-BSF, Struts-Scripting [was Re: Proposal: Javascript-to-Java object conversions]]]

2004-10-29 Thread Don Brown
On Fri, 29 Oct 2004 23:52:49 -0400, Frank W. Zammetti
[EMAIL PROTECTED] wrote:
 Argh, posted to the wrong list!
 
 Well, in all honesty, this isn't something that was initiated by me,
 I've never had a thought of passing objects back and forth, so I'm not
 sure I can give you a real, concrete use case that would explain it.  I
 certainly hear what your saying about XML.  I myself have done that very
 thing in place of something like this.
 
 I think the point that makes this interesting is the idea of objects
 end-to-end.  Think of it almost like RMI between a browser-based client
 and a Java-based back-end.  As in RMI, an object gets flattened into
 some data representation, transmitted and reconstituted on the receiving
 end.  But on both sides of the conversation you have an object.
 
 If what your asking is why not just pass XML representing the data
 instead of a representation of an object, then I'd say because then you
 have to know about some intermediary interpretation of an object, namely
 XML.  It would kind of be like saying that instead of using RMI, why not
 just serialize an object's data as XML and transmit that, then parse it
 on the other end... Certainly that's done every day, but RMI is I think
 more elegant in that your always dealing in objects, and conversion for
 the sake of transport is done transparently.

That is not necessarily true.  If you use XML-RPC, specifically one of
the several client-side Javascript libraries for XML-RPC, your
application, both on the client and server side, never have to touch
XML.  The XML-RPC library automatically handles
serialization/deserialization as does the server side XML-RPC library
(Apache has a great one for this).  I use XML-RPC in several
applications for the specific reason that I never have to deal with
XML, yet I get rich communication between my web application and
server.

Don

 
 I know what your saying about tying to Javascript, but I'm not sure
 there's too many client-side scripting languages to worry about.  I
 mean, Javascript and VBScript are all I can think of, and although it's
 been a while since I worked with VBScript, I don't recall there being an
   object creation mechanism like in Javascript, so I'm not sure how big
 a concern it is.  Certainly I think it's safe to say that Javascript is
 by far the most popular client-side scripting language, and therefore a
 solution that is going to cover 75% of applications is probably useful.
 
 --
 Frank W. Zammetti
 Founder and Chief Software Architect
 Omnytex Technologies
 http://www.omnytex.com
 
 Martin Cooper wrote:
 
   Just curious, and I'm sure I'm missing something (which is why I'm
   asking!), but why would you want to do this when there are XML based
   solutions there for the using, free, and that don't tie you to
   JavaScript?
  
   Thanks.
  
   --
   Martin Cooper
  
  
   On Fri, 29 Oct 2004 22:31:32 -0400, Frank W. Zammetti
   [EMAIL PROTECTED] wrote:
  
   On the later idea, I intend to put together a proof-of-concept next week
   when I get back to the office.  I have some family engagements this
   weekend that will keep me from getting started, and on Tuesday I take
   the first exam for my SCEA (not to mention the election!), but I have
   some spare cycles at work currently so I should pretty much have the
   rest of the week to play.
  
   I only mention this because while I obviously can't stop anyone else
   from beating me to the punch, I do intend to persue this, so if you have
   any other itches to scratch, go for them, leave this one for me if you
   would :)
  
   --
   Frank W. Zammetti
   Founder and Chief Software Architect
   Omnytex Technologies
   http://www.omnytex.com
  
  
  
   Craig McClanahan wrote:
  
   On Fri, 29 Oct 2004 21:28:52 -0400, Ted Husted [EMAIL PROTECTED]
 wrote:
  
  
   That sounds great to me, Don. :)
  
   We already have Struts-Faces and Struts-Examples on the trunk. We
 might as well add Struts-BSF and Struts-Flow to the mix.
  
  
  
   +1.
  
  
  
   Struts-BSF and Struts-Flow are not part of the core, so they would
 be not affected by a 1.2.x branch.
  
   -Ted.
  
  
  
   Note that there have been two overlapping discussions about scripting
   on the lists today ... Don's stuff in Struts Flow uses a modified
   Rhino (with continutations) to do scripting on the *server* side,
   while the earlier conversation about serializing a JavaScript object
   and converting it is about scripting on the *client* side, using a
   serialized form of JavaScript objects to pass data back and forth
   through a hidden field.
  
   Both ideas are quite cool.
  
   Craig
  
   -
   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 

Re: Struts-BSF, Struts-Scripting [was Re: Proposal: Javascript-to-Java object conversions]]]

2004-10-29 Thread Don Brown
I'm personally fond of vcXMLRPC - http://www.vcdn.org/Public/XMLRPC/ -
and have used it successfully in several projects, an ASP application
and a Struts-based application.  I've heard of others, but that one
has been good to me as it works with IE 5.5+ and Mozilla 1.0+.

This also seems to be a good list of non XML-RPC remote scripting for
Javascript: http://www.ashleyit.com/rs/main.htm

I've never understood why XML-RPC and remote scripting in general
haven't been more prevelent in web applications.  The main limitation
is a semi-recent browser, but that shouldn't be an issue in most web
applications, especially within intranets.  The excellent performance
and developmental simplicity make web applications viable for more
complex tasks.

Don


On Sat, 30 Oct 2004 00:18:08 -0400, Frank W. Zammetti
[EMAIL PROTECTED] wrote:
 It sounds like what your saying is that such a beast already exists...
 I'm looking now at the XML-RPC site at http://ws.apache.org/xmlrpc/,
 specifically the link to Client Classes... Is this what your referring
 to?  If so, I think this is dealing with writing a Java-based client,
 not Javascript objects.  Assuming that's not it though, can you point me
 in the right direction?  I'm most definitely interested!
 
 --
 Frank W. Zammetti
 Founder and Chief Software Architect
 Omnytex Technologies
 http://www.omnytex.com
 
 Don Brown wrote:
  On Fri, 29 Oct 2004 23:52:49 -0400, Frank W. Zammetti
  [EMAIL PROTECTED] wrote:
 
 Argh, posted to the wrong list!
 
 Well, in all honesty, this isn't something that was initiated by me,
 I've never had a thought of passing objects back and forth, so I'm not
 sure I can give you a real, concrete use case that would explain it.  I
 certainly hear what your saying about XML.  I myself have done that very
 thing in place of something like this.
 
 I think the point that makes this interesting is the idea of objects
 end-to-end.  Think of it almost like RMI between a browser-based client
 and a Java-based back-end.  As in RMI, an object gets flattened into
 some data representation, transmitted and reconstituted on the receiving
 end.  But on both sides of the conversation you have an object.
 
 If what your asking is why not just pass XML representing the data
 instead of a representation of an object, then I'd say because then you
 have to know about some intermediary interpretation of an object, namely
 XML.  It would kind of be like saying that instead of using RMI, why not
 just serialize an object's data as XML and transmit that, then parse it
 on the other end... Certainly that's done every day, but RMI is I think
 more elegant in that your always dealing in objects, and conversion for
 the sake of transport is done transparently.
 
 
  That is not necessarily true.  If you use XML-RPC, specifically one of
  the several client-side Javascript libraries for XML-RPC, your
  application, both on the client and server side, never have to touch
  XML.  The XML-RPC library automatically handles
  serialization/deserialization as does the server side XML-RPC library
  (Apache has a great one for this).  I use XML-RPC in several
  applications for the specific reason that I never have to deal with
  XML, yet I get rich communication between my web application and
  server.
 
  Don
 
 
 I know what your saying about tying to Javascript, but I'm not sure
 there's too many client-side scripting languages to worry about.  I
 mean, Javascript and VBScript are all I can think of, and although it's
 been a while since I worked with VBScript, I don't recall there being an
   object creation mechanism like in Javascript, so I'm not sure how big
 a concern it is.  Certainly I think it's safe to say that Javascript is
 by far the most popular client-side scripting language, and therefore a
 solution that is going to cover 75% of applications is probably useful.
 
 --
 Frank W. Zammetti
 Founder and Chief Software Architect
 Omnytex Technologies
 http://www.omnytex.com
 
 Martin Cooper wrote:
 
   Just curious, and I'm sure I'm missing something (which is why I'm
   asking!), but why would you want to do this when there are XML based
   solutions there for the using, free, and that don't tie you to
   JavaScript?
  
   Thanks.
  
   --
   Martin Cooper
  
  
   On Fri, 29 Oct 2004 22:31:32 -0400, Frank W. Zammetti
   [EMAIL PROTECTED] wrote:
  
   On the later idea, I intend to put together a proof-of-concept next week
   when I get back to the office.  I have some family engagements this
   weekend that will keep me from getting started, and on Tuesday I take
   the first exam for my SCEA (not to mention the election!), but I have
   some spare cycles at work currently so I should pretty much have the
   rest of the week to play.
  
   I only mention this because while I obviously can't stop anyone else
   from beating me to the punch, I do intend to persue this, so if you have
   any other itches to scratch, go for them, leave this one for me if you
   would

Struts Sub-Projects

2004-11-04 Thread Don Brown
Perhaps this has already been discussed, but I couldn't find anything
about it

How will we organize Struts subprojects in the repository?  As I
understand it, Struts subprojects are projects that are intimately
associated with Struts, yet have their own release cycle.  The prime
example being struts-faces.

If so, why is struts-faces located in /trunk/ and therefore branched and
tagged along with Struts core?  Shouldn't it have its own
trunk/branches/tags triad for its own release cycles?

In a particular project in my day job, we have two main components that
have their own release cycles.  In subversion, we give them the following
organization:
  server/
trunk/
branches/
tags/
  client/
trunk/
branches/
tags/

This allows each component to branch and tag without affecting the other. 
I would think a similiar organization would be practical for Struts to
allow sub-projects like struts-faces and struts-flow to manage themselves.
 I'd recommend (if it hasn't already been discussed and rejected) we adopt
a similar pattern with core, struts-faces, struts-flow, and
struts-bsf as root directories, each with their own branches/tags/trunk
directories.

Don

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



Re: Struts Sub-Projects

2004-11-05 Thread Don Brown
No, actually, it would be a simple matter of a couple of svn move
commands.  They are quick, and can be easily redone later if we change
our minds.

Don


On Fri, 5 Nov 2004 07:42:44 -0600, Joe Germuska [EMAIL PROTECTED] wrote:
 At 9:52 PM -0800 11/4/04, Don Brown wrote:
 If so, why is struts-faces located in /trunk/ and therefore branched and
 tagged along with Struts core?  Shouldn't it have its own
 trunk/branches/tags triad for its own release cycles?
 
 +1
 
 Just curious, do we need to ask someone in [EMAIL PROTECTED] to
 do this?  I don't seem to understand where the real SVN repository
 actually lives.
 
 Joe
 
 --
 Joe Germuska
 [EMAIL PROTECTED]
 http://blog.germuska.com
 In fact, when I die, if I don't hear 'A Love Supreme,' I'll turn
 back; I'll know I'm in the wrong place.
 - Carlos Santana


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



Re: Struts Sub-Projects

2004-11-05 Thread Don Brown
In a perfect world...
svn.apache.org/asf/struts
 /core
   /trunk
   /branches
   /tags
 /faces
   /trunk
   /branches
   /tags
 /bsf
   /trunk
   /branches
   /tags
 /flow
   /trunk
   /branches
   /tags
Therefore, we would then instruct folks that want to work on Struts core 
to use http://svn.apache.org/asf/struts/core/trunk

Don
Craig McClanahan wrote:
On Fri, 5 Nov 2004 08:01:33 -0800, Don Brown [EMAIL PROTECTED] wrote:
 

No, actually, it would be a simple matter of a couple of svn move
commands.  They are quick, and can be easily redone later if we change
our minds.
   

Agree that it's easy to move things around ... but I've got a question
-- does this still all end up under our single canonical SVN URL
(https://svn.apache.org/asf/struts)?
If so, I'm fine with it ... once we figure out what to name the top
level directories of course :-).
 

Don
   

Craig
 


On Fri, 5 Nov 2004 07:42:44 -0600, Joe Germuska [EMAIL PROTECTED] wrote:
   

At 9:52 PM -0800 11/4/04, Don Brown wrote:
 

If so, why is struts-faces located in /trunk/ and therefore branched and
tagged along with Struts core?  Shouldn't it have its own
trunk/branches/tags triad for its own release cycles?
   

+1
Just curious, do we need to ask someone in [EMAIL PROTECTED] to
do this?  I don't seem to understand where the real SVN repository
actually lives.
Joe
--
Joe Germuska
[EMAIL PROTECTED]
http://blog.germuska.com
In fact, when I die, if I don't hear 'A Love Supreme,' I'll turn
back; I'll know I'm in the wrong place.
   - Carlos Santana
 

-
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]
 


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


Re: Struts Sub-Projects

2004-11-08 Thread Don Brown
Yes. :)

Don


On Mon, 8 Nov 2004 12:08:35 -0800, Martin Cooper [EMAIL PROTECTED] wrote:
 On Mon, 8 Nov 2004 11:50:43 -0800, Don Brown [EMAIL PROTECTED] wrote:
 
 
  I'm not sure what you mean and how refactoring is enhanced by using one
  trunk.  I'm just suggesting giving each subproject its own structure, but
  they would all be in the same repository, and could be all checked out at
  one shot by checking out struts/
 
 I'm not saying that it is enhanced - rather, I'm asking the question. ;-)
 
 What I'm getting at is this. Say I'm working on 'faces' and I come
 across a class that really should be part of 'core' instead. Can I
 still use the regular SVN move mechanism to move the class over,
 keeping history, etc., when 'core' and 'faces' have separate trunk /
 branches / tags?
 
 boolean martin_happy = (answer.equals(yes)); // ;-)
 
 --
 Martin Cooper
 
 
 
 
  Don
 
  On Sun, 7 Nov 2004 10:03:27 -0800, Martin Cooper [EMAIL PROTECTED] wrote:
   One of the initial reasons for having one trunk / branches / tags
   group, rather than several, was the desire to be able to refactor
   across artifacts. If that is still retained with the proposal below,
   then I'm fine with it. Otherwise, I think we need to consider it a bit
   more.
  
   --
   Martin Cooper
  
  
  
  
   On Fri, 05 Nov 2004 15:26:45 -0800, Don Brown [EMAIL PROTECTED] wrote:
In a perfect world...
   
svn.apache.org/asf/struts
 /core
   /trunk
   /branches
   /tags
 /faces
   /trunk
   /branches
   /tags
 /bsf
   /trunk
   /branches
   /tags
 /flow
   /trunk
   /branches
   /tags
   
Therefore, we would then instruct folks that want to work on Struts core
to use http://svn.apache.org/asf/struts/core/trunk
   
Don
   
   
   
   
Craig McClanahan wrote:
   
On Fri, 5 Nov 2004 08:01:33 -0800, Don Brown [EMAIL PROTECTED] wrote:


No, actually, it would be a simple matter of a couple of svn move
commands.  They are quick, and can be easily redone later if we change
our minds.



Agree that it's easy to move things around ... but I've got a question
-- does this still all end up under our single canonical SVN URL
(https://svn.apache.org/asf/struts)?

If so, I'm fine with it ... once we figure out what to name the top
level directories of course :-).



Don



Craig





On Fri, 5 Nov 2004 07:42:44 -0600, Joe Germuska [EMAIL PROTECTED] 
wrote:


At 9:52 PM -0800 11/4/04, Don Brown wrote:


If so, why is struts-faces located in /trunk/ and therefore 
branched and
tagged along with Struts core?  Shouldn't it have its own
trunk/branches/tags triad for its own release cycles?


+1

Just curious, do we need to ask someone in [EMAIL PROTECTED] to
do this?  I don't seem to understand where the real SVN repository
actually lives.

Joe

--
Joe Germuska
[EMAIL PROTECTED]
http://blog.germuska.com
In fact, when I die, if I don't hear 'A Love Supreme,' I'll turn
back; I'll know I'm in the wrong place.
- Carlos Santana



-
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]



   
-
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]
  
  
 


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



Subversion repository reorganization

2004-11-13 Thread Don Brown
As you many have noticed, we've reorganized the Struts as discussed,
moving core Struts code as its own subproject, then giving struts-faces
and struts-el their own subproject.  At the same time, due to core build
requirements concerning struts-el, we moved struts-el to its own
subproject.

I write subproject in quotes as we should formalize what we call them. 
A subproject would be a defined project that has its own release cycle,
and therefore trunk, branches, and tags directories.  At this point, there
are core, faces, el, and sandbox subprojects, and I'm planning on
creating a bsf subproject.  taglibs will follow for 1.3.0

We had to modify the build for Struts core and struts-el as the paths had
changed, but should only affect the dist target.  The documentation and
website should contain the new Subversion url
(https://svn.apache.org/repos/asf/struts/core/trunk) and Martin has
updated the website.

Please test the site and builds to ensure we didn't miss anything.  Thanks.

Don

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



Added capability to load config files from jars

2004-11-17 Thread Don Brown
I've developed a quite small patch that allows Struts, Validator, and
Tiles configuration files to be loaded from the classloader if not
found in the servlet context.  This allows people to distribute Struts
modules as self-contained jars (save jsp's of course if the module
uses those).

The previous behavior was to load config files from the servlet
context, and if not found, throw an exception.  I added a middle step
that if the file can't be located on the servlet context, it tries to
load the file from the classloader which can pull resources, from
among other places, jars in WEB-INF/lib.

Does anyone have any objections?  If not, I'll apply it in a day or so.

Don

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



Re: Experiences with MockObjects for Servlet testing?

2004-11-22 Thread Don Brown
Perhaps this might be a good time to bring up the idea of bringing 
StrutsTestCase as a Struts subproject?  They have an implementation of 
the servlet api for testing.

Don
Joe Germuska wrote:
I just found an annoying bug in struts-chain, where CreateAction was 
looking up the map of actions under one key, and if not found, 
creating a new map and storing it under another key.  The net result 
being that every CreateAction request was resulting in the 
initialization of a new Action class (as well as a new HashMap).

Anyway, I thought this would be a good time to start writing test 
cases for struts-chain stuff.  I haven't used MockObjects much, but it 
seemed like the best way to set up the mock environment.  However, 
when I got down to running the test, I found that the library appears 
to be hard-coded to throw an AssertionFailedError if you try to 
retrieve something from the MockServletContext which isn't there.

http://mockobjects.sourceforge.net/javadoc/1.4/com/mockobjects/ReturnObjectBag.html#getNextReturnObject(java.lang.Object) 

Does anyone more familiar with MockObjects know if there's a way to 
turn off this behavior or otherwise specify that it's not an error 
condition?  Obviously in this case I can't write a test case for my 
fix if I can't simulate the condition where there is not yet any such 
object in the ServletContext.

I went ahead and committed the fix anyway (rev. 106242) but it would 
be nice to be able to test it.

I'm going to go ahead and commit the project.xml file that has 
mockobjects dependencies, since they may still be useful for other 
tests that we may want to write.  This project.xml file also fixes the 
inheritance from the Struts project.xml file.  (For the el libraries, 
I did this the other way, by copying the files that would otherwise be 
picked up by inheritance.  I'm not sure which I think is more right 
but the inheritance precludes someone from building a source 
distribution, which is kind of a drag.  In this case, it was just 
faster!)

Joe

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


Re: Configuration and IoC (Re: Proposed Roadmap for 1.3.x and beyond [long])

2004-11-22 Thread Don Brown
The bottom line is Struts now uses xml configuration as declarative 
configuration, rather than procedural.  We define forms, actions, 
plugins, etc., without defining a process for using them.

When you start looking at configuration for defining procedures, it can 
get messy quick - just look at Jelly.  Many would argue XML is just not 
a good fit for procedural code/definitions.  Even if you liked XML for 
procedural configuration, I'm not sure chain's dtd would be a good idea 
either.  It only can only be used to define a linear process - no 
braches, loops, or iterations.  Instead, you'd have to code that logic 
inside your commands, further complicating them and making it even 
harder to deduce flow.

Personally, I like the approach of using XML to define items, then 
letting how those items are processed be defined with chain or whatever 
else.  Even then, I like using chain and CoR for defining one pretty 
static process like how Struts handles requests, but leaving it up to 
Java or scripting languages for defining more dynamic, complex processes.

Inversion of Control, however, is really a different beast as it seeks 
neither to define processes or conceptual elements, but rather 
configures actual classes which may be different.

Don
Joe Germuska wrote:
Since there was so much coming out of the ApacheCon summit, I decided 
to split my responses up a bit.
I think long-term, the way in which Struts is configured is one of the 
most important factors about its ease of use and maintenance.

At 9:37 AM -0600 11/21/04, Vic wrote:
So I say no combined DTD  in favor of chain DTD,
and no IoC, because CoR , similar in purpose, is better than IoC.
If IoC always had same signature - you'd have CoR.
I know IoC is fashionable, but CoR is better, I put both in production.

There is definitely something to this.  I don't think I would agree 
that the Chain DTD would subsume any other configuration, but it's 
possible to imagine, at least in many cases, scrapping the 
struts-config.xml and instead having each command configure itself 
with whatever it needs.

The problem comes when multiple steps in the chain need to reference 
the same configuration information.  For example, form beans need to 
be looked up to populate them from the request, but they also need to 
be looked up if you want to pre-populate a page with application 
data.  You wouldn't really want to push the form-bean configuration 
into the CreateActionForm command; instead, you'd want both 
CreateActionForm and (some as yet non-existent) PrepareViewContext 
command each to look up something in the StrutsContext which had that 
expertise.

The other problem (if it is a problem) comes with explaining just what 
Struts is, if there's no struts-config file!  I wouldn't let that stop 
me, but it is interesting in a way.

If we were to use some kind of IoC, what would be the collaborators? I 
have often thought it would be nice to replace all those config 
classes with some more intelligent classes that have config but also 
do things (especially form bean and action instantiation), thereby 
centralizing some of the logic.  Furthermore, I do prefer, in general, 
the idea of initializing one (or very few) objects for each relevant 
scope (in this case, particularly, the application scope) and then 
populating properties on those objects, rather than trusting everyone 
to use the right attribute name for fishing those out of contexts.

I'm still trying to go through actual Struts code looking at it with 
these ideas in mind to validate whether there are really places where 
Struts would benefit from this, or if it's really just a matter of 
taste that isn't worth trying to impose on Struts.

Joe

At 8:47 AM -0500 11/21/04, Ted Husted wrote:
-1.4 considerations-
One we get past 1.3.x, there are some other things that we might 
consider.

Consider combining DTDs. Right now, using standard extensions like 
Tiles and Validator mean using more than one configuration file. 
While using multiple configurations files can be a good thing, we 
should also try and support the idea of having a single configuration 
file. This might not work-out for Tiles, but we might be able to at 
least integrate the Validator configuration with the DynaForm 
configuration.

Consider adding catalog element. Depending on how the work goes with 
the experimental ActionCommand interface, we might identifiy a need 
to add a catalog element to the Struts configuration, to support 
using a Chain of ActionCommands.

Consider refactoring for Spring. We identified the need for adding a 
IOC container to Struts some time ago, but stalled on the point of 
which to use. Since then, Spring has gained a lot of momentum. Spring 
is used by the MyFaces and Beehive teams, and its on the radar for 
Shale. There is already a Struts-Spring component in the Spring 
distribution and other common ground.



-
To unsubscribe, e-mail: 

Re: chain in trunk for builds?

2004-11-23 Thread Don Brown
Comments inline...
Joe Germuska wrote:
I think Martin said chain is in trunk.
I would assume that the nighly bulids would then have chain in 
there, and that it not be a separate download?

Chain is not yet in the core, but getting it there is something I'm 
interested in working on.   It may also be just as well to wait a few 
days until commons-chain 1.0 is formally released.  Meanwhile, I am 
still looking for more feedback on some of my questions.  I'm 
restating/clarifying them below.  Items two and three seem the most 
controversial.

[1] Chain initialization:
Pending any objection, I would remove the need for the 
ChainConfiguratorPlugIn and instead have the ActionServlet receive an 
init parameter, chains which would be one or more (comma-separated) 
paths to XML files.  I would follow Don's recent changes so that each 
path would be tested first as a servlet resource, and, if that failed, 
as a classpath resource.  If a URL were found in either source, it 
would be passed to o.a.s.chain.config.ConfigParser.parse(URL)  If a 
URL were found in neither source, a ServletUnavailableException would 
be thrown.
Sounds good.  I would take it a step further, and, if no init parameter, 
look for the chain config as /chain-config.xml, making it possible to 
provide an intelligent default.  We could then, take your idea in #3, 
and bundle our own /chain-config.xml inside Struts.  Since it would be 
on the classpath, it could still be easily overridden by creating a 
chain-config.xml in the servlet context w/o adding any configuration to 
web.xml.

[2] RequestProcessor Configuration:
In the current ChainConfiguratorPlugIn, the catalog name and initial 
command are settable with servlet init parameters.  It seems to me 
that this should be a per-Module setting, and so I'd argue those 
should be properties on the RequestProcessor.  This is not a high 
priority to me, but it seems more right.
Works for me.
To achieve this would require either adding yet more properties to 
ControllerConfig or, my preferred solution, allowing ControllerConfig 
to hold a reference to an actual RequestProcessor object which could 
be instantiated and configured by Digester.  (Would this involve some 
ClassLoader issues?  the Struts digester instance uses the 
contextClassLoader when it has been set, as does 
RequestUtils.applicationInstance(...) so perhaps not a great risk?) I 
guess the alternative would be a RequestProcessorConfig object that 
carried the properties -- but this is an example of where I would 
rather turn away from the config objects and towards something more 
IoC-like...

The other question here is simply whether to change the behavior of 
the class named RequestProcessor (probably copying the current 
behavior to a LegacyRequestProcessor) or rather to change the default 
class used to point to a new class which implements the Chain-based 
processing.
I like for former.  We continue to use RequestProcessor, but deprecate 
it, and make LegacyRequestProcessor the default.  This allows Struts 
extensions to make the transition easier.

Don
[3] Default Chain
Do we import all the classes in struts-chain into core?  Or do we pack 
them as a jar and use them by reference?  Based on our stated interest 
in reducing core dependencies on the Servlet API, I would argue for 
the first.  If we did the first, I think it would be interesting (but 
low priority) to consider a mechanism for including the 
chain-config.xml in the JAR and having it be auto-discovered.

Joe

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


Re: Chain enhancement idea

2004-11-24 Thread Don Brown
Not you personally BaTien, I don't understand why some people seem to 
confuse Inversion of Control (IoC) and Chain of Responsibility (CoR), 
and worse, think they are somehow solving the same problem.  IoC helps 
us create components by managing their lifecycle and providing their 
dependencies.  CoR defines a process that let's us flexibly specify what 
code to execute in what order.

Sure, commons-chain does provide the default capability to create 
commands and configure them with simple properties, but that isn't its 
purpose and would certainly be replaced in any moderately complex usage, 
most likely by some sort of IoC.  It's like saying a HashMap conflicts 
with a SQL database as they both store data.  They are two very 
different things with very different problems they are trying to solve.

Don
BaTien Duong wrote:
Craig McClanahan wrote:
On Tue, 23 Nov 2004 14:20:02 -0600, Joe Germuska [EMAIL PROTECTED] 
wrote:
 

  

I need to have a hook into processValidate() on validation failure.
Currently that can only be done by copy-and-pasting the 
processValidate()
method from RequestProcessor into a subclass and sticking a hook 
into the
middle of the code.

When I asked about this on the dev list long ago, it was confirmed 
that
there was no other way to do this, but that chain would eventually 
provide
this flexibility.

If the chain isn't configured at a fine-grain level, then it's not 
all that
much more functional than the existing RequestProcessor.

The chain is configured at as fine-grained a level as you like, in
XML.  Hubert is talking about configuring the chain programatically
as well, or at least in some way independent of the configuration of
the primary processing chain.
  

Programmatic configuration is certainly feasible ... there's no
requirement in [chain] that you use the XML format at all.  It's just
one option.
 

Greetings and request expert advice:
Commons-chain invented by Craig proves to be very flexible and work in 
conjuction with other great technonologies. What i am trying to figure 
out is a proper and practical places for using CoR and IoC (such as 
Spring framework) in the construction and configuration of software 
objects. I put out some of my preliminary thinking and hope some 
experts care to add more arguments to enlighten us.

1) Both CoR and IoC (and also Jsf setter injection) enable the 
configuration and linking objects via XML metadata. But IoC allows the 
object configuration at a finer level of object attributes and take 
care of the objects declared as singleton. In this sense, IoC is finer 
grain than CoR in object creation, configuration and management.

2) CoR is very light weight and appropriate for programmatically 
created processes. It does not not have the complexity and the depth 
of plug-in features as Spring IoC.

3) CoR is finer grain than IoC in the construction and rounting of 
services within and between software layers, while IoC is aprropriate 
at the application level.

4) If we want to combine Jsf as view controller, Spring IoC and 
commons-chain CoR, a practical infrastructure may be something like 
followings:
   a) Jsf as a view controller takes care of objects directly related 
to User Interface (UI)
   b) Spring IoC takes the responsibility of object creation, 
especially singletons and fine grain configurations of objects not 
directly related to UI. This is a proper choice of configuration if 
other features of Spring framework such as application level event and 
aop are used.
   c) CoR is used to construct Front Controller a la pattern of Struts 
of each software module, the rounting of services among modules, and 
action commands (or chain) of specialized services in each service 
module. It programmatically links created components from IoC to a 
finer grain at each software module, which holds the module Catalog of 
commands.
   d) User session is a proper place for programmatically interactions 
of Jsf, IoC and CoR objects. For example user generated events from 
Jsf is linked through a CoR adapter to dispatch action command as a 
request to appropriate software module (such as 
authentication/authorization, portlet, service, etc) whose responses 
are rendered through Jsf view controller.

BaTien
DBGROUPS

As long as you're willing to copy the base chain-config.xml file and
make a few modifications, then you could simply add your own command
which retrieves a value from the context under a well-known key and
inspects the value to see if validation passed or not.  This exact
logic is the first thing executed in the CreateAction's execute
method, which doesn't lookup or create an action unless the form
validated.
  

There's actually quite a few different ways to approach this,
including the optionally invoke some other command at this point
mentioned earlier in the thread, so you don't even *have* to
cut-n-paste the standard version of the chain.
 

You can start experimenting with commons-chain and struts-chain from
CVS 

Re: Chain enhancement idea

2004-11-24 Thread Don Brown
I look at technology as solutions to problems.  IoC solves the problem 
of how can I define and configure a component external to the component 
and calling code, and CoR tackles the problem of a how can I define a 
process or sequence of processes in a pluggable manner.

True, both patterns have a pluggable property, but both a HashMap and 
a SQL database have a lookup property.  I think what you are getting 
at is, in Struts, we need a way to allow the framework to be easily 
customized by both framework extension projects and users.  Both IoC and 
CoR help us meet that goal, but by solving two different problems that 
work against pluggability.  In Struts, I see the need for allowing the 
user to have more control over the process of events, as well as what 
components are used by that process.  So yes, one goal perhaps, but two 
different problems being solved in two different ways.

Don
Dakota Jack wrote:
Without disagreeing with anything you have said, Don, I think the
confusion is caused in part by the fact that CoR is anticipated in
part for its pluggable nature.  In this respect, there is a real
connection in functionality between CoR and IoC that is not as
attenuated as the one between HashMap and a SQL database but more like
a properties file and a SQL database?  You think?
Jack
On Wed, 24 Nov 2004 10:44:30 -0800, Don Brown [EMAIL PROTECTED] wrote:
 

Not you personally BaTien, I don't understand why some people seem to
confuse Inversion of Control (IoC) and Chain of Responsibility (CoR),
and worse, think they are somehow solving the same problem.  IoC helps
us create components by managing their lifecycle and providing their
dependencies.  CoR defines a process that let's us flexibly specify what
code to execute in what order.
Sure, commons-chain does provide the default capability to create
commands and configure them with simple properties, but that isn't its
purpose and would certainly be replaced in any moderately complex usage,
most likely by some sort of IoC.  It's like saying a HashMap conflicts
with a SQL database as they both store data.  They are two very
different things with very different problems they are trying to solve.
Don

BaTien Duong wrote:
   

Craig McClanahan wrote:
 

On Tue, 23 Nov 2004 14:20:02 -0600, Joe Germuska [EMAIL PROTECTED]
wrote:
   

 

I need to have a hook into processValidate() on validation failure.
Currently that can only be done by copy-and-pasting the
processValidate()
method from RequestProcessor into a subclass and sticking a hook
into the
middle of the code.
When I asked about this on the dev list long ago, it was confirmed
that
there was no other way to do this, but that chain would eventually
provide
this flexibility.
If the chain isn't configured at a fine-grain level, then it's not
all that
much more functional than the existing RequestProcessor.
   

The chain is configured at as fine-grained a level as you like, in
XML.  Hubert is talking about configuring the chain programatically
as well, or at least in some way independent of the configuration of
the primary processing chain.
 

Programmatic configuration is certainly feasible ... there's no
requirement in [chain] that you use the XML format at all.  It's just
one option.

   

Greetings and request expert advice:
Commons-chain invented by Craig proves to be very flexible and work in
conjuction with other great technonologies. What i am trying to figure
out is a proper and practical places for using CoR and IoC (such as
Spring framework) in the construction and configuration of software
objects. I put out some of my preliminary thinking and hope some
experts care to add more arguments to enlighten us.
1) Both CoR and IoC (and also Jsf setter injection) enable the
configuration and linking objects via XML metadata. But IoC allows the
object configuration at a finer level of object attributes and take
care of the objects declared as singleton. In this sense, IoC is finer
grain than CoR in object creation, configuration and management.
2) CoR is very light weight and appropriate for programmatically
created processes. It does not not have the complexity and the depth
of plug-in features as Spring IoC.
3) CoR is finer grain than IoC in the construction and rounting of
services within and between software layers, while IoC is aprropriate
at the application level.
4) If we want to combine Jsf as view controller, Spring IoC and
commons-chain CoR, a practical infrastructure may be something like
followings:
  a) Jsf as a view controller takes care of objects directly related
to User Interface (UI)
  b) Spring IoC takes the responsibility of object creation,
especially singletons and fine grain configurations of objects not
directly related to UI. This is a proper choice of configuration if
other features of Spring framework such as application level event and
aop are used.
  c) CoR is used to construct Front Controller a la pattern of Struts
of each software

Re: Second call: add generic mapped property to ActionConfig (was Re: [chain] ChainAction and o.a.s.chain.legacy.DispatchAction)

2004-11-29 Thread Don Brown
How would this work with digester?  As I understand it, digester is the 
one that actually populates the action config, and then only at init time. 

I sure like the idea, but don't know about the naming style.  What about 
foo.bar where foo corresponds to setFoo(Map m) and foo.bar calls 
m.put(bar)  The more we go down this road of more robust 
configuration/initialization, the more I think we are going to realize 
Spring already does this and does it better.

Don
Joe Germuska wrote:
This may have been lost in the (US) holiday shuffle, or because it was 
tucked into a subject line which might not have indicated a suggestion 
for a change to a relatively core part of Struts.  So  I just thought 
I'd air it one more time before I make any changes to ActionConfig.

Note that the idea of this is simply to minimize the need to write 
custom subclasses of ActionMapping.  The existing configured 
(frozen) semantics would continue to apply to this new property.

Joe
At 3:44 PM -0600 11/23/04, Joe Germuska wrote:
A month ago, Craig added two action classes to struts-chain. Looking 
at them now, I see that they only work with the default or un-named 
catalog.  Is this a serious issue?  Is anyone actually using them 
yet?  I'm just catching up with the named-catalog changes in 
commons-chain, but it seems likely that this will be a limitation. 
Unfortunately, ActionMapping only gives us one parameter slot to pass 
something in, and that's used up with either the name of the command 
or the name of the request parameter which has the command.

Now that I write this, this may be a good opportunity to propose 
adding a simple mapped property to ActionConfig that would allow more 
flexible per-mapping configuration.  This came up on the list before 
(can't remember if I brought it up or not) and I'm pretty sure at 
least one other committer said he thought it was a good idea.  This 
is a pet enhancement request from one of the developers on my team, 
but I think it's a good idea too.  I just don't know if I like any 
naming options, mostly just with the possible confusion between bean 
properties and java.util.Properties.

action-mapping path=/foo 
type=org.apache.struts.chain.legacy.ChainAction
set-property name=props(command-name) value=my-command /
set-property name=props(catalog-name) value=my-catalog /
...
/action

public class ActionConfig {
...
  private java.util.Properties props = new java.util.Properties();
  public void setProps(String key, String value) { 
this.props.setProperty(key,value); }
  public String getProps(String key) { return 
this.props.getProperty(key); }

...
}
Any takers?  Strong opinions about the name of the mapped property? 
Preference for some alternative XML specification with corresponding 
extensions to the struts-config DTD?

Joe
From: craigmcc at apache.org
Subject: svn commit: rev 55393 - 
struts/trunk/contrib/struts-chain/src/java/org/apache/struts/chain/legacy 

Newsgroups: gmane.comp.jakarta.struts.devel
Date: Sat, 23 Oct 2004 18:30:37 +
Author: craigmcc
Date: Sat Oct 23 11:30:37 2004
New Revision: 55393
Added:
struts/trunk/contrib/struts-chain/src/java/org/apache/struts/chain/legacy/ChainAction.java 

struts/trunk/contrib/struts-chain/src/java/org/apache/struts/chain/legacy/DispatchAction.java 

Log:
Add a couple of ways that an Action can delegate its business logic
processing to a Chain (or Command):
* ChainAction - Name of the chain is configured in the action element
* DispatchAction - Name of the chain is specified by a request 
parameter
  (analogous to the standard org.apache.struts.actions.DispatchAction)
--
Joe Germuska   [EMAIL PROTECTED]  http://blog.germuska.com   
Narrow minds are weapons made for mass destruction  -The Ex

-
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]


Spring dreaming (was Second call: add generic mapped property to ActionConfig)

2004-11-29 Thread Don Brown
struts-config.xml accomplishes the following tasks:
1. Defines form models
2. Defines and configures Actions
3. Defines and configures mappings of actions
4. Defines and configures plugins
5. Defines and configures message resources
6. Defines and configures request processor
I see Spring vastly improving, if not completely replacing, #2, #4, #5, 
and #6.  It could even be argued #1 should be moved into a form 
definition file that integrates validator field configuration.

Therefore, I'd imagine a Springified Struts only needing 
struts-config.xml for #3, defining action mappings, with probably 
another configuration element to point to the Spring context/BeanFactory 
file for the module (loaded as a child of a global Spring 
context/BeanFactory) and the bean id's the request process, message 
resources, and plugins can be found under.  

Don
Joe Germuska wrote:
snip /
The more we go down this road of more robust 
configuration/initialization, the more I think we are going to 
realize Spring already does this and does it better.

I suspect you're right, as I have come to prefer Spring's BeanFactory 
to Digester for this kind of thing.  Have you ever looked at 
configuring Struts completely using Spring?  It might be an 
interesting exercise, along with possibly coming up with an XSLT 
process to make current Struts config files usable with Spring!

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


Re: Spring dreaming (was Second call: add generic mapped property to ActionConfig)

2004-11-29 Thread Don Brown
Good point, however the use of intelligent defaults would simplify 
things.  I'd see it this way:

1. struts-config.xml - Defines action mappings. Default config could use 
wildcards to cover 90% of mappings.  Ted's extends idea would also 
help keep it small.
2. forms.xml - Combines dyna action forms and validator rules into one 
logical document.  I suppose this could be combined into 
struts-config.xml.  If so, it would follow Ted's idea of one config file 
DTD to rule them all.
3. spring.xml - Yes, it does define actions, plugins, etc separately 
from struts-config.xml, but this allows you to more easily hook 
application classes into your implementations.  For example, you can 
write an Action that can automatically get reference(s) to your services 
layer or DAO layer.  This is important as it not only makes things 
simpler for the user, but is yet another step that removes the user from 
ever having to work with the application scope.  One feature I really 
like about Tapestry (probably JSF too) is they don't put all sorts of 
application and framework objects in shared scopes.

Tiles could probably be woven into struts-config.xml, and I'm still not 
convinced there is much to be gained from a Struts and JSF combination 
(outside the usual migration arguments).

Don
David Graham wrote:
--- Craig McClanahan [EMAIL PROTECTED] wrote:
 

I agree with Don's assessment, but wanted to add an FYI note -- Shale
does zero-config for #3 (because the mapping between a JSP page and
the corresponding ViewController is implicit), and doesn't require #1
unless you need it for doing Commons Validator stuff.
Simpler is definitely better.
   

But is adding yet another framework to Struts simplifying anything for the
user or just for us developers?  If we add Spring, we would need to know
the following to write a Struts webapp:
1.  struts-config.xml
2.  validator-rules.xml
3.  spring.xml (or whatever they call the config file)
4.  possibly tiles-config.xml
5.  possibly jsf config files
How is learning and remembering up to 5 different configuration files
better for the user?  If I was put in this position, I would seriously
consider other ways of writing Java webapps.
David
 

Craig

On Mon, 29 Nov 2004 10:03:16 -0800, Don Brown [EMAIL PROTECTED] wrote:
   

struts-config.xml accomplishes the following tasks:
1. Defines form models
2. Defines and configures Actions
3. Defines and configures mappings of actions
4. Defines and configures plugins
5. Defines and configures message resources
6. Defines and configures request processor
I see Spring vastly improving, if not completely replacing, #2, #4,
 

#5,
   

and #6.  It could even be argued #1 should be moved into a form
definition file that integrates validator field configuration.
Therefore, I'd imagine a Springified Struts only needing
struts-config.xml for #3, defining action mappings, with probably
another configuration element to point to the Spring
 

context/BeanFactory
   

file for the module (loaded as a child of a global Spring
context/BeanFactory) and the bean id's the request process, message
resources, and plugins can be found under.
Don
Joe Germuska wrote:
 

snip /
   

The more we go down this road of more robust
configuration/initialization, the more I think we are going to
realize Spring already does this and does it better.
 

I suspect you're right, as I have come to prefer Spring's
   

BeanFactory
   

to Digester for this kind of thing.  Have you ever looked at
configuring Struts completely using Spring?  It might be an
interesting exercise, along with possibly coming up with an XSLT
process to make current Struts config files usable with Spring!
Joe
   

-
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]
   


		
__ 
Do you Yahoo!? 
The all-new My Yahoo! - What will yours do?
http://my.yahoo.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: Spring dreaming (was Second call: add generic mapped property to ActionConfig)

2004-11-29 Thread Don Brown
Cause ours is better...duh... ;)
Don
David Graham wrote:
Spring also provides a webapp framework.  Why would a user bother using
Struts with Spring when they could use Spring with Spring?
David
--- Ted Husted [EMAIL PROTECTED] wrote:
 

Spring is designed to instantiate any given object graph, which should
include the Struts configuration objects. It would seem to follow that
we could configure everything in Struts from a Spring configuration
file. If so, then we would not be adding another framework, but using
Spring in lieu of the Digester and an assortment of custom factories.
Is not Spring MVC (which is very much like Struts) configured from a
Spring configuration file?
Ideally, an application should be able to use as many, or as few,
configuration files as it likes.
-Ted.
On Mon, 29 Nov 2004 10:47:07 -0800, Don Brown wrote:
   

Good point, however the use of intelligent defaults would simplify
things.  I'd see it this way:
1. struts-config.xml - Defines action mappings. Default config
could use wildcards to cover 90% of mappings.  Ted's extends idea
would also help keep it small.
2. forms.xml - Combines dyna action forms and validator rules into
one logical document.  I suppose this could be combined into struts-
config.xml.  If so, it would follow Ted's idea of one config file
DTD to rule them all.
3. spring.xml - Yes, it does define actions, plugins, etc
separately from struts-config.xml, but this allows you to more
easily hook application classes into your implementations.  For
example, you can write an Action that can automatically get
reference(s) to your services layer or DAO layer.  This is
important as it not only makes things simpler for the user, but is
yet another step that removes the user from
ever having to work with the application scope.  One feature I
really like about Tapestry (probably JSF too) is they don't put all
sorts of application and framework objects in shared scopes.
Tiles could probably be woven into struts-config.xml, and I'm still
not convinced there is much to be gained from a Struts and JSF
combination (outside the usual migration arguments).
Don
David Graham wrote:
 

--- Craig McClanahan [EMAIL PROTECTED] wrote:
   

I agree with Don's assessment, but wanted to add an FYI note --
Shale does zero-config for #3 (because the mapping between a
JSP page and the corresponding ViewController is implicit), and
doesn't require #1 unless you need it for doing Commons
Validator stuff.
Simpler is definitely better.
 

But is adding yet another framework to Struts simplifying
anything for the user or just for us developers?  If we add
Spring, we would need to know the following to write a Struts
webapp: 1.  struts-config.xml 2.  validator-rules.xml
3.  spring.xml (or whatever they call the config file) 4.
possibly tiles-config.xml 5.  possibly jsf config files
How is learning and remembering up to 5 different configuration
files better for the user?  If I was put in this position, I
would seriously consider other ways of writing Java webapps.
David
   

Craig
On Mon, 29 Nov 2004 10:03:16 -0800, Don Brown
[EMAIL PROTECTED] wrote:
 

struts-config.xml accomplishes the following tasks:
1. Defines form models
2. Defines and configures Actions
3. Defines and configures mappings of actions
4. Defines and configures plugins
5. Defines and configures message resources
6. Defines and configures request processor
I see Spring vastly improving, if not completely replacing,
#2, #4,
   

#5,
 

and #6.  It could even be argued #1 should be moved into a
form definition file that integrates validator field
configuration.
Therefore, I'd imagine a Springified Struts only needing
struts-config.xml for #3, defining action mappings, with
probably another configuration element to point to the Spring
   

context/BeanFactory
 

file for the module (loaded as a child of a global Spring
context/BeanFactory) and the bean id's the request process,
message resources, and plugins can be found under.
Don
Joe Germuska wrote:
   

snip /
 

The more we go down this road of more robust
configuration/initialization, the more I think we are
going to realize Spring already does this and does it
better.
   

I suspect you're right, as I have come to prefer Spring's
 

BeanFactory
 

to Digester for this kind of thing.  Have you ever looked
at configuring Struts completely using Spring?  It might be
an interesting exercise, along with possibly coming up with
an XSLT process to make current Struts config files usable
with Spring!
Joe
 

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


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

Re: Spring dreaming (was Second call: add generic mapped property to ActionConfig)

2004-11-30 Thread Don Brown
Very applicable actually :)

Let's look it this way - what types of information needs to go into
configuration?  I see the following types:

1. Action/Backing bean definitions.  Perferably support for connecting
with business objects.
2. Form/field definitions and validations.
3. ActionForwards/Navigation

My understanding how these are handled by several major frameworks:

Struts 
  1. Actions defined in struts-config.xml.  No support for linking to
business objects.
  2. Forms defined in struts-config.  Validations in validation-rules.xml
  3. ActionForwards in struts-config.xml, no support for navigation

JSF
  1. Backing beans defined in faces-config.xml.  Integration with
Spring to connect to bus objects.
  2. Forms and validations defined in the JSP's.  No support for 1:M
forms (save custom components)
  3. No action forwards as page based.  Navigation information stored
in faces-config.xml

Tapestry
  1. Beans definied in each page's specification xml file.  Support
for bus object linking with hivemind.
  2. Form fields defined in page spec file.  No support for 1:M forms
(save custom components).
  3. No action forwards as page based.  No explicit navigation configuration.

One could argue Tapestry was the simplest, however it could also be
argued the opposite since each page needs its own xml configuration
file.

The question is what and where do we want the user to be able to
configure.  On one extreme of configuration, NanoWeb/NanoWar require
no configuration as the framework handles everything.  On the other
side, Struts seems to require configuration for everything.  The
better approach depends on your objectives and requirements, as well
as personal taste.

I'd argue Struts should continue to provide the maximum flexibility,
but search for ways to provide intelligent defaults wherever possible
to allow the new developer to be able to pick up Struts quickly, yet
allow the advanced user the capability to customize the framework to
their needs.  I like Ted's one DTD idea to bring everything together,
yet provide import-type capability to let those that perfer multiple
files split out sections.  I also like Spring's idea of separating the
configuration from the code, to allow for alternate configuration
schemes which may not even use XML.  I think we should continue to
strive for flexibility to allow innovative projects like Beehive to
more easily explore new ideas and techniques.

Don


On Tue, 30 Nov 2004 10:47:23 -0600, Durham David R Jr Contr 805
CSPTS/SCE [EMAIL PROTECTED] wrote:
  Writing Java webapps should be easy.
 
 http://www.hacknot.info/hacknot/action/showEntry?eid=45
 
 Kind of a lengthy read, but it seemed appropriate.
 
 - Dave
 
 
 
 -
 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]



Struts API Bean (was Spring dreaming)

2004-11-30 Thread Don Brown
On the topic of a Struts API bean, I completely agree.  We should have 
one bean, probably actually stored in the servlet context, which 
contains references to all the Struts-specific components like 
configuration elements and message resources.  Now this, and the Spring 
topic, do overlap since this API bean could actually be a Spring 
BeanFactory which might be a more flexible approach actually.

This would be separate from the ActionContext idea which would hold 
references to objects necessary for the execution of actions (chain 
context, http request/response, all current Action helper methods, etc).

Ted, in fact, suggested an API bean previously as well, and I believe 
has even started sketching out what one might look like.

Don
Joe Germuska wrote:
While I'm one who has had good experiences with Spring's BeanFactory 
for managing my business objects, maybe we should focus first on 
defining what Struts is and what needs to be configured.  This would 
allow us to move more flexibly to various configuration approaches, or 
conceivably support more than one.

I've been thinking for a while that we should stop storing so many 
things directly in the ServletContext and instead, define a Struts 
object which would hold these things.  I've mentioned this obliquely a 
few times and not gotten much response, so maybe no one else likes the 
idea.  Or maybe it's been too oblique.  Benefits of something like 
this would be reducing dependencies on the Servlet API and providing a 
better environment for testing.

Is there any interest in this, or is it cracked?  If it's not cracked, 
we might also take a longer-term look at abstracting the session, 
which seems tedious, but has some of the same issues.  We may never 
need to truly abstract away the HttpServletRequest, since the Chain 
context will have the same lifecycle and serve about the same purpose.

Now, then:  This whole thread started as a different question and was 
motivated by an earlier question.  Assuming that we continue to use 
Digester to instantiate and populate ActionConfig objects, I would 
like to add a generic mapped property to ActionConfig so that rather 
than writing trivial and boring subclasses of ActionConfig, one can 
simply set properties on it.  I'd make it a Properties because I'd 
expect it to have strings, but I would accept arguments to make it a 
map instead with the idea that later other Objects might get in 
there.  (Ugh, but all that casting!)  Assuming no one objects in the 
next day or two, I'll assume it's ok, and I'll call it props, just 
because I would rather not screw around waiting for another name.

The motivation for this was a perceived flaw in the ChainAction and 
chain DispatchAction classes which won't know in which catalog to look 
for the command either one is supposed to execute.  A generic property 
map would allow the ChainAction to define the name of the properties 
it wants for its configuration, rather than requiring that its 
ActionConfig implement some specific interface just to get one more 
property in.

Joe

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


Re: Second call: add generic mapped property to ActionConfig

2004-11-30 Thread Don Brown
Sure, works for me :)
Don
Joe Germuska wrote:
snip /
Now, then:  This whole thread started as a different question and was 
motivated by an earlier question.  Assuming that we continue to use 
Digester to instantiate and populate ActionConfig objects, I would 
like to add a generic mapped property to ActionConfig so that rather 
than writing trivial and boring subclasses of ActionConfig, one can 
simply set properties on it.  I'd make it a Properties because I'd 
expect it to have strings, but I would accept arguments to make it a 
map instead with the idea that later other Objects might get in 
there.  (Ugh, but all that casting!)  Assuming no one objects in the 
next day or two, I'll assume it's ok, and I'll call it props, just 
because I would rather not screw around waiting for another name.

The motivation for this was a perceived flaw in the ChainAction and 
chain DispatchAction classes which won't know in which catalog to look 
for the command either one is supposed to execute.  A generic property 
map would allow the ChainAction to define the name of the properties 
it wants for its configuration, rather than requiring that its 
ActionConfig implement some specific interface just to get one more 
property in.

Joe

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


Re: Struts API Bean (was Spring dreaming)

2004-12-02 Thread Don Brown
I agree with everything you wrote, however, what I was specifically 
talking about was some sort of storage bean that all the global Struts 
components could be stored in, so we don't have all these Struts objects 
littering the servlet context.  Yes, for each request, a ViewContext 
instance would be created, initialized with this storage bean.

Don
Ted Husted wrote:
The public API bean (where the rubber meets the road) could *not* be stored in application scope, since some of the Struts resources are request and session based. 

The original idea was the ViewContext (fka ConfigHelper) would be created on a per-request basis (like a Velocity tool). The ViewContext might hold references to members in request, session, or application scope, but the ViewContext client doesn't need to know that. All of the tags and tools can then refer to the ViewContext, rather than having to know where all the bodies are buried. The ViewContext interface could be based on the Velocity tools APIs (http://jakarta.apache.org/velocity/tools/struts/). I worked with these guys initially, and they are very tough about defining what you need, but no more. 

Internally, we might want to define an ActionContext that provides the same utility as the Action class and would also include the properties from the ActionForm. The idea being you could recode an Action class to use an ActionContext just by changing the references. 

Aside from the Action, we might also define a ResourceContext subset that could be shared with the business layer. The ResourceContext would include the messaging methods, so that the business layer could create Commons Resources messages (as part of a Command) and return them to Struts. This is an interface that we might define as part of the Commons Resources project, so that it is not tainted as a Struts import. Of course, the ActionContext would implement ResourceContext, so that we can exchange the same object with the business layer. 

All of these interfaces would implement Commons Chain Context (hence the suffix). 

The ActionContext could be called from an ActionCommand interface, a Chain 
Command-like interface with one method:
void Execute(ActionContext context)
Support for conventional Actions would stay in place, but as an alternative, a 
class could implement ActionCommand and unbind itself from the HTTP API.
I would suggest we implement these interfaces as experimental in 1.3.x, so that we can work with them ourselves for a while. In 1.4.x, we could do things like refactor for Spring, and then finalize the new interfaces in 1.5.x. 

I know I should reduce this to code, but I'm away this week, and trying to keep a few balls in the air until I get back. 

Eventually, we may to put a collection of Controller beans in application 
scope, open per module. This might be a place where a BeanFactory might be 
useful, but I think there are some other issues we need to iron out first. 
(Else start the revolution!)
-Ted.
On Tue, 30 Nov 2004 16:00:49 -0800, Don Brown wrote:
 

On the topic of a Struts API bean, I completely agree.  We should
have one bean, probably actually stored in the servlet context,
which contains references to all the Struts-specific components
like configuration elements and message resources.  Now this, and
the Spring topic, do overlap since this API bean could actually be
a Spring BeanFactory which might be a more flexible approach
actually.
This would be separate from the ActionContext idea which would hold
references to objects necessary for the execution of actions (chain
context, http request/response, all current Action helper methods,
etc).
Ted, in fact, suggested an API bean previously as well, and I
believe has even started sketching out what one might look like.
Don
Joe Germuska wrote:
   

While I'm one who has had good experiences with Spring's
BeanFactory for managing my business objects, maybe we should
focus first on defining what Struts is and what needs to be
configured.  This would allow us to move more flexibly to various
configuration approaches, or conceivably support more than one.
I've been thinking for a while that we should stop storing so
many things directly in the ServletContext and instead, define a
Struts object which would hold these things.  I've mentioned
this obliquely a few times and not gotten much response, so maybe
no one else likes the idea.  Or maybe it's been too oblique.
Benefits of something like this would be reducing dependencies on
the Servlet API and providing a better environment for testing.
Is there any interest in this, or is it cracked?  If it's not
cracked, we might also take a longer-term look at abstracting the
session, which seems tedious, but has some of the same issues.
We may never need to truly abstract away the HttpServletRequest,
since the Chain context will have the same lifecycle and serve
about the same purpose.
Now, then:  This whole thread started as a different question and
was motivated by an earlier question

Re: Call me crazy, but I want it all.

2004-12-09 Thread Don Brown
As I understand it, the key to improving the build, be it Maven or Ant, 
is who will get the job done.  There used to be quite a bit of interest 
in a Maven build, and some progress was made toward a conversion, 
however, the work was never completed.  If someone stepped up and 
completed the Maven conversion, it would probably be adopted.  However, 
if someone (Martin?) improved the Ant build to add jar retrieval tasks 
and make it easier to use, it would be adopted instead.

Personally, from what I've seen, there isn't really something Maven can 
do that Ant can't or vice versa, but rather a matter of how easy/elegant 
the solution will be and more importantly, who will do it.

And whoever does it will earn my eternal gratitude. :)
Don
Ted Husted wrote:
It's definitely clean-up time, Jim.
The plan for 1.3.x is to separate the core, taglibs, and apps into separate projects. 

The reason our current Maven build is ineffective is because project layout has grown in the telling. 

The next step is to create standard Maven project layouts for each of the 
subprojects, so that they are easy to build with Maven or Ant.
All someone has to do is make it so.
-Ted.
On Thu, 09 Dec 2004 11:36:10 -0500, James Mitchell wrote:
 

No, this is not spam.
Am I the only one frustrated with our current build situation?
This is my selfish desire for a clean build of all things under
struts/*
A friend and I were discussing some of the recent goings-on and
just for the hell of it I decided to try to build and deploy all of
the example applications: struts-mailreader struts-examples struts-
blank struts-documentation tiles-documentation mailreader-chain
strutsel-exercise-taglib.war struts-faces struts-faces2
Perhaps I'm missing something, but it took me quite a while to do
this from scratch.  I chose to use a common build.properties in my
${user.home} directory.  So I had to constantly go back and forth
adding/changing the jar references.  It seems like almost all of
the build.props.sample files were out of date.  And some builds
used one version of a jar, while others were using an older version.
And to this day, I still cannot deploy the mailreader-chain by
configuring a tomcat context to point to my local mailreader-
chain/target/mailreader.  It keeps barfing, saying it can't find
/WEB-INF/struts-config/struts-config.xml, which, if I zip up the
directory and deploy it to webapps, it's fine. :(
What's even more confusing is how different the maven project jar
dependencies are vs the ant jar for the SAME PROJECT.  Can you say
CLEAN UP TIME?
When you look at each piece of the puzzle individually, they look
fine.  But when you try to put the entire puzzle together, it's
pretty nasty.
Anyway, sorry for venting.
Is there any interest in cleaning some of this up?
Can we remove all the maven build stuff?  Since:
a) Our Maven build does nothing except build a source and binary
dist of struts.jar
b) Our ant build does everything that needs to be done (and then
some) c) Craig does the nightly builds and has no interest in
changing to maven
Note: Before anyone flames me, I actually prefer Maven over Ant for
all new projects, it's just not working for us here and now.
Also, why do we have so many copies of the mailreader example all
over the place?  Why can't we just keep one copy and have a build
that can handle building for core or chain or shale or xyz?
--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx

- 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]
 


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


Re: commons-chain: joining with struts

2004-12-15 Thread Don Brown
The summary of our discussion, as I understand it, would be to create a 
ActionContext, which would not be a subclass of any commons-chain 
contexts, but would contain the commons-chain, probably WebContext 
instance available via a getter.  This would allow us to have one 
ActionContext instance, and not have to subclass the different faces, 
portlet, and servlet instances.  The Action class would be replaced by 
an Actionable (name not decided) interface which would have one method, 
execute(ActionContext ctx).  This ActionContext would also have 
basically all the methods from Action like saveToken(), etc.

Don
Joe Germuska wrote:
As one of the Struts developers who is very keen on moving 
chain-integration forward, I'll say a few brief words.  I'm not on the 
commons-user list, but I will say that Sean's right that this 
discussion is best suited to struts-dev.   (I'll leave commons-user on 
this message, but I'd encourage anyone else who responds to only reply 
to [EMAIL PROTECTED])

Anyway, we've talked about a StrutsWebContext, and in fact, we've 
talked about a few different subclasses of o.a.c.chain.Context for use 
in different phases of the request process.  You may want to look 
through the mailing list archives, as this has been a pretty active 
topic of discussion in the last 2-3 months.

Now that Chain has hit a full release, we are definitely planning on 
moving ahead with changing the default request processor in Struts to 
be based on commons-chain.  The struts-chain project which is 
currently available from the subversion repository is a very healthy 
working implementation.  The migration to the Struts core will mostly 
involve building in a mechanism for initializing any number of 
catalogs (obsoleting a Plugin class which does it in struts-chain).

But I absolutely agree that it makes sense to make type-safe 
subclasses of Context which clarify the names and types of important 
participants in the Struts request processing chain.  I would only 
argue that we'd probably like to keep Web from being too visible, as 
we feel in Struts that it would be good to decrease explicit 
dependencies on the Servlet API.

Best,
Joe
At 1:18 PM -0500 12/15/04, Sean Schofield wrote:
Pedro,
A StrutsWebContext class might be an interesting idea.  If adopted, it
should go in the struts-chain project as opposed to commons-chain.  (I
am sending a copy of this response to the struts-dev mailing list
which is probably the best place to propose this kind of enhancement).
I'm not sure how useful it would be to have the ActionForm in your
commands but I don't work a lot on struts-chain so maybe others have
an opinion on that.
If you decide to go ahead with submitting an official patch (or just
using it in your own projects) the code should probably be modified to
take advantage of recent changes to commons-chain.
Specifically, you can now use CatalogFactory to get a copy of the
catalog you're interested in.  Just make sure to setup the
o.a.c.c.w.ChainListener with the appropriate parameters, and it will
configure the catalog when the webapp starts and it will automatically
be available to any java class using the same class loader (including
your proposed CommandAction).


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


Re: commons-chain: joining with struts

2004-12-15 Thread Don Brown
ActionContext could certainly, and probably will be, a subclass of 
o.a.c.c.Context but my point is it will not be a subclass of the 
ServletWebContext, which struts-chain creates and passes through its 
commands.

Don
Vic wrote:
Ah... can someone educate me as to why not just subclass chain 
context, would it not let you just do the same thing you said bellow?
(and w/o servlet api).

.V
Don Brown wrote:
The summary of our discussion, as I understand it, would be to create 
a ActionContext, which would not be a subclass of any commons-chain 
contexts, but would contain the commons-chain, probably WebContext 
instance available via a getter.  This would allow us to have one 
ActionContext instance, and not have to subclass the different faces, 
portlet, and servlet instances.  The Action class would be replaced 
by an Actionable (name not decided) interface which would have one 
method, execute(ActionContext ctx).  This ActionContext would also 
have basically all the methods from Action like saveToken(), etc.

Don


-
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]


Subproject web pages

2004-12-16 Thread Don Brown
I added the struts-bsf as a Struts subproject, and am now looking to 
create a website for it to add to the Struts site.  How should I go 
about this?  Will it be built with Anakia?  Should it be created as part 
of the Struts site build? 

Thanks for the help.
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Subproject web pages

2004-12-16 Thread Don Brown
Martin Cooper wrote:
On Thu, 16 Dec 2004 21:18:16 -0800, Don Brown [EMAIL PROTECTED] wrote:
 

I added the struts-bsf as a Struts subproject,
   

Strange - the only commit message I've seen is the one to remove
.cvsignore files. I would have expected to see an add message...
 

The commit message was huge (100k) so the mail server rejected the 
message.  I can forward it to you if you wish. :)

 

and am now looking to
create a website for it to add to the Struts site.  How should I go
about this?  Will it be built with Anakia?  Should it be created as part
of the Struts site build?
   

For now, I think the expedient thing to do is to add it to the regular
site build. At some point, I'd like to see us have a separate 'site'
subproject that each of the other subprojects contribute to,
including 'core'. This will also force us to think about what is
documentation (e.g. user guide) and what is web site (e.g. most of the
stuff in the nav bar on the Struts site other than the Documentation
section),  get away (I hope) from a war file as our means of
publishing documentation (and the site), and come up with a better way
of updating the site reliably. But that's a future itch, for another
day. ;-)
 

Ok, I'll add the files to the main Struts site.  Thanks.
Don
--
Martin Cooper
 

Thanks for the help.
Don
-
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]
 


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


Struts chain integration

2004-12-16 Thread Don Brown
Who is working on bringing Struts chain into Struts core?  If no one, I 
wouldn't mind doing the integration. 

I'm thinking about using the ComposableRequestProcessor to keep as much 
backwards compatibility as possible.  The changes I'm proposing by layer:

web.xml
- A chainConfig parameter to override default catalog.  If none 
specified, a default chain config will be loaded from the Struts jar. 
- A chainCommand parameter to specify the command to execute if none 
specified in modules (optional)

struts-config.xml
- The default request processor class would now be 
ComposableRequestProcessor, but the legacy ones would still be available 
(deprecated)
- The controller would have additional optional attributes:
   - chainConfig - path of chain config to override default chain 
catalog.  Cannot be used if catalog is specified.
   - catalog -  name of servlet context attribute to locate catalog 
for this module.  Cannot be used of chainConfig is used.
   - command - name of command to execute.  Overrides default chain 
command name.
- Remove the need for the chain plugin

Of course, if someone is already doing the integration, ignore this.  
Otherwise, comments appreciated.  I'll target the integration Sunday or 
Monday if I don't hear different.

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


Any objections to adding Ant get's to build.xml?

2004-12-16 Thread Don Brown
I'm setting up Struts to build from Ant (again), and have to go through 
the hassle of setting up build.properties.  When I brought struts-bsf 
in, I changed its build.xml to, if a lib directory didn't exist, 
create one and use Ant's get task to pull the jars from ibiblio.  It 
wouldn't be a long term solution to our building woes, but I figure if I 
have to go through the pain of setting up build.properties, I might as 
well make it easier for the next guy/gal.

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


Re: Struts chain integration

2004-12-16 Thread Don Brown
Martin Cooper wrote:
On Thu, 16 Dec 2004 21:47:53 -0800, Don Brown [EMAIL PROTECTED] wrote:
Who is working on bringing Struts chain into Struts core?  If no one, I
wouldn't mind doing the integration.

I've been wondering the same thing. I have not done anything myself
yet, so I'd be happy for you to take this on. ;-)

I'm thinking about using the ComposableRequestProcessor to keep as much
backwards compatibility as possible.  The changes I'm proposing by layer:
web.xml
- A chainConfig parameter to override default catalog.  If none
specified, a default chain config will be loaded from the Struts jar.
- A chainCommand parameter to specify the command to execute if none
specified in modules (optional)

I'm probably misunderstanding something, but
ComposableRequestProcessor uses two context initialisation params for
these already. Those names and default values seem fine to me.
The idea of these in web.xml is the ability to specify a custom 
chainConfig that would be used as the default for all modules; same with 
the command name.  My goal would be to make it possible to use an 
existing Struts 1.1/1.2 app without any changes.  To meet this goal, all 
these configuration options are optional and defaults will be used if 
necessary.


struts-config.xml
- The default request processor class would now be
ComposableRequestProcessor, but the legacy ones would still be available
(deprecated)

+1. One thing that I'm a little confused about, though, is that the
new request processor is (currently) in a package that includes
'legacy'. Anyone know why that is?

- The controller would have additional optional attributes:
  - chainConfig - path of chain config to override default chain
catalog.  Cannot be used if catalog is specified.

Why would we need this, in addition to the catalog (below)?

  - catalog -  name of servlet context attribute to locate catalog
for this module.  Cannot be used of chainConfig is used.

Shouldn't this just be the catalog name, now that Chain has named catalogs?
You could be right, I haven't looked into named catalogs so perhaps that 
would be the catalog name.  The chainConfig optional would be to let 
the user specify a custom chain-config.xml file for that module 
(overriding the default chain catalog).


  - command - name of command to execute.  Overrides default chain
command name.

Do the above controller config attributes override the web.xml ones,
or, if not, how do they inter-relate?
As mentioned above, these module-level configurations are all optional, 
and if specified, would override defaults possibly specified in web.xml.

Don

- Remove the need for the chain plugin

Yup.
If any of the above are stupid questions, my excuse is that I'm really
tired, and probably shouldn't be replying tonight at all... ;-)

Of course, if someone is already doing the integration, ignore this.
Otherwise, comments appreciated.  I'll target the integration Sunday or
Monday if I don't hear different.

Sounds great!
--
Martin Cooper

Don
-
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]

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


Re: Any objections to adding Ant get's to build.xml?

2004-12-16 Thread Don Brown
Cool, I just remembered I can build the website w/o configuring 
build.properties so I'll just put that off.  Good luck on that build 
cleanup *shudder* :)

Don
Martin Cooper wrote:
I'm working on this right now. I have the 'get' stuff done locally,
but there's some other build stuff I want to clean up before I commit
that. (Last night's Cactus property clean-up was part of that.)
--
Martin Cooper
On Thu, 16 Dec 2004 22:10:50 -0800, Don Brown [EMAIL PROTECTED] wrote:
I'm setting up Struts to build from Ant (again), and have to go through
the hassle of setting up build.properties.  When I brought struts-bsf
in, I changed its build.xml to, if a lib directory didn't exist,
create one and use Ant's get task to pull the jars from ibiblio.  It
wouldn't be a long term solution to our building woes, but I figure if I
have to go through the pain of setting up build.properties, I might as
well make it easier for the next guy/gal.
Don
-
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]

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


Re: Subproject web pages

2004-12-17 Thread Don Brown
Ted Husted wrote:
I would say that new subprojects should start with a standard Maven build. 
 

Well, I used Ant for BSF for two reasons:
 1)  That's what I know, and I wouldn't know how to do the custom 
example webapp build procedures in Maven
 2)  Ant is the official build for Core

I'm not against Maven per se so if a Mavenite wants to convert the 
build, I have no objection.

Since the next step for 1.3 is creating subprojects for the core, taglibs, and 
such, I wouldn't worry about integrating it with the Struts build now, since 
the build is going to change for 1.3. It would just be wasted effort.
I would suggest that we keep the subprojects as a separate builds and downloads for now, as we are doing with Struts-Faces. 

For now, we could just slip in a link to the subproject from the main site, until the other changes are made.
 

Good, what's what I did for BSF Scripting.  Is the website updated by 
some cron job, or does a committer have to refresh it?

Don
-Ted.
On Thu, 16 Dec 2004 21:18:16 -0800, Don Brown wrote:
 

I added the struts-bsf as a Struts subproject, and am now looking
to create a website for it to add to the Struts site.  How should I
go about this?  Will it be built with Anakia?  Should it be created
as part of the Struts site build?
Thanks for the help.
Don

- 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]
 


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


[Fwd: svn commit: r122615 - in struts/bsf: . branches tags trunk trunk/src trunk/src/java trunk/src/java/org trunk/src/java/org/twdata trunk/src/java/org/twdata/struts trunk/src/struts-example trunk/src/struts-example/WEB-INF trunk/src/struts-example/WEB-INF/classes trunk/src/struts-example/WEB-INF/classes/org trunk/src/struts-example/WEB-INF/classes/org/apache trunk/src/struts-example/WEB-INF/classes/org/apache/struts trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory trunk/src/struts-example/WEB-INF/scripts trunk/xdocs]

2004-12-17 Thread Don Brown
Author: mrdon
Date: Thu Dec 16 21:24:23 2004
New Revision: 122615
URL: http://svn.apache.org/viewcvs?view=revrev=122615
Log:
Adding struts-bsf at version 0.5-dev with adjustments to remove need
to store jars in repository
Added:
  struts/bsf/
  struts/bsf/.cvsignore
  struts/bsf/branches/
  struts/bsf/tags/
  struts/bsf/trunk/
  struts/bsf/trunk/.cvsignore
  struts/bsf/trunk/build.xml   (contents, props changed)
  struts/bsf/trunk/project.xml
  struts/bsf/trunk/src/
  struts/bsf/trunk/src/java/
  struts/bsf/trunk/src/java/org/
  struts/bsf/trunk/src/java/org/twdata/
  struts/bsf/trunk/src/java/org/twdata/struts/
  struts/bsf/trunk/src/java/org/twdata/struts/BSFManagerFilter.java   
(contents, props changed)
  struts/bsf/trunk/src/java/org/twdata/struts/RequestToVariableFilter.java   
(contents, props changed)
  struts/bsf/trunk/src/java/org/twdata/struts/ScriptAction.java   (contents, 
props changed)
  struts/bsf/trunk/src/java/org/twdata/struts/StrutsInfo.java   (contents, 
props changed)
  struts/bsf/trunk/src/java/org/twdata/struts/TestFilter.java   (contents, 
props changed)
  struts/bsf/trunk/src/struts-example/
  struts/bsf/trunk/src/struts-example/WEB-INF/
  struts/bsf/trunk/src/struts-example/WEB-INF/action.xml   (contents, props 
changed)
  struts/bsf/trunk/src/struts-example/WEB-INF/app.tld   (contents, props 
changed)
  struts/bsf/trunk/src/struts-example/WEB-INF/classes/
  struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/
  struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/
  struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/
  struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/AlternateApplicationResources.properties
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/ApplicationMapping.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/ApplicationResources.properties
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/ApplicationResources_ja.properties
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/ApplicationResources_ru.properties
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/CheckLogonTag.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/Constants.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/ExpiredPasswordException.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/LinkSubscriptionTag.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/LinkUserTag.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/RegistrationForm.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/Subscription.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/SubscriptionForm.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/User.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/UserDatabase.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemoryDatabasePlugIn.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemorySubscription.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemorySubscriptionCreationFactory.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemoryUser.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemoryUserCreationFactory.class
   (contents, props changed)
  
struts/bsf/trunk/src/struts-example/WEB-INF/classes/org/apache/struts/webapp/example/memory/MemoryUserDatabase.class
   (contents, props changed)
  struts/bsf/trunk/src/struts-example/WEB-INF/database.xml   (contents, props 
changed)
  struts/bsf/trunk/src/struts-example/WEB-INF/scripts/
  

extends (was Struts chain integration)

2004-12-17 Thread Don Brown
Personally, I favor the approach Cocoon takes to modules.  Cocoon is 
configured to use one sitemap (config file), but that sitemap can mount 
or include other sitemaps through the mount element.  See 
http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html#Mounting+sitemaps

Using wildcards, we could support a mount element which would 
basically mount a module config.  mount could also be used as an 
include to include another struts config file full of definitions for 
the current module.  Therefore, a module mount in Struts would look like 
this:

action-mapping path=foo/*
 mount uri-prefix=foo src=/WEB-INF/struts-config-foo.xml /
/action-mapping
This simplifies the config and, IMO, makes the module design much more 
readable and straight-forward.

Getting back to the extends idea, if we adopted an approach like 
described above, the main config file could have configuration elements 
that would automatically be inherited by modules, unless overridden.  
This would also let us break up config files for single modules, and 
even enable module hierarchies.  Course the devil is in the 
implementation details :)

Don
Martin Cooper wrote:
snip /
I'm not keen on adding init params in general, and even less keen on
adding such params that take lists of files.
I do think we need to have a mechanism for specifying global stuff,
but I think we can come up with a better way. For example, I don't
like that I have to replicate the controller config in each module's
struts-config.xml in a multi-module app. That's error prone.
We've talked about allowing for extend for things like form bean
definitions. What about having this concept right at the top of the
config scheme? So I could define a global struts-config.xml file
(which wouldn't be used directly by any module), and then extend
that file to provide module-specific config files.
If we added an optional section to struts-config, we could then
specify a list of Chain config files in there.
 

I would suggest skipping the chainConfig and chainCommand parameters
in the web.xml in favor of explicitly setting them in each
controller.  Too many config options can be more trouble than they
are worth.
   

+1
 

The discussion of how to configure the Controller or the
RequestProcessor touched off a lot of talk earlier on struts-dev, but
I'd be happy to settle for two properties on ControllerConfig just to
move forward.
   

struts-config.xml
- The default request processor class would now be
ComposableRequestProcessor, but the legacy ones would still be available
(deprecated)
 

+1. One thing that I'm a little confused about, though, is that the
new request processor is (currently) in a package that includes
'legacy'. Anyone know why that is?
   

I don't know, but I think we should move it out to
o.a.s.chain.ComposableRequestProcessor.
   

Fine with me.
 

- The controller would have additional optional attributes:
 

I think the controller should simply have optional command and
catalog attributes which would be used like this:
CatalogFactory.getCatalog(catalog).getCommand(command)
if no catalog is specified, the default catalog is retrieved with
getCatalog().  If no command is specified, then these default values
would be used:
catalog = struts
command = servlet-complete
   

I believe that's what's in place now.
 

If catalog were specified without a command, an exception would be thrown.
I am still inclined to package most of what is now struts-chain
separately from the core.
   

I'm not so sure I agree here. Most, if not all, of the commands you
list below are used by the chain that you suggest as a default above.
I think if we want the ComposableRequestProcessor to be the default
for 1.3, we really need to keep the commands in the core as well.
However, I do think they should be pushed into a separate package.
Just as we have o.a.s.actions, we could have o.a.s.chain.commands for
these.
--
Martin Cooper
 

This may be part of why I haven't moved as
quickly.  Here are all the classes in struts-chain:
org.apache.struts.chain.legacy.CatalogConfiguratorPlugIn
becomes obsolete
org.apache.struts.chain.legacy.TilesPlugin
can be made obsolete if we remove the check in the base TilesPlugin
which insists on a specific request processor.  I don't see any
reason not to do that.
org.apache.struts.chain.legacy.ComposableRequestProcessor
org.apache.struts.chain.legacy.DispatchAction
org.apache.struts.chain.legacy.ChainAction
Move these three to core and up to o.a.s.chain
org.apache.struts.chain.AbstractAuthorizeAction
org.apache.struts.chain.AbstractExceptionHandler
org.apache.struts.chain.AbstractExecuteAction
org.apache.struts.chain.AbstractPerformForward
org.apache.struts.chain.AbstractPerformInclude
org.apache.struts.chain.AbstractPopulateActionForm
org.apache.struts.chain.AbstractRequestNoCache
org.apache.struts.chain.AbstractSelectAction
org.apache.struts.chain.AbstractSelectForward
org.apache.struts.chain.AbstractSelectInput

Re: Chain Integration Complete

2004-12-21 Thread Don Brown
ComposableRequestProcessor replaces RequestProcessor in Struts 1.3.x. 
RequestProcessor is still available and could be used by specifying the 
className in the controller config.

Struts 1.2.6 is the latest development release and Struts 1.2.4 is the 
latest stable release, but all new development is taking place in 
struts/core/trunk containing Struts 1.3-dev.

HTH,
Don
Sean Schofield wrote:
I'm still a little fuzzy on the roadmap for struts.  Now that
struts-chain is in the core, does this mean we are moving towards
using struts-chain over the current RequestProcessor?  If so, what
version is this anticipated to happen by? Finally, what is the branch
being used for right now?
TIA to anyone who can help clear this up for me.
sean
On Mon, 20 Dec 2004 23:30:31 -0800, Don Brown [EMAIL PROTECTED] wrote:
As you may have noticed, I've completed the merge of struts-chain with
Struts core (see the commit message for details).  I would like to add
this is meant as a step forward, not as my ultimate vision for how
things should be, meaning if someone doesn't like a configuration
property name or process, please feel free to discuss/change it.
Next up: extracting the taglibs :)
Don
-
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]

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


Re: DispatchChainAction (Struts 1.3)

2004-12-21 Thread Don Brown
You raise a good point.  Unfortunately, only one parameter can be passed 
through ActionMapping.  DispatchChainAction really needs an 
allowedCommands parameter to specify what commands would be allowed. 
Perhaps we could use the new set/getProperty methods available in 
ActionConfig where allowedCommands could be specified.

Don
Benedict, Paul C wrote:
I noticed in Struts 1.3 there is a DispatchChainAction, and the parameter
attribute specifies the name of the chain to execute. Would somebody
consider that a security hole? It seems like anyone could arbitrarily
execute any chain command in the entire Struts app if they knew it -- unlike
a normal DispatchAction whose parameter is only relevant for that Action
class.
Also, I hope there will be a MappingDispatchChainAction too. The
MappingDispatchAction is, in my opinion, the absolute best feature of Struts
1.2 and secures the internals of the app better (i.e., not exposing method
names to the world). However, it seems that it would be impossible to
implement (currently) since the parameter attribute is already in use for
the chain command.
Thanks,
Paul
--
Notice:  This e-mail message, together with any attachments, contains information of 
Merck  Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), 
and/or its affiliates (which may be known outside the United States as Merck Frosst, 
Merck Sharp  Dohme or MSD and in Japan, as Banyu) that may be confidential, 
proprietary copyrighted and/or legally privileged. It is intended solely for the use of 
the individual or entity named on this message.  If you are not the intended recipient, 
and have received this message in error, please notify us immediately by reply e-mail 
and then delete it from your system.
--

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


Extracting taglibs

2004-12-21 Thread Don Brown
My basic assumption in approaching taglibs extraction into its own
subproject is it can reference Struts classes, but Struts classes
shouldn't reference it.
If that is correct, here are the changes I see happening to extract taglibs:
1. Move o.a.s.taglib out into its own subproject src tree
2. Remove methods in RequestUtils that delegate to TagUtils.  They are
marked as deprecated anyways and explicitly say they will be removed
after 1.2.
3. Move properties in o.a.s.taglib.html.Constants that are referred to
in Struts core code into o.a.s.Globals. (cancel and token keys)
4. Move o.a.s.taglib.tiles to o.a.s.tiles.taglib  This one I'm not sure
about.  Should/can tiles be used w/o its jsp taglibs?  If not, then it
should stay in core w/ tiles.  Otherwise, it could be moved out too.
That should be it, as far as I can tell.  taglibs are already pretty
well isolated from the rest of Struts which will make the extraction
pretty straightforward.
I'd like to get this done before Christmas (25th) if there are no
objections.
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Extracting taglibs

2004-12-21 Thread Don Brown
It has been discussed, I believe, to separate Tiles from Struts, but no 
one seemed to know where it would go.  jakarta-commons doesn't want 
taglibs, and for some reason I don't remember, the taglibs project 
wasn't accepted.  It would be kinda funny, though, since Tiles used to 
be its own project that was assimilated into Struts when Struts was 
trying to divest iteself of code into commons.

I mentioned the separation of Tiles from their taglibs as I thought I 
heard somewhere of Velocity being able to use Tiles.  I could be wrong 
though.

Don
Eddie Bush wrote:
Actually, I'd tend to agree with that.  It makes more sense than
separating Tiles and the Tiles taglibs - don't think you'd use the
former without the latter.  Maybe ... but I don't.
On Tue, 21 Dec 2004 20:35:53 -0500, Deadman, Hal [EMAIL PROTECTED] wrote:
Haven't look into this much but it would seem better to have a
completely separate tiles sub-project that struts core would use. Don't
JSF and Spring currently use tiles and have to include struts.jar when
all they really want is tiles?

-Original Message-
From: Don Brown [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 21, 2004 7:51 PM
To: Struts Developers List
Subject: Extracting taglibs
My basic assumption in approaching taglibs extraction into its own
subproject is it can reference Struts classes, but Struts classes
shouldn't reference it.
If that is correct, here are the changes I see happening to extract
taglibs:
1. Move o.a.s.taglib out into its own subproject src tree
2. Remove methods in RequestUtils that delegate to TagUtils.  They are
marked as deprecated anyways and explicitly say they will be removed
after 1.2.
3. Move properties in o.a.s.taglib.html.Constants that are referred to
in Struts core code into o.a.s.Globals. (cancel and token keys)
4. Move o.a.s.taglib.tiles to o.a.s.tiles.taglib  This one I'm not
sure
about.  Should/can tiles be used w/o its jsp taglibs?  If not, then it
should stay in core w/ tiles.  Otherwise, it could be moved out too.
That should be it, as far as I can tell.  taglibs are already pretty
well isolated from the rest of Struts which will make the extraction
pretty straightforward.
I'd like to get this done before Christmas (25th) if there are no
objections.
Don
-
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]




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


Request Bugzilla components

2004-12-21 Thread Don Brown
I'd like to request the following Bugzilla components be added:
 - bsf
 - sandbox
If I do this myself, please point me in the right direction.  Thanks.
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Extracting taglibs

2004-12-21 Thread Don Brown
Martin Cooper wrote:
On Tue, 21 Dec 2004 20:25:55 -0800, Craig McClanahan [EMAIL PROTECTED] wrote:
I think a separate subproject for Tiles (including the code and the
tags) probably makes the most sense.

+1

If we don't mind the dependency
back onto Struts, then this could also include the Struts PlugIn that
is currently used to configure it -- although it would probably be
better that this class stay part of Struts so that the Tiles library
could be used stand alone.

I'd prefer to see it the first way - Tiles has a (compile-time)
dependency on Struts, and includes the plugin to be able to work with
Struts. This is analogous to the way Commons Chain has compile-time
dependencies on Servlets, Portlets and JSF, enabling it to work in
those environments if desired. A Velocity adapter could then also live
within Tiles, along with any others that people want to develop.
Having the Struts adapter be a part of Tiles doesn't prevent the Tiles
library from being used standalone any more than the Servlets,
Portlets and JSF adapters for Chain prevent its use outside all of
those environments.
I agree as well.  This lets us follow a consistent approach to 
subprojects, where they may (and probably should) link to Struts core, 
but Struts core should not depend on them.

As for extracting Tiles, I don't mind doing the work along with the 
taglibs, but I'll let someone more experienced with Tiles do the work to 
make it more useful as a standalone component.

Don

In addition, there should be mechanisms to configure the Tiles
definitions even if Struts is not present, via TilesServlet (which I
believe already exists?) and/or a new ServletContextListener
implementation since we're willing to use Servlet 2.3.

+1
--
Martin Cooper

Craig
On Tue, 21 Dec 2004 18:29:43 -0800, Don Brown [EMAIL PROTECTED] wrote:
It has been discussed, I believe, to separate Tiles from Struts, but no
one seemed to know where it would go.  jakarta-commons doesn't want
taglibs, and for some reason I don't remember, the taglibs project
wasn't accepted.  It would be kinda funny, though, since Tiles used to
be its own project that was assimilated into Struts when Struts was
trying to divest iteself of code into commons.
I mentioned the separation of Tiles from their taglibs as I thought I
heard somewhere of Velocity being able to use Tiles.  I could be wrong
though.
Don
Eddie Bush wrote:
Actually, I'd tend to agree with that.  It makes more sense than
separating Tiles and the Tiles taglibs - don't think you'd use the
former without the latter.  Maybe ... but I don't.
On Tue, 21 Dec 2004 20:35:53 -0500, Deadman, Hal [EMAIL PROTECTED] wrote:

Haven't look into this much but it would seem better to have a
completely separate tiles sub-project that struts core would use. Don't
JSF and Spring currently use tiles and have to include struts.jar when
all they really want is tiles?

-Original Message-
From: Don Brown [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 21, 2004 7:51 PM
To: Struts Developers List
Subject: Extracting taglibs
My basic assumption in approaching taglibs extraction into its own
subproject is it can reference Struts classes, but Struts classes
shouldn't reference it.
If that is correct, here are the changes I see happening to extract
taglibs:
1. Move o.a.s.taglib out into its own subproject src tree
2. Remove methods in RequestUtils that delegate to TagUtils.  They are
marked as deprecated anyways and explicitly say they will be removed
after 1.2.
3. Move properties in o.a.s.taglib.html.Constants that are referred to
in Struts core code into o.a.s.Globals. (cancel and token keys)
4. Move o.a.s.taglib.tiles to o.a.s.tiles.taglib  This one I'm not
sure

about.  Should/can tiles be used w/o its jsp taglibs?  If not, then it
should stay in core w/ tiles.  Otherwise, it could be moved out too.
That should be it, as far as I can tell.  taglibs are already pretty
well isolated from the rest of Struts which will make the extraction
pretty straightforward.
I'd like to get this done before Christmas (25th) if there are no
objections.
Don
-
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]



-
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]


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

-
To unsubscribe, e-mail

Re: Extracting taglibs

2004-12-21 Thread Don Brown
FWIW, so far, I extracted tiles and taglib into their own projects, and 
got both core and taglib compiling (haven't tried tiles yet).  It took 
the steps I described earlier as well as moving some methods from 
TagUtils back into ResponseUtils.  Of course, if ResponseUtils has been 
dreprecated long enough, I could remove that and make things a lot 
easier.  I have yet to migrate all the tests, but that should be 
straightforward.

Don
Craig McClanahan wrote:
On Tue, 21 Dec 2004 20:45:03 -0800, Don Brown [EMAIL PROTECTED] wrote:

I agree as well.  This lets us follow a consistent approach to
subprojects, where they may (and probably should) link to Struts core,
but Struts core should not depend on them.

I hope this can actually be accomplished ... but I recall playing
around with this particular separation when we had our testbed
Subversion installation, and the interdependencies were much more
invasive than I would have originally expected ... to the point that I
deferred actually finishing this particular separation (since I was
mostly focused on whether SVN made sense).
Craig

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


Re: Extracting taglibs

2004-12-22 Thread Don Brown
:)  Actually, in the extraction I performed so far, I did just that and 
moved TilesPreProcessor into the o.a.s.tiles.commands package.  There 
was one other class, o.a.s.actions.RedeployableActionServlet that I 
moved into o.a.s.tiles since it was full of references to 
TilesRequestProcessor.

Don
Joe Germuska wrote:
At 10:24 PM -0800 12/21/04, Don Brown wrote:
FWIW, so far, I extracted tiles and taglib into their own projects, 
and got both core and taglib compiling (haven't tried tiles yet). It 
took the steps I described earlier as well as moving some methods from 
TagUtils back into ResponseUtils.  Of course, if ResponseUtils has 
been dreprecated long enough, I could remove that and make things a 
lot easier.  I have yet to migrate all the tests, but that should be 
straightforward.

I too think making a separate tiles subproject is a good idea.  It does 
mean, though that we may want to move the TilesPreProcessor command out 
of the core, which then a dependency on commons-chain to tiles...  but I 
do think that Struts shouldn't depend on subprojects.

Or maybe this is another reason to package the commands separately from 
the core?  That is *not* intended as any kind of i told you so, please 
don't read any kind of nagging into it!

Joe

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


Re: ViewUtils and UtilityFactory (was Extracting taglibs)

2004-12-22 Thread Don Brown
coming soon?  Is that an offer?  :) I like the API bean aka 
ViewContext aka ConfigHelper and agree it is a better solution.  Reading 
over the API bean thread, Ted has convinced me this bean would actually 
be created for each request probably somewhere early in the chain. 
While it could be passed around via the Context, I'd vote to also store 
it in ThreadLocal so we could call ViewContext.getCurrentInstance() at 
any point.

Assuming we'd have a CreateViewContext chain command, would we pass in 
the class names to instantiate for RequestUtils and ViewUtils as command 
attributes in the config?  This would allow the util implementation to 
not only be module scoped but request scoped if desired since the user 
can have complete control over the chains.

Don
Joe Germuska wrote:
At 12:33 PM -0800 12/22/04, Don Brown wrote:
What about having a UtilityFactory class that provides RequestUtils 
and ViewUtils?  It goes without saying we'd deprecate the static 
methods and delegate to new, non-static methods on an instance pulled 
from this factory.  Does Struts have a consistent approach to 
factories and allowing code to replace the factory implementation? I 
know this would be a good opportunity to put Spring into the mix, but 
perhaps an abstract factory would be a good first step in abstracting 
implementation from usage.

My first reaction is that an abstract factory is wasted effort if a 
Struts API bean is coming soon.  I'd be more inclined to have something 
in the ActionServlet's initialization create and populate a Struts 
with the understanding that how the Struts is populated is a moving 
target.  Eventually, I think you and I would agree on a vision which has 
Spring instantiate the Struts and set its requestUtils and 
viewUtils properties with implementation classes.

Or are these utils module-scoped?
Unless you're talking about a factory for the Struts object itself -- 
I just wouldn't want to see a proliferation of different factories when 
the end goal would probably make them obsolete...

Joe

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


Re: ViewUtils and UtilityFactory (was Extracting taglibs)

2004-12-22 Thread Don Brown
The problem with putting code like that into a command, is what if 
someone wants to replace the populate command, but doesn't want to 
re-invent the multipart stuff?  I think there is a place for service 
functions, call them utils or whatever, implement common routines that 
one or more commands take advantage of.

I agree these routines should not be lumped into one or two huge util 
classes.  Ideally, these functions would be grouped into logical service 
classes fronted by interfaces, allowing multiple implementations.  To 
pull of something like that cleanly, however, I believe we'd have to 
fully adopt an IoC/DI container like Spring.

Don
Niall Pemberton wrote:
If a user requires a request scoped behaviour then wouldn't it be better
if this was implemened in a Command rather than Utils? In my mind Utils
should be more of a Global thing thats overriden rarely. I think one of the
problems with current Struts is that sometimes too much has been put into
utils. Take the  form population as an example - whats in the RequestUtils
populate method is mainly a load of stuff to handle mutipart parameters -
then it just calls BeanUtils. The multipart stuff IMO would have been better
keeping it in the RequestProcessor and in 1.3 should be in a Command. In my
mind thats the great thing about the 1.3 Chain stuff in that there is less
need to factor out stuff into Utils since plugging in different behaviours,
re-using and overriding becomes much simpler. I'd like to see whats in Utils
become smaller and more tightly focused as small fragments of common code.
Niall
- Original Message - 
From: Don Brown [EMAIL PROTECTED]
To: Joe Germuska [EMAIL PROTECTED]
Cc: Struts Developers List dev@struts.apache.org
Sent: Wednesday, December 22, 2004 9:17 PM
Subject: Re: ViewUtils and UtilityFactory (was Extracting taglibs)


coming soon?  Is that an offer?  :) I like the API bean aka
ViewContext aka ConfigHelper and agree it is a better solution.  Reading
over the API bean thread, Ted has convinced me this bean would actually
be created for each request probably somewhere early in the chain.
While it could be passed around via the Context, I'd vote to also store
it in ThreadLocal so we could call ViewContext.getCurrentInstance() at
any point.
Assuming we'd have a CreateViewContext chain command, would we pass in
the class names to instantiate for RequestUtils and ViewUtils as command
attributes in the config?  This would allow the util implementation to
not only be module scoped but request scoped if desired since the user
can have complete control over the chains.
Don
Joe Germuska wrote:
At 12:33 PM -0800 12/22/04, Don Brown wrote:

What about having a UtilityFactory class that provides RequestUtils
and ViewUtils?  It goes without saying we'd deprecate the static
methods and delegate to new, non-static methods on an instance pulled
from this factory.  Does Struts have a consistent approach to
factories and allowing code to replace the factory implementation? I
know this would be a good opportunity to put Spring into the mix, but
perhaps an abstract factory would be a good first step in abstracting
implementation from usage.

My first reaction is that an abstract factory is wasted effort if a
Struts API bean is coming soon.  I'd be more inclined to have something
in the ActionServlet's initialization create and populate a Struts
with the understanding that how the Struts is populated is a moving
target.  Eventually, I think you and I would agree on a vision which has
Spring instantiate the Struts and set its requestUtils and
viewUtils properties with implementation classes.
Or are these utils module-scoped?
Unless you're talking about a factory for the Struts object itself -- 
I just wouldn't want to see a proliferation of different factories when
the end goal would probably make them obsolete...

Joe

-
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]

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


Re: [struts-faces] JSF integration into Struts

2004-12-23 Thread Don Brown
Craig McClanahan wrote:
On Thu, 23 Dec 2004 12:31:19 -0800, Don Brown [EMAIL PROTECTED] wrote:
snip /
If that is correct, would it be possible to implement JSF within Struts
chain?  Could a JSF implementation be decomposed into chain commands,
and therefore allow the user to mix and match?

You'd have to replace the standard implementation of JSF's Lifecycle
API while still ensuring that the JSF based functioning happens in the
correct order.  To my mind, it's easier to decompose what Struts does
and bolt it onto JSF (basically the direction Shale is taking) versus
the other way.
I guess what I have in mind is the JSF integration approach Cocoon 
takes.  Every request enters Cocoon, then certain pipelines can choose 
to hand the request off to JSF.  Conceptually, I think it is a better 
fit with the advantages of the respective frameworks.  Cocoon and Struts 
excel at a request-based approach, so it is a natural fit for them to be 
the controller for all requests, JSF or not.  JSF, as an event-based 
framework, is a fine solution for components or complex, event-based 
pages.

The end game here would be to make Struts a universal controller 
implementation that could front-end JSF, Cocoon (as it can do now with 
the Struts Cocoon plugin), continuations-based frameworks, or any other 
more specialized controller implementation.  IMO, chain is great for a 
universal controller backbone, but poor/too-generic for an 
application-level controller framework.  Not every request/workflow 
might be appropriate for JSF, but by putting it behind Struts, the 
developer has the option how best to handle it.


I guess where I'm going with this is one of the huge advantages of an
event-based view framework like JSF is the ability to have
self-contained, complex components.  On the other hand, I think
event-based approaches are poor at handling complex workflows as code
has to be split up into different event methods.  It seems like a
perfect marriage would be event-based framework for the components, but
continuations-based framework for application events and actions.

Stay tuned next week for a Shale checkin that addresses the complexity
of managing dialogs -- I've made some good progress fleshing that out.
 Continuations are definitely a good way to deal with serial workflows
like a wizard dialog, and I'd like to see us continue to explore that
avenue -- it's just not (yet?) obvious to me that they are optimal for
workflows with lots of branches in them.
Consider, for example, a dialog for handling authentication at a
portal that also allows self-registration and remember me cookies. 
The various paths through this logic are essentially the same as the
front parts of MailReader (up to where you get to the main menu), plus
a bypass branch if the user's cookie is still there.  For extra fun,
assume that the process of collecting user profile info takes multiple
screens, and that the user might at any point cancel the whole thing
(meaning no updates should show up in any database).
Actually, I think continuations really excel at workflows that involve 
branches, because the power of a full scripting language is more capable 
of handling such complex logic, as opposed to say a workflow system 
based on XML.

All continuations really do is help you script the sequence of pages and 
connect them into a logical process.  In your example, the logic for 
pulling authentication information out of cookies or a form POST would 
be extracted to a Java class or helper Javascript method for simpler 
apps.  Continuations would help with the multistep process of collecting 
information.  Probably, it would go something like this:

if (!loginThroughCookies()) {
  while (true) {
showPageAndWait(login);
if (context.requestParams[register] != null) {
  showPageAndWait(login1);
  if (context.requestParams[cancel] != null) {
continue;
  }
  showPageAndWait(login2);
  if (context.requestParams[cancel] != null) {
continue;
  } else {
registerUser();
  }
} else if (loginThroughForm()) {
  break;
}
  }
}
// This step could also call the mainMenu function to start that
// workflow
showPageAndWait(mainMenu);
Keep in mind, I'm very new at continuations, so I'm sure someone more 
knowledgable could make something simplier.  One improvement is if you 
use the Wizard framework I created for struts-flow, it would be even 
simpler because the wizard framework would automatically handle HTML 
form button clicks that went to the previous step.

Don


By decomposing JSF into commands, JSF could handle events from its
components, but application processes would be handled on a request
basis with Action's, continuation-capable flows, or whatever.  I suppose
this would not be a real JSF implementation since JSF concepts like
navigation wouldn't be used.

Yep ... in that respect it would be like the current integration
library, bypassing that feature of JSF.  Or, you could plug

Taglibs and Tiles Extraction Issues

2004-12-24 Thread Don Brown
I've made further progress in extracting tiles and taglibs, and have run 
into several issues I'd like to get some feedback on.

1. Tiles depends on TagUtils in taglibs.  Tiles' version of TagUtils has 
a link to taglib's TagUtils.getScope().  I could copy this method over 
(it is a whole 5 lines), but this raises a larger question of subproject 
dependencies and distribution.  Will each subproject have its own 
ibiblio entries?  Ted suggested, and I agree, that subprojects will be 
bundled with Struts releases ala Linux distributions, but how do we 
communicate intra-subproject dependencies?

2. Mock objects.  Currently, Struts contains mocks for the servlet, but 
these classes would be useful for subprojects as well.  I suggest we 
adopt StrutsTestCase, or another test package, as a subproject or dependency

3. Cactus.  I admit, I never got this working, and now with taglibs and 
tiles unit tests requiring Cactus, I'm not sure how to migrate that 
build process over, especially as we await the Ant reorganization Martin 
is working on.  I'm leaning to committing all my changes once I got all 
the code compiling and let someone more knowledgable setup cactus for 
these two subprojects.

Thanks for the help,
Don
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Taglibs and Tiles Extraction Issues

2004-12-25 Thread Don Brown
Martin Cooper wrote:
On Fri, 24 Dec 2004 12:22:33 -0800, Don Brown [EMAIL PROTECTED] wrote:
I've made further progress in extracting tiles and taglibs, and have run
into several issues I'd like to get some feedback on.
1. Tiles depends on TagUtils in taglibs.  Tiles' version of TagUtils has
a link to taglib's TagUtils.getScope().  I could copy this method over
(it is a whole 5 lines), but this raises a larger question of subproject
dependencies and distribution.  Will each subproject have its own
ibiblio entries?  Ted suggested, and I agree, that subprojects will be
bundled with Struts releases ala Linux distributions, but how do we
communicate intra-subproject dependencies?

The method is short, but it relies on a map that is set up in a static
initialiser... If we want to make Tiles usable in the absence of
Struts, as some people do, I think we'd have to clone the code within
Tiles.
Well, technically, Tiles would be dependent on Struts-taglibs, not 
Struts core, but I agree, cloning the method is the easiest solution 
here.  I mainly was using it as an opportunity to raise the larger issue 
of subprojects depending on other subprojects.

With respect to ibiblio, I think it would make sense to consider
Struts as a group and Struts subprojects as artifacts within that
group (using Maven terminology here ;).
I think you're asking about inter-subproject dependencies, right? This
is one of the pieces of the build system I haven't yet found a
solution for that I'm happy with. But I'm not sure if you're asking
about that, or about communicating the information to users.

2. Mock objects.  Currently, Struts contains mocks for the servlet, but
these classes would be useful for subprojects as well.  I suggest we
adopt StrutsTestCase, or another test package, as a subproject or dependency

I still haven't taken the time to look at StrutsTestCase. If we used
that for our own testing, I assume, from what you say, that we could
then ditch the mock objects we have today? (What does StrutsTestCase
use for its own unit tests?)
Dunno, but I'll look into it.
Don


3. Cactus.  I admit, I never got this working, and now with taglibs and
tiles unit tests requiring Cactus, I'm not sure how to migrate that
build process over, especially as we await the Ant reorganization Martin
is working on.  I'm leaning to committing all my changes once I got all
the code compiling and let someone more knowledgable setup cactus for
these two subprojects.

It looks like EL solved this by copying the build files. Obviously,
this is, um, less than optimal, but until the new build is ready,
perhaps we should do the same thing. On the other hand, I don't think
we want to put a lot of effort to making this all work when the build
system is changing (hopefully next week).
--
Martin Cooper

Thanks for the help,
Don
-
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]

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


Re: Taglibs and Tiles Extraction Issues

2004-12-25 Thread Don Brown
I don't know about the other Struts folks, but I think this is would be 
a great addition to Tiles.  Initially, the Struts Tiles subproject could 
host Tiles, but as more adapters get added, and perhaps the Tiles 
community enlarges, there would be enough interest in hosting the Tiles 
project somewhere outside of Struts.

As for adapters, the Tiles build could follow the pattern commons-chain 
uses to optionally build adapters as jars are available.  Let me get the 
Tiles subproject setup, then we can start working on integrating this code.

Don
David Geary wrote:
I have extracted a standalone version of Tiles from Struts 1.1. I've 
implemented a TilesServlet for using Tiles outside of Struts and a JSF 
view handler that forwards to a tile instead of a JSP page. I also have 
some cool examples.

I was on the verge of starting an open source project for standalone 
Tiles that would focus on integration with other presentation 
technologies besides Struts, such as JSF, Velocity, Tapestry, etc. I 
want a Tiles version that I can use with JSP only, or with the framework 
of my choice. And I want Tiles to be integrated as smoothly as possible 
with my framework. I don't want to have to drag Struts around to do that.

So, I'm not sure what to do with my code. Do my goals for a standalone 
Tiles align with the goals for the Tiles subproject within Struts?

david
Le Dec 24, 2004, à 3:30 PM, Martin Cooper a écrit :
On Fri, 24 Dec 2004 12:22:33 -0800, Don Brown [EMAIL PROTECTED] wrote:
I've made further progress in extracting tiles and taglibs, and have run
into several issues I'd like to get some feedback on.
1. Tiles depends on TagUtils in taglibs.  Tiles' version of TagUtils has
a link to taglib's TagUtils.getScope().  I could copy this method over
(it is a whole 5 lines), but this raises a larger question of subproject
dependencies and distribution.  Will each subproject have its own
ibiblio entries?  Ted suggested, and I agree, that subprojects will be
bundled with Struts releases ala Linux distributions, but how do we
communicate intra-subproject dependencies?

The method is short, but it relies on a map that is set up in a static
initialiser... If we want to make Tiles usable in the absence of
Struts, as some people do, I think we'd have to clone the code within
Tiles.
With respect to ibiblio, I think it would make sense to consider
Struts as a group and Struts subprojects as artifacts within that
group (using Maven terminology here ;).
I think you're asking about inter-subproject dependencies, right? This
is one of the pieces of the build system I haven't yet found a
solution for that I'm happy with. But I'm not sure if you're asking
about that, or about communicating the information to users.
2. Mock objects.  Currently, Struts contains mocks for the servlet, but
these classes would be useful for subprojects as well.  I suggest we
adopt StrutsTestCase, or another test package, as a subproject or 
dependency

I still haven't taken the time to look at StrutsTestCase. If we used
that for our own testing, I assume, from what you say, that we could
then ditch the mock objects we have today? (What does StrutsTestCase
use for its own unit tests?)
3. Cactus.  I admit, I never got this working, and now with taglibs and
tiles unit tests requiring Cactus, I'm not sure how to migrate that
build process over, especially as we await the Ant reorganization Martin
is working on.  I'm leaning to committing all my changes once I got all
the code compiling and let someone more knowledgable setup cactus for
these two subprojects.

It looks like EL solved this by copying the build files. Obviously,
this is, um, less than optimal, but until the new build is ready,
perhaps we should do the same thing. On the other hand, I don't think
we want to put a lot of effort to making this all work when the build
system is changing (hopefully next week).
--
Martin Cooper

Thanks for the help,
Don
-
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]

-
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: Where should the build system live?

2004-12-25 Thread Don Brown
Martin Cooper wrote:
The new build system will consist of a few shared build files, and a
per-subproject build.xml file. This leads to the obvious question of
where the shared build files should live. There are basically two
options, as I see it:
1) In a 'build' subproject. This is the cleaner option, and the one I
prefer. It does mean that an additional subproject has be to checked
out, but that would be true for all but one subproject in any case,
and an independent 'build' subproject is pretty much guaranteed to be
a lot smaller than any other subproject.
2) In 'core'. The only advantage I see to putting the build system in
'core' is that a single checkout would be enough to build 'core'
itself. However, to build any other subproject, 'core' would need to
be checked out as well. The main disadvantage I see to this option is
that if another subproject comes along that we need to build before
'core', it would be icky to have that subproject depend on 'core' when
'core' depends on it. (This might sound like an unlikely scenario, but
I actually believe that's exactly what would happen if we bring
StrutsTestCase into the fold, since we'd need to build that before
'core' could be built and tested.)
Hmm..this raises an interesting issue.  When you mention build 
dependencies, do you really mean build one project then another in the 
same process, or just that one project would depend on a jar from 
another?  In the case of StrutsTestCase, 1) I don't like Core being 
dependent on a subproject, so perhaps another neutral mock library 
should be used, and 2) even if the Core build depended on 
StrutsTestCase, it would be the latter and use a jar.

As for the build organization, I lean towards 1, but I don't really feel 
strongly one way or another.

Don
So what do people think? My preference, as I said, is (1).
--
Martin Cooper
-
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: [action2] Switching to Dojo widgets

2006-04-14 Thread Don Brown

Ian Roughley wrote:
Ok, I'll be more specific :)  The tags that you use in JSP are directly 
available to other view technologies (freemarker and velocity) due to a 
common underlying component model.  To make this possible they have 
their own MVC design - using a freemarker template as the view.


So you can use any ajax library that you want.  But if you create a new 
UI theme via templates, I think you are better encapsulating the logic.  
SAF/WW is by no means dojo specific, but dojo was the first ajax theme 
implemented, and it looks like the default out of the box.


Ok, that's the theory, but in practice, different toolkits have widgets that support different parameters.  Currently, 
we have a Component class, which has getters/setters for its parameters.  Should this class have accessors for every 
possible parameter?


Take, for example, the date picker widget.  I just switched Action 2 to Dojo's Date picker.  Unfortunately, it has very 
few parameters and supports no localization, however, the component class has a bunch of parameters, all supported by 
the old jscalendar Javascript library.  Do I remove all the unsupported component class parameters and someone let users 
know they won't work, or do I replace them with parameters supported by the new date picker?


Don



/Ian



netsql wrote:


Struts 1.x was view independent.

Is SAF2 (pronounced SafeTy? ;-) ) be dojo specific? Like I could not 
use Tibet w/out fighting the tags?

(or JDNC once they figure that out.)

.V

ps: very exciting to have Ajax built in


Ian Roughley wrote:

This is where my knowledge of dojo falls short, perhaps Martin can 
assist.





-
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]





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



Re: [action2] Switching to Dojo widgets

2006-04-14 Thread Don Brown

Ian Roughley wrote:

This is where my knowledge of dojo falls short, perhaps Martin can assist.

What I was planning on doing was using a compressed JS profile of dojo, 
and removing the individual files from the saf src.  If we are pulling 
in individual files via dojo.require() do we need to keep the dojo src 
in the saf src?


Since we are using Dojo now for tooltips, we are importing a minimal dojo profile on every page (simple/head.ftl). 
Therefore, I think it is important to keep this minimal, leaving components to require other parts of dojo as they need. 
 The power user will override simple/head.ftl and import the exact parts of dojo it needs so the later requires won't 
have a performance impact.


Don



If you like I can assist, but I won't have time till late next week at 
the earliest.


/Ian


Don Brown wrote:

Ian, what about using the minimal profile, but each component that 
needs something more can do a dojo.require() to pull it in?  A user's 
application, that knows they need more, can overwrite head.ftl to 
change the profile.  This is the change I plan to do today.


Don

Ian Roughley wrote:

Martin - which profile do you suggest?  I had a quick look over the 
profiles awhile back, and the only ones from the kitchen sick that I 
thought could be removed were flash and storage - especially with 
the incorporation of more widgets.


The other option would be to have different profiles to download 
which are dependent on which widgets you are using, but this seems 
like it would be much more trouble as well as more custom 
configuration (which we have been trying to avoid).  What are your 
thoughts?


My other plan (to which I owe Jason an apology as I ran out of time) 
was to upgrade to 0.2.2 and use the compressed version rather than 
the exploded version.


BTW - the dojo editor is already incorporated as an ajax themed 
textarea, however as for 0.2.1 it is still seems a little buggy.


/Ian



Martin Cooper wrote:


On 4/12/06, Don Brown [EMAIL PROTECTED] wrote:
 

I'm starting to look into replacing the LGPL Javascript components 
with

ones provided by Dojo, a toolkit we are already
using.  Dojo already has the following widgets:

 - date picker -
http://archive.dojotoolkit.org/nightly/tests/widget/test_DatePicker.html 


 - tooltip -
http://archive.dojotoolkit.org/nightly/tests/widget/test_Tooltip.html
 - rich text editor -
http://archive.dojotoolkit.org/nightly/tests/widget/test_Editor.html

My question is how should we handle the Dojo imports?  Currently 
Dojo is

only imported in the header of the ajax theme.
 I propose we import dojo.js in the header of the simple theme 
(which is

imported by the other themes), leaving each
component to do the dojo.require() call to ensure their widget is
available.
  




This makes sense to me.

However, I think we should change the current strategy on the Dojo 
profile
that's bundled by default. It looks like the kitchen sink profile is 
what's
bundled today. It would make more sense, IMHO, to bundle the minimal 
profile
(or at least somewhat more minimal than kitchen sink) by default, 
and to
provide the kitchen sink as an option and / or provide instructions 
on how
to construct a custom profile (which is really easy). I'm certainly 
willing

to help out here.

--
Martin Cooper


Don
 


-
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]





-
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]





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



Re: svn commit: r394308 - in /incubator/webwork2/action/src/test: java/org/apache/struts/action2/views/jsp/ui/ resources/org/apache/struts/action2/views/jsp/ui/

2006-04-15 Thread Don Brown
Thanks Toby for fixing these tests.  I keep forgetting WebWork, even its 
tags, are so well unit tested :)


Don

[EMAIL PROTECTED] wrote:

Author: tmjee
Date: Sat Apr 15 08:45:00 2006
New Revision: 394308

URL: http://svn.apache.org/viewcvs?rev=394308view=rev
Log:
- fix failing test case


Modified:

incubator/webwork2/action/src/test/java/org/apache/struts/action2/views/jsp/ui/FormTagTest.java

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-1.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-2.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-3.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-4.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-5.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-6.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-7.txt

incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-8.txt

Modified: 
incubator/webwork2/action/src/test/java/org/apache/struts/action2/views/jsp/ui/FormTagTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/webwork2/action/src/test/java/org/apache/struts/action2/views/jsp/ui/FormTagTest.java?rev=394308r1=394307r2=394308view=diff
==
--- 
incubator/webwork2/action/src/test/java/org/apache/struts/action2/views/jsp/ui/FormTagTest.java
 (original)
+++ 
incubator/webwork2/action/src/test/java/org/apache/struts/action2/views/jsp/ui/FormTagTest.java
 Sat Apr 15 08:45:00 2006
@@ -23,7 +23,9 @@
 import org.apache.struts.action2.config.Configuration;
 import org.apache.struts.action2.views.jsp.AbstractUITagTest;
 import org.apache.struts.action2.views.jsp.ActionTag;
+
 import com.opensymphony.xwork.ActionContext;
+import com.opensymphony.xwork.ObjectFactory;
 import com.opensymphony.xwork.config.ConfigurationManager;
 
 
@@ -31,13 +33,15 @@

  * FormTagTest
  *
  * @author Jason Carreira
- * Created Apr 3, 2003 10:28:58 AM
+ * @author tm_jee
  * 
  * @version $Date$ $Id$

  */
 public class FormTagTest extends AbstractUITagTest {
 
 public void testForm() throws Exception {

+   ObjectFactory.setObjectFactory(new MyObjectFactory());
+   
 request.setupGetServletPath(/testAction);
 
 TestAction testAction = (TestAction) action;

@@ -363,4 +367,8 @@
 ConfigurationManager.addConfigurationProvider(new 
TestConfigurationProvider());
 ActionContext.getContext().setValueStack(stack);
 }
+
+static class MyObjectFactory extends ObjectFactory {

+   
+   }
 }

Modified: 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-1.txt
URL: 
http://svn.apache.org/viewcvs/incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-1.txt?rev=394308r1=394307r2=394308view=diff
==
--- 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-1.txt
 (original)
+++ 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-1.txt
 Sat Apr 15 08:45:00 2006
@@ -6,3 +6,6 @@
 script
function customOnsubmit() {}
 /script
+
+!-- javascript that is needed for tooltips --
+script language=JavaScript 
type=text/javascriptdojo.require(dojo.widget.html.Tooltip);dojo.require(dojo.fx.html);/script

Modified: 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-2.txt
URL: 
http://svn.apache.org/viewcvs/incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-2.txt?rev=394308r1=394307r2=394308view=diff
==
--- 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-2.txt
 (original)
+++ 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-2.txt
 Sat Apr 15 08:45:00 2006
@@ -28,6 +28,10 @@
selectUnselectMatchingOptions(updownselectObj, null, unselect, 
false, key);
}
 /script
+
+!-- javascript that is needed for tooltips --
+script language=JavaScript 
type=text/javascriptdojo.require(dojo.widget.html.Tooltip);dojo.require(dojo.fx.html);/script
+
 script
 function validateForm_myAction() {
 form = document.getElementById(myAction);
@@ -36,3 +40,4 @@
 var errors = false;
 return !errors; }
 /script
+

Modified: 
incubator/webwork2/action/src/test/resources/org/apache/struts/action2/views/jsp/ui/Formtag-3.txt
URL: 

Re: XWork and Struts Action 2.0

2006-04-17 Thread Don Brown
Whether XWork is moved to Apache or not, I 100% agree the docs and API should be in a single location.  WebWork has been 
doing this for a while, and I think we should continue the practice.  The relationship between Action 2 and XWork could 
be like Action 1 and Commons Validator - the user doesn't have to go to the Commons Validator site for docs; they are 
well-integrated.


Don

Bob Lee wrote:

What's the plan for XWork? I would recommend against keeping it as a
third party dependency and for copying the necessary code over into
the Struts repository and refactoring it (clean up exception handling,
remove statics, better integrate APIs, etc.). We could keep the Java
packages separate (if we really think it's worth it), but there's
definitely no need for two separate projects. Looking in two places
for the documentation and API is a huge pain, not to mention confusing
for new users.

Bob

-
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: XWork and Struts Action 2.0

2006-04-17 Thread Don Brown

Bob Lee wrote:

Also, how do the tags relate to JSTL? Are we just going to ignore
JSTL? Or are we going to use JSTL for JSP with some WebWork-specific
extensions and the WebWork tags for other template engines?


I personally prefer the latter option.  Struts has always tried to work well with standards, and JSTL should be no 
exception.  I guess the question is whether the overlap tags will be deleted or just deprecated.  I'm fine with deleted.



Are we going to continue using OGNL, or are we going to use JSP EL?


This is a good, yet complicated question that has seen much discussion lately.  The bottom line is there are features in 
OGNL that we can't live without: type conversions, projection, and method calls to name a few.  If we can somehow either 
a) extend the JSP EL to support these features or b) implement OGNL behind the JSP EL API's, I see a future in closer 
collaboration.  From what I understand, both are possible, just waiting for someone to step up and do the work.


Good to see you on the list, and congrats on the marriage.  I admit I was a 
little jealous as to its location :)

Don



Bob

On 4/17/06, Jason Carreira [EMAIL PROTECTED] wrote:

-1 to moving it over. XWork is not just part of WebWork, it's used other places.

You're more than welcome to help do the cleanup in XWork for a 2.0 release.
-
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=26278messageID=51716#51716


-
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]





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



Re: ww:radio

2006-04-17 Thread Don Brown
This is a great feature suggestion, so could you please open up a ticket on it so it doesn't get forgotten?  At the 
moment, we are focused on getting out of the Incubator, but soon, we hope to address issues such as this.


http://issues.apache.org/struts

Don

Ricardo Lecheta wrote:

Hi,

In webwork the ww:radio tag evaluates a list using ognl... The ww:radio from 
webwork is amazing, but sometimes you don´t want put a getList() in your 
Action.

The html:radio from Struts is very easy to use, and you don´t need a 
collection to fill the radios..

Is it possible in SAF2 both of ww:radio from WW2 and html:radio from Struts 
exists?

thanks,
Ricardo
-
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=26152messageID=51516#51516


-
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: XWork and Struts Action 2.0

2006-04-18 Thread Don Brown

Ian Roughley wrote:

Don Brown wrote:

Bob Lee wrote:

Also, how do the tags relate to JSTL? Are we just going to ignore
JSTL? Or are we going to use JSTL for JSP with some WebWork-specific
extensions and the WebWork tags for other template engines?


I personally prefer the latter option.  Struts has always tried to 
work well with standards, and JSTL should be no exception.  I guess 
the question is whether the overlap tags will be deleted or just 
deprecated.  I'm fine with deleted.
One of the features I like the most about the WW tags is themes.  If we 
move to JSTL tags, is there a corresponding feature?  This is the basis 
for the ajax integration.


I don't think this is an either/or decision, but one of eliminating the 
overlap.  JSTL provides some formatting, conditionals, loops, and XML 
manipulation, while Action 2 tags provide visual and form tags.  The 
only reason we might want to keep the Action 2 tags that overlap is if 
they provide value for other presentation technologies, since JSTL is 
only for JSP.


Don

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



[action2] Java 5 support (was XWork and Struts Action 2.0)

2006-04-18 Thread Don Brown
This has been a topic I've been wondering about for a while: would it be possible to move to Java 5, then use a tool 
such as Retroweaver [1] to provide Java 1.4 support?  I'm not prepared to completely abandon Java 1.4 users, but Bob 
does make some good points regarding the concern for falling too far behind.


Does anyone have any experience with such an approach?

Don

[1] http://retroweaver.sourceforge.net/

Bob Lee wrote:

Without saying whether we should support 1.4 or not, realistically
we're talking about Struts 2.0.0 in production some time after August
depending how long it takes users to port their applications, not
right now, at this moment, right? JDK 1.6 comes out in the fall at
which point 1.4 will be two major releases behind. We must embrace
1.5. We should keep in mind that:

- 1.4 support will add complexity and require more development time
- 1.4 will become less relevant pretty quickly
- 1.4 users have two other options: Struts 1.2 and WebWork 2.2

Bob

-
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: XWork and Struts Action 2.0

2006-04-18 Thread Don Brown
This is a great list, thanks for taking the time to put it up.  I may not agree with everything, but it is sure to spark 
conversation :)


Don

Bob Lee wrote:

On 4/18/06, Bob Lee [EMAIL PROTECTED] wrote:

I'll set up the rough spots page.


http://wiki.apache.org/struts/RoughSpots?action=show

Bob

-
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: XWork and Struts Action 2.0

2006-04-19 Thread Don Brown

Patrick Lightbody wrote:

We can definitely start by reading struts.xml rather than xwork.xml.


+1, works great with struts-default.xml

Don


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



Re: XWork and Struts Action 2.0

2006-04-19 Thread Don Brown

Bob Lee wrote:

I vote for struts-action.xml.


+1

Don


Bob

On 4/19/06, Ted Husted [EMAIL PROTECTED] wrote:

We might want to keep a straight-line mapping in the naming conventions, where

OpenSymphony - Apache Struts
WebWork - Action

A good reason to prefer action-default.xml to struts-default.xml
is that we want people to be able to use Struts Action 1 and Struts
Action 2 in the same application space. We already have a
struts-config.xml. While these file names don't actually conflict,
it might be clearer to name the new configurations action rather
than struts to avoid confusion.

So, I would suggest that we use action-default.xml, and any place
where we've started to say struts, we might consider saying
action, so as to avoid confusion and conflict with Struts Action 1.

-Ted.

On 4/19/06, Don Brown [EMAIL PROTECTED] wrote:

Patrick Lightbody wrote:

We can definitely start by reading struts.xml rather than xwork.xml.

+1, works great with struts-default.xml

Don

-
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]





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



Re: Keeping STATUS Current (was Re: friday ha ha)

2006-04-20 Thread Don Brown
I like the httpd one, clearly organized into sections that would be very helpful for guiding development.  I think this 
is a great idea and vote we should adopt it too.


Will shale, action, and tiles each have one, or will there be one for the whole 
project?

Don

Ted Husted wrote:

On 4/20/06, Don Brown [EMAIL PROTECTED] wrote:

The bottom line is, IMO, the Struts project hasn't been as good as it could
be at sharing our roadmap and vision with the user community.  It is a
personal goal of mine to improve this, and to see the continued success of
both projects.


One habit that Apache HTTPD practices, that we never learned at
Jakarta, is the care and feeding of a STATUS file. Here's a link to
the current HTTPD status file, which they post to the dev@ on a
regular basis.

* http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS

We do have a starter STATUS file in the SVN,

* http://svn.apache.org/repos/asf/struts/STATUS.txt

but if we want to get back to roadmap and communcation basics, I'd
suggest this is the place to start.

-Ted.

-
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: Keeping STATUS Current (was Re: friday ha ha)

2006-04-20 Thread Don Brown
Looking at it further, this could all be done with JIRA how, which would probably be an easier interface to use and have 
the bonus of collecting comments and patches.  Perhaps we could use the Priority value to signify the type of issue 
much like that status file does for httpd?


The WebWork team goes so far as using JIRA tickets for simple task management (assigning tickets, notifying the start of 
work on a ticket, etc).  Perhaps we should use that more, then have JIRA send a status summary to dev@ much like 
Bugzilla does today.  They also are strict about assigning tickets to milestones, like we've started to do.  This will 
help guide expectations on what will be in what release.


Don

Ted Husted wrote:

On 4/20/06, Don Brown [EMAIL PROTECTED] wrote:

The bottom line is, IMO, the Struts project hasn't been as good as it could
be at sharing our roadmap and vision with the user community.  It is a
personal goal of mine to improve this, and to see the continued success of
both projects.


One habit that Apache HTTPD practices, that we never learned at
Jakarta, is the care and feeding of a STATUS file. Here's a link to
the current HTTPD status file, which they post to the dev@ on a
regular basis.

* http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS

We do have a starter STATUS file in the SVN,

* http://svn.apache.org/repos/asf/struts/STATUS.txt

but if we want to get back to roadmap and communcation basics, I'd
suggest this is the place to start.

-Ted.

-
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]



[action2] Confluence migration

2006-04-20 Thread Don Brown

The confluence migration is one of the remaining issues before Incubator 
graduation, and here is the plan:

 1. Export the data from OpenSymphony
 2. Lock the OS WW wiki down to only the dev team for minor changes
 3. Stand up a confluence instance, probably on my personal server, with the 
exported data
 4. Migrate the content over to the new Struts Action 2 name
 5. Export the data and import into a new ASF confluence instance when it is 
available

Patrick and I plan to start the plan this weekend.

Don

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



Re: [action1] cleaning up the build

2006-04-20 Thread Don Brown
Can we require these snapshot plugins in our POM somehow?  I'm fine with working with snapshots, but their download and 
use should be automatic.


Don

Wendy Smoak wrote:

On 4/18/06, Don Brown [EMAIL PROTECTED] wrote:


We definitely need an action/src/site directory to contain
the root site.xml that others inherit, and if you can get
over the aforementioned issue, then collecting all docs
there would work for me.


I moved action/core/src/site up to src/site, and here's the aggregated Javadoc:
   http://cvs.apache.org/builds/struts/maven/test-site/struts-action/apidocs/

I'm working with snapshots of the site and javadoc plugins, so if any
of the configuration causes a problem with the latest released
versions, just comment it out or let me know.

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]



Bugzilla to JIRA migration

2006-04-20 Thread Don Brown
With our JIRA instance stood up, it is time to revisit our earlier decision to migration our Struts Bugzilla tickets to 
JIRA.


http://issues.apache.org/struts

I believe most of this work can be done without bothering infrastructure, as the import can be done through JIRA's web 
admin interface.  Most of the committers don't have accounts, so please create one and let me know so I can give you the 
proper access.


I propose we do the migration this weekend.  Any comments/objections?

Don

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



Re: Bugzilla to JIRA migration

2006-04-20 Thread Don Brown
Jeff Turner, who set this up, wanted separate instances, and in fact, he wants, IIRC, that to be how JIRA is used at 
Apache from now on.  The separate instance allows each of our subprojects to have their own JIRA project, and helps 
isolate problems so that one instance won't bring all projects down.


It also made the migration of existing WebWork tickets much easier, if not even 
possible.

Don

Sean Schofield wrote:

Don,

I've been off the list for a while now but can you explain why this is
a completely separate JIRA instance from the other ASF projects?  Why
not use the existing one at http://issues.apache.org/jira?

+1 (as always) for migrating to JIRA.  I find Bugzilla to be
unbearable compared to JIRA.  I just don't see why a separate instance
is needed.

Sean

On 4/20/06, Don Brown [EMAIL PROTECTED] wrote:

With our JIRA instance stood up, it is time to revisit our earlier decision to 
migration our Struts Bugzilla tickets to
JIRA.

http://issues.apache.org/struts

I believe most of this work can be done without bothering infrastructure, as 
the import can be done through JIRA's web
admin interface.  Most of the committers don't have accounts, so please create 
one and let me know so I can give you the
proper access.

I propose we do the migration this weekend.  Any comments/objections?

Don

-
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]





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



  1   2   3   4   5   6   7   8   9   10   >