Re: branching 1.2 and 1.3 and CVS reorg for TLP status

2004-03-20 Thread Don Brown
- Original Message -
From: Ted Husted [EMAIL PROTECTED]
Date: Sat, 20 Mar 2004 18:09:53 -0500
To: Struts Developers List [EMAIL PROTECTED]
Subject: Re: branching 1.2 and 1.3 and CVS reorg for TLP status
snip /
 Meanwhile, I would have no problem with calling for a VOTE on Commons Dev tonight to 
 promote Commons Chain from the sandbox and roll the 1.0 release.
 
 I used it to good effect in an application based on Maverick, and it's certainly 
 proved its worth in the Struts-Chain development. As mentioned elsewhere, I'm now 
 taking a crack at a Commons-Chain-based MailReader.

I totally agree Commons Chain is ready for a release.  I've been using the chain for 
an application for the US Naval Undersea Warfare Center to help decompose complex data 
transformation processes and its been working great.  Of course the release stamp 
would also sit better with our client :)

Don

 
 -Ted.


-- 
___
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


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



Re: [RESULT][VOTE] Struts as an Apache Top Level Project

2004-03-12 Thread Don Brown
Sorry, I just moved from Hawaii to California so I haven't been following struts-dev 
like I should.

About the TLP vote: +0 - no strong feelings one way or another

Don

- Original Message -
From: Martin Cooper [EMAIL PROTECTED]
Date: Thu, 11 Mar 2004 21:47:05 -0800 (PST)
To: Struts Developers List [EMAIL PROTECTED]
Subject: [RESULT][VOTE] Struts as an Apache Top Level Project

 The response to this vote has been unanimous, with all proposed PMC
 members responding except for two: Arron Bates and Don Brown. I have
 attempted to ping those two directly, but have not yet heard back.
 
 The next board meeting is March 17th, which is next Wednesday. I propose
 to submit our resolution this weekend, for consideration at that meeting.
 In the absence of responses from Arron and Don before then, I will remove
 their names from both lists. They will, of course, be welcome to join the
 PMC at a later time.
 
 If anyone has any objections to the above plan, please speak up now.
 
 --
 Martin Cooper
 
 
 On Sat, 6 Mar 2004, Martin Cooper wrote:
 
  Following up on a brief thread on this list in December [1], Craig, Ted
  and I have put together a draft resolution to the board of directors [2],
  along with a cover letter [3], that would promote Struts to an Apache
  top-level project (TLP).
 
  The main reasons for moving to a TLP are described on the wiki [4]. In
  Craig's words, The short answer, though, is we will be in charge of our
  own releases (currently, the Jakarta PMC is the only body legally
  recognized to vote on releases of *any* software under Jakarta). In
  practice, we can really just continue doing what we've always done.
 
  As most of you are no doubt aware, several Jakarta sub-projects have
  already made the transition to TLPs, including Ant, Avalon, Gump, James,
  Log4J, Maven, OJB, and Torque. Most Jakarta PMC members seem to be in
  favour of the migrations, largely because a single PMC cannot possibly
  oversee a code base the size of all of Jakarta.
 
  If you're OK with Struts being a top-level Apache project, please respond
  to this thread with either a +1 or +0. Otherwise, please reply with your
  concerns. When we previously discussed this, it did not seem like anyone
  was opposed to the idea, but if anyone is, now is the time to speak up.
 
  The resolution as drafted lists the Struts Committers who could
  reasonably be considered active at this time. Of course, we should not
  put anyone on the PMC without their buy-in, so the final resolution would
  only list the Committers who responded to the Vote with a +1 or +0.
 
  The draft resolution also leaves the name of the Vice President blank.
  Craig seems like the logical candidate, and is willing to act in this
  capacity, but we wanted the VP selection to be a community decision. So,
  please also respond with your nomination for Vice President, Apache
  Struts.
 
  Here's my +1 on the resolution as drafted, and my +1 for Craig as Vice
  President.
 
  --
  Martin Cooper
 
  [1] http://nagoya.apache.org/eyebrowse/SearchList?listId=[EMAIL 
  PROTECTED]searchText=%22Why+you+*want*+to+be+on+the+PMC%22defaultField=subjectSearch=Search
  [2] http://www.apache.org/~martinc/struts/tlp/resolution.html
  [3] http://www.apache.org/~martinc/struts/tlp/cover.html
  [4] http://nagoya.apache.org/wiki/apachewiki.cgi?JakartaPMCPropsedChanges
 
  -
  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]
 

-- 
___
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


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



[Proposal] ActionFactory refactoring

2004-01-02 Thread Don Brown
What if we extracted the creation of Actions and ActionForms (including
DynaActionForms) into an ActionFactory, overridable by the user?

Here's the problem as I see it: there is no simple way for a user to plug
in their own code to manage the creation of actions and action
forms.  The actual creation is handled by static methods in
RequestUtils, obviously not overridable, leaving the only option to
extend RequestProcessor and duplicate a lot of logic.

Why would you want to plug in your own ActionFactory?  My primary purpose
is to better integrate Inversion of Control (IoC), specifically Spring's
IoC, into Struts.  By letting Spring create Struts objects, Spring can
handle any dependencies and configuration they need.  Another use, as
stated in bug #23583
(http://issues.apache.org/bugzilla/show_bug.cgi?id=23583), could be a
factory that creates ActionForms using JavaAssist at runtime.  Finally,
this factory would be an easy way for the user to create their own
DynaActionForms, particularly useful for unit testing.

Impact: This would have no impact on current Struts applications as it is
an internal refactoring and default behavior would remain the same.
Extensions that include custom RequestProcessors or interfere with object
creation might be affected.

Configuration: I'd recommend another attribute in the controller /
element in struts-config, possibily named actionFactoryClass, pointing
to the new ActionFactory implementation to use.  If none specified, a
default factory which mimics current behavior would be used.

This is my proposed interface:

public interface ActionFactory {

public Action createAction(ActionServlet servlet);

public DynaActionForm createDynaActionForm(ActionServlet servlet,
   FormBeanConfig config,
   ActionConfig mapping);

public ActionForm createDefaultActionForm(ActionServlet,
  FormBeanConfig config);


public ActionForm createActionForm(ActionServlet servlet,
   FormBeanConfig config,
   ActionConfig mapping);

}

Note createActionForm() creates either a DynaActionForm or ActionForm
depending on the config.

Comments?  Obviously, I'd perform the refactorings if this feature was
agreed upon.  Future targets for factories could include config objects:
http://issues.apache.org/bugzilla/show_bug.cgi?id=13638

Don


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



Re: [Proposal] ActionFactory refactoring

2004-01-02 Thread Don Brown
On Fri, 2 Jan 2004, Vic Cekvenich wrote:

 So here are comments:
 - I like IoC idea!  I prefer Nano, Hivemind or something else Jakarta
 based. I have been using HiveMind on projects and it is very nice.

Exactly my point.  Abstracting object creating into a factory would allow
you to create a factory that uses HiveMind.  The IoC implementation
I mentioned wouldn't be a part of Struts, but rather for a Spring
plugin project I'm working on (http://struts.sf.net/struts-spring).

 - I do not like any kind of factory. It's harder to teach and maintain
 then just new(). Factory and pool had it's place in JDK 1.3, but a new()
 is not bad in 1.4. Besides we know the type of object is comming, so no
 reason for factory, it would just add complexity.

Perhaps we are speaking about different factories...  All a factory
pattern does is hide the object creation details, not necessarily object
pooling which I'm not suggesting at all.  This allows objects to be
created and therefore managed by custom code which could be an IoC impl or
a user's custom object factory.  Furthermore, it makes it easy to change
class implementation either through a different interface impl or
subclass.

Finally, very few Struts apps would use their own factory, as this is more
of an internal refactoring.  If anything, I think it would reduce
complexity as it cuts a section of code out of the huge RequestUtils.

 - I like what Struts chain does, it's simple and clever and it shows
 people how to create their own custom action that extend base action
 with the user base. That should be the starting point and improvments
 should be based on it, IMO. For example, calls from there to IoC. An IoC

Yes, with Struts chain, you would simply replace the command that creates
an action or action form, but still that duplicates logic.  A simple
factory only handles creation, not checking to see if one already exists
like in the case of form beans.

More importantly, Struts chain isn't used now.  RequestProcessor is.  This
refactoring is fairly simple, backwards-compatible, and imposes zero or
little changes the user would notice.  It would take probably a few hours
to code so little effort is wasted when the struts-chain move takes
place.

 DAO that populates a XMLFormBean Document. Digester could be called via
 IoC from CoR. I kind of think IoC is something users should do as calls
 from Strut's CoR. I do have a question if struts chain already reads
 digester or there is code someplace that does it or if I want to play
 with it I have to read mapping by myslef?

commons-chain contains ConfigParser, which uses the digester to build
chains from XML, however this is completely optional.  It is very easy to
build chains manually or from some other config source like a database.
The Struts-chain uses the ConfigParser to load its configuration.

Don


 .V


 ps: 2.0 wish: Call a use case implemnetation a bundle, same as other
 light weight service implementation.

 Don Brown wrote:
  What if we extracted the creation of Actions and ActionForms (including
  DynaActionForms) into an ActionFactory, overridable by the user?
 
  Here's the problem as I see it: there is no simple way for a user to plug
  in their own code to manage the creation of actions and action
  forms.  The actual creation is handled by static methods in
  RequestUtils, obviously not overridable, leaving the only option to
  extend RequestProcessor and duplicate a lot of logic.
 
  Why would you want to plug in your own ActionFactory?  My primary purpose
  is to better integrate Inversion of Control (IoC), specifically Spring's
  IoC, into Struts.  By letting Spring create Struts objects, Spring can
  handle any dependencies and configuration they need.  Another use, as
  stated in bug #23583
  (http://issues.apache.org/bugzilla/show_bug.cgi?id=23583), could be a
  factory that creates ActionForms using JavaAssist at runtime.  Finally,
  this factory would be an easy way for the user to create their own
  DynaActionForms, particularly useful for unit testing.
 
  Impact: This would have no impact on current Struts applications as it is
  an internal refactoring and default behavior would remain the same.
  Extensions that include custom RequestProcessors or interfere with object
  creation might be affected.
 
  Configuration: I'd recommend another attribute in the controller /
  element in struts-config, possibily named actionFactoryClass, pointing
  to the new ActionFactory implementation to use.  If none specified, a
  default factory which mimics current behavior would be used.
 
  This is my proposed interface:
 
  public interface ActionFactory {
 
  public Action createAction(ActionServlet servlet);
 
  public DynaActionForm createDynaActionForm(ActionServlet servlet,
 FormBeanConfig config,
 ActionConfig mapping);
 
  public ActionForm createDefaultActionForm(ActionServlet

Re: [Proposal] ActionFactory refactoring

2004-01-02 Thread Don Brown
Yeah, I wasn't sure what to call them either.  I think it would be nice to
have one that will create the form from the config, no matter what type it
is, but still have others that create the specific type.  This is mostly
useful for testing as it makes it easy to create dynaforms, a feature I've
been hearing a lot.  Of course, it could just be two methods, and if you
just wanted a dynaform, create a FormBeanConfig and set dynamic to true.

As for when, it doesn't matter.  I could easily put it in over the
weekend, code and tests, but if we are trying to get 1.2 out the door, it
can wait.

Don

On Fri, 2 Jan 2004, Martin Cooper wrote:

 Off the top of my head (meaning I haven't thought through all of the
 possible ramifications yet ;), I like this idea. I know that when I added
 factories to Commons FileUpload, it took the ability to customise things
 to a level that just isn't possible with straight 'new' coding. I can see
 how the same would be true for Actions as well.

 I'm not sure about the specific API you suggest. I assume by default you
 mean the non-dyna flavour? Something about the API doesn't feel right,
 but I'll try to give it some thought later and see if I can come up with
 anything better.

 BTW, I assume you're proposing this as a post-1.2.0 change?

 --
 Martin Cooper


 On Fri, 2 Jan 2004, Don Brown wrote:

  What if we extracted the creation of Actions and ActionForms (including
  DynaActionForms) into an ActionFactory, overridable by the user?
 
  Here's the problem as I see it: there is no simple way for a user to plug
  in their own code to manage the creation of actions and action
  forms.  The actual creation is handled by static methods in
  RequestUtils, obviously not overridable, leaving the only option to
  extend RequestProcessor and duplicate a lot of logic.
 
  Why would you want to plug in your own ActionFactory?  My primary purpose
  is to better integrate Inversion of Control (IoC), specifically Spring's
  IoC, into Struts.  By letting Spring create Struts objects, Spring can
  handle any dependencies and configuration they need.  Another use, as
  stated in bug #23583
  (http://issues.apache.org/bugzilla/show_bug.cgi?id=23583), could be a
  factory that creates ActionForms using JavaAssist at runtime.  Finally,
  this factory would be an easy way for the user to create their own
  DynaActionForms, particularly useful for unit testing.
 
  Impact: This would have no impact on current Struts applications as it is
  an internal refactoring and default behavior would remain the same.
  Extensions that include custom RequestProcessors or interfere with object
  creation might be affected.
 
  Configuration: I'd recommend another attribute in the controller /
  element in struts-config, possibily named actionFactoryClass, pointing
  to the new ActionFactory implementation to use.  If none specified, a
  default factory which mimics current behavior would be used.
 
  This is my proposed interface:
 
  public interface ActionFactory {
 
  public Action createAction(ActionServlet servlet);
 
  public DynaActionForm createDynaActionForm(ActionServlet servlet,
 FormBeanConfig config,
 ActionConfig mapping);
 
  public ActionForm createDefaultActionForm(ActionServlet,
FormBeanConfig config);
 
 
  public ActionForm createActionForm(ActionServlet servlet,
 FormBeanConfig config,
 ActionConfig mapping);
 
  }
 
  Note createActionForm() creates either a DynaActionForm or ActionForm
  depending on the config.
 
  Comments?  Obviously, I'd perform the refactorings if this feature was
  agreed upon.  Future targets for factories could include config objects:
  http://issues.apache.org/bugzilla/show_bug.cgi?id=13638
 
  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] ActionFactory refactoring

2004-01-02 Thread Don Brown
On Fri, 2 Jan 2004, Ted Husted wrote:
snip /
 My one concern is the ActionServlet reference in the signature. I don't
 feel good about adding any more http dependencies to interfaces we may
 have to live with for some time. But it may be unavoidable, and when we
 do start encapsulating http, this whole she-bang might be encapsulated
 as well.

I agree, however, when we do write Servlets out of Struts, I think
everything will need to be rewritten, including this factory and the
objects it creates.  Since this is more of an internal refactoring than a
new feature, I think we don't have to be as concerned about
backward-compatibility, especially since writing Servlets out of Struts
will break everything anyways. (of course by writing Servlets out of
Struts I mean removing Servlet dependencies in Struts)


 If you can do it over the weekend, and post a patch that people could
 review first, and you felt confident in the code, I would say that it
 could still make the 1.2.0 cut. I feel strongly that we need to address
 the remaining problem reports regarding pagePattern et cetera. I'm
 actively working  on the module examples application now, but the
 application and the fixes aren't going to happen before Monday.

 Of course, an equally reasonable opinion would be to hold the patch for
 after the 1.2.0 roll, so that it can live in the nightly build for
 awhile. But it seems like a fairly straight-forward matter to me, and
 should either work or not.

Ok, sounds good.  I'll create a bugzilla entry and post the patches there.

Don


 -Ted.

 On Fri, 02 Jan 2004 12:17:16 -1000 (HST), Don Brown wrote:
  Yeah, I wasn't sure what to call them either.  I think it would be
  nice to have one that will create the form from the config, no
  matter what type it is, but still have others that create the
  specific type.  This is mostly useful for testing as it makes it
  easy to create dynaforms, a feature I've been hearing a lot.  Of
  course, it could just be two methods, and if you just wanted a
  dynaform, create a FormBeanConfig and set dynamic to true.
 
  As for when, it doesn't matter.  I could easily put it in over the
  weekend, code and tests, but if we are trying to get 1.2 out the
  door, it can wait.
 
  Don
 
 
  On Fri, 2 Jan 2004, Martin Cooper wrote:
 
 
  Off the top of my head (meaning I haven't thought through all of
  the possible ramifications yet ;), I like this idea. I know that
  when I added factories to Commons FileUpload, it took the ability
  to customise things to a level that just isn't possible with
  straight 'new' coding. I can see how the same would be true for
  Actions as well.
 
  I'm not sure about the specific API you suggest. I assume by
  default you mean the non-dyna flavour? Something about the API
  doesn't feel right, but I'll try to give it some thought later
  and see if I can come up with anything better.
 
  BTW, I assume you're proposing this as a post-1.2.0 change?
 
 
  --
  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: Nighty Builds of Struts-Faces Integration Library

2003-12-24 Thread Don Brown
On Wed, 24 Dec 2003, Craig R. McClanahan wrote:
snip /
 works.  Tops on my list is ensuring that it works with Tiles as well ... most
 likely by having two different request processor subclasses and making you
 configure the one you need based on whether Tiles is in use or not.  Not quite
 as transparent as the old release, but it should be able to work.

In several Struts extension projects, I've been using a simliar technique.
Take out all possible code out of your extended RequestProcessor and put
it in a helper.  Then create two RequestProcessors, one normal one and
another that extends TilesRequestProcess; each rp delegates operation to
the helper.  Finally, create a plugin that detects which RequestProcess,
the normal Struts one or Tiles one, is loaded and replace it with the
appropriate custom request processor.  This technique supports Tiles
without requiring any additional config on the part of the user.

Lars Hoss, another developer on SAIF, even went so far as to use byte-code
processing to dynamically make the custom RequestProcessor extend the
one that was already loaded.

Of course the best option is to get the composable request processor
operational :)

Don

PS. Mele Kalikimaka me ka Hauoli Makahiki Hou! (Merry Christmas and Happy
New Year in Hawaiian)


 Craig

 PS:  While nowhere near as cool as the gift of eternal life that we'll be
 celebrating tomorrow, please consider this a Christmas gift to all the Struts
 developers and users out there :-).


 -
 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 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-20 Thread Don Brown
Yes, it is possible to do a lot of things with Struts currently, but for
the most part, they are all hacks.  With Struts 2.0, we have a chance to
look at Struts best practices, other web frameworks, and current
technologies to design Struts to be the best and easiest framework for
web applications, and perhaps beyond.  My point is we should look at
whether to encourage through Struts design and documentation the
combination of forms and actions, or keep the current design.  In this
process, I think it is important to look at other frameworks and the
results of the design choices they made, particularly our close cousin
WebWork2/XWork.

Don

On Sat, 20 Dec 2003, Ted Husted wrote:

 Don Brown wrote:
  Hmm...I'm not familiar with that discussion, but I don't see why general
  form functionality couldn't be defined in an interface, but the ActionForm
  left how it is.  Of course we also have a chance to do what Craig said
  he'd change about Struts (at JavaOne 2003 JSF BOF) and combine forms and
  actions.  WebWork2/XWork seems to have done well with that approach.

 It's been mentioned on the list that you can combine Actions and
 ActionForms already. All that's needed is an ActionForm subclass with an
 execute property, and a standard Action that simply returns that result
 instead:

 ExecuteForm ef = (ExecuteForm) form;
 return ef.execute(request,response,mapping,form);

 -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 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-19 Thread Don Brown
I totally agree - let me clarify.  I think Struts 2.0 could use an IoC
framework like Spring to help improve its internal structure.  Any
configuration files should be stored in the Struts jar, but be able to be
overridden by specifying an alternate IoC configuration path.  This lets
advanced users easily modify the structure of Struts itself, but not add
complexity for the casual user.  Of course, Spring and probably other
frameworks allow you to easily customize the configuration process.

Don

On Thu, 18 Dec 2003, Martin Cooper wrote:

 On Wed, 17 Dec 2003, Don Brown wrote:

  Ok, I wasn't sure as I didn't want to distract from the onging 1.2.x
  release work. :)  I'll throw out some ideas here, then develop them later
  in the wiki:
 
  - Make Inversion of Control central.  By using an IoC framework to wire
  Struts together, it makes it really easy to extend or improve Struts not
  only for future development but for users as well.  I'd recommend Spring's
  IoC impl as it is small (100k), really easy to use, and easily
  extendable.  If we wanted to remain more agnostic, there are meta IoC
  frameworks that let you plug in Pico/Spring/Avalon, etc.

 I'm a little hesitant to start depending on other frameworks. It's not
 that I think they don't have anything to offer us, it's just what it does
 to the newcomer to Struts. If someone has to learn Struts *and* Spring
 (for example) to get going, then we've set the bar much higher.

 If we do end up deciding to depend on something like this, I believe we'll
 need to put in the work to make it look like Struts. Taking Spring as an
 example again, the substantial difference in the character of the XML
 config files would easily confuse a newcomer trying to get his/her head
 around the syntax. If we could make those files look like Struts config
 files (or vice versa, for that matter), that would help, though.

 --
 Martin Cooper


 
  - Use XML Schema over DTD's.  Give struts config its own default namespace
  to make it easier for users to mix in elements of other namespaces.  An
  example would be adding custom documentation attributes and elements.  Of
  course the usual arguments for XML Schema over DTD's apply as well.
 
  - Replace paths with URL's, allowing for a default protocol.  An action
  path would look like action://foo or a tiles forward would be
  tiles://tilesdef  This would make it easy to plug in handlers to support
  different presentation engines.  If no protocol is specified, the path is
  handled as usual.
 
  - As Ted said, contine with the wildcard theme.  Struts should do
  everything possible to cut down configuration.
 
  - Also, again totally agreeing with Ted, make everything interface based,
  have default implementations, and free apps of HTTP.  Ideally, I'd like to
  see extra effort going into making it easy if not effortless to take a
  Struts 2.0 app and use the code in a portlet or web service environment.
  At least in my area, clients are wanting human and machine interfaces,
  with the human interface generally being behind a portal.
 
  Anyways, those are my brainstorming thoughts.  If any look interesting,
  I'll write something up in the wiki.
 
  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: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-19 Thread Don Brown
Using JXPath is exactly what XMLForms (http://www.xmlforms.org) does to
allow the form model to be anything from a DOM to a JavaBean or even a
DynaBean.  XMLForms came out of Cocoon, but I believe they still use
something simliar.  In stxx (http://stxx.sf.net), a Struts extension, I
have been  experimenting using XML as the data model for a form.  It is
particuarly useful as it allows forms to be simultaneously exposed via
Struts and SOAP.

Don

On Thu, 18 Dec 2003, Craig R. McClanahan wrote:

 Quoting Mete Kural [EMAIL PROTECTED]:

  I am thinking of fliping sides on FormBean as interface, I am now
  leaning against formbeans being an interface. FormBean is a concept
  (properties that map to form elements), plus this idea of XML as a
  FormBean. It could be a List or String or anything.
 
  XML as a FormBean! That got my attention...
 
  Say we want to populate customer information where a user can edit it like in
  an Excel spreadsheet. If the Action accesses a web service and receives a
  SOAP response and some XML objects in the SOAP response, sometimes it is too
  much processing to convert XML to Java objects if it is a lot of XML (for
  example: If the web service returns a list of 50 customers with detailed
  info). In such cases it may make more sense to do an XSLT transformation over
  the XML objects and render the form. Any suggestions on how this could be
  done in Struts 2.0?
 

 The key to this, IMHO, is the expression language used to bind a reference to a
 field (say, in a JSP page) to some underlying data object representing the
 field's value.

 One very simple approach would be to teach BeanUtils and PropertyUtils how to
 treat the . operator differently when the base object is an Element (from the
 DOM API) ... it would find a child element with an element name equal to the
 property name.  This would deal directly with any XML document totally based
 on elements (as opposed to attributes), in a very simple (and mostly backwards
 compatible) way, so it could therefore even be implemented in Struts 1.2.x.

 A more comprehensive (but tied to XML) approach would be to support the use of
 XPath for referencing elements and attributes in a DOM ... but ideally have a
 way to access trees of JavaBeans using the same search expressions.  Tools
 like commons-jxpath make that pretty easy to do as well.

 If you can have pluggability in your binding expressions, you can adapt to
 pretty much any internal data representation.  (That's one of the key reasons,
 for example, that JavaServer Faces supports pluggable VariableResolver and
 PropertyResolver implementations).

  Thanks,
  Mete
 

 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: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-19 Thread Don Brown
On Thu, 18 Dec 2003, PILGRIM, Peter, FM wrote:
snip /
 What kind of Spring Framework classes would you want to use in
 Struts 2.0?

 The BeanWrapper and the BeanFactory are interesting ideas.
 An example of configuring commons DBCP is given
 http://www.springframework.org/docs/lightweight_container.html

 I am not convince however of the requirement for BeanFactory.
 I can understand if you need to have massive XML configuration
 and need to dynamic generate Beans (objects) at run-time.
 It is great but other than that I can really view to the
 advantage inverse of control there that Struts or Commons BeanUtils
 combine Digester could not do itself.

 Struts is great because it concentrates on doing one thing well MVC.
 I wouldn't want it to branch out go into a generic framework space
 e.g Avalon, Expresso, Keel, Spring, Pico etc.

 The major design difficulties are abstract away the request and response
 objects from the controller actions, and also configuration of any
 other front-end objects you need along the way. To a certain extent
 Commons Chain and its context leads the way regarding the former.

I see Spring as helping Struts be better structure its internal
components, specifically using a BeanFactory implementation.  It would not
replace struts-config in any way or even be exposed directly the a Struts
application.  The struts-chain request processor implementation makes it
easy for Struts apps to plug in IoC frameworks themselves.  I totally
agree Struts shouldn't become some generic IoC framework, hence my
suggestion of using Spring.

The reason I think IoC is important for Struts 2.0 is for easier unit
testing, more componentized development, easier to plug in alternate
implementions of components like file upload, better dependency
management, less object references, and easier for the advanced user to
extend Struts in interesting ways.  Notice these advantages are targeted
for Struts developers and advanced Struts users.

Don



 --
 Peter Pilgrim,
 Struts/J2EE Consultant, RBoS FM, Risk IT
 Tel: +44 (0)207-375-4923


 ***
 The Royal Bank of Scotland plc. Registered in Scotland No 90312.   Registered 
 Office: 36 St Andrew Square, Edinburgh EH2 2YB.
 Authorised and regulated by the Financial Services Authority

 This e-mail message is confidential and for use by the
 addressee only. If the message is received by anyone other
 than the addressee, please return the message to the sender
 by replying to it and then delete the message from your
 computer. Internet e-mails are not necessarily secure. The
 Royal Bank of Scotland plc does not accept responsibility for
 changes made to this message after it was sent.

 Whilst all reasonable care has been taken to avoid the
 transmission of viruses, it is the responsibility of the recipient to
 ensure that the onward transmission, opening or use of this
 message and any attachments will not adversely affect its
 systems or data.  No responsibility is accepted by The Royal
 Bank of Scotland plc in this regard and the recipient should carry
 out such virus and other checks as it considers appropriate.
  
   Visit our websites at:
 http://www.rbs.co.uk/CBFM
 http://www.rbsmarkets.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: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-19 Thread Don Brown
Yes, Spring is nice becuse not only does it provide a consistent
factory-based implementation, but the code isn't dependent on Spring and
could be replaced with some other IoC mechanism down the road if desired.

Don

On Fri, 19 Dec 2003, Ted Husted wrote:

 Don Brown wrote:
  I see Spring as helping Struts be better structure its internal
  components, specifically using a BeanFactory implementation.  It would not
  replace struts-config in any way or even be exposed directly the a Struts
  application.  The struts-chain request processor implementation makes it
  easy for Struts apps to plug in IoC frameworks themselves.  I totally
  agree Struts shouldn't become some generic IoC framework, hence my
  suggestion of using Spring.

 Something Craig mentioned way back when was:

 * Ensure that all framework objects in 2.0 have consistent factory-based
 mechanisms to instantiate instances.
 http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15604

 is this an area where we could use Spring in our implemention?

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



Spring (was RE: Struts 2.0 Ideas)

2003-12-19 Thread Don Brown
On Fri, 19 Dec 2003, David Graham wrote:
snip /
 The IoC topic deserves its own thread.  Spring is bloated.  It contains a
 DAO layer, JDBC helper library, Web MVC framework, IoC support, etc.  I
 don't think we should be lugging around Spring inside of Struts.  There
 are also non-technical aspects of Spring that have lowered my opinion of
 it.

Actually, if anything, Spring is a good model of how to make code modular
and accessible.  Spring can be split up into different jars, each
containing a major Spring functionality that can be used without the
others.  In this case, the IoC features are in a single jar, under 100k,
and that jar doesn't contain any of the other code - Dao, JDBC, Web
framework, or even AOP.  I'm not up on the politics; I've just been using
it for the last few months in several projects and been loving it.  It
really is some well-written, focused, code, IMO.

 If we want IoC inside of Struts we should look at something lighter weight
 like HiveMind.  I'd also like some focused concrete examples of how IoC
 would benefit Struts internals before we decide to go that route.

Yeah, I think we would need to stand a prototype up before we get too far
down the requirements road.  Especially things like IoC - it's hard to see
their value until you see it in action or work with it personally.  As for
Hivemind, it could fit the bill as well, I just haven't worked with it at
all.  Kinda doubt it will be under 100k tho :)

Don



 David

 
  Don
 
 
  
   --
   Peter Pilgrim,
   Struts/J2EE Consultant, RBoS FM, Risk IT
   Tel: +44 (0)207-375-4923


 __
 Do you Yahoo!?
 Free Pop-Up Blocker - Get it now
 http://companion.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]



Stxx and Multiple Presentation Engines in General (Re: Struts 2.0 Ideas)

2003-12-19 Thread Don Brown
Hmmm...that's a good question.  I think there are pieces of stxx it would
be good to provide with Struts for the casual user who wants to take an
existing Struts action, and render content via XSLT/XSL-FO with little
effort.  To truely do XML processing right, however, I think a stronger
solution of Struts and Cocoon integregated together is the answer.  This,
of course, would fall outside the scope of Struts core.

Could stxx's XML processing features be put into Struts 1.x?  Yes, but
before that happens, I think some sort of url feature for forwarded paths
should be put in first.  This would allow a request to easily be forwarded
to a different presentation system without modifying or overriding the
request processor.  For example, a forward to a jsp page could look like:
jsp://Foo.jsp, for tiles: tiles://Foo.jsp, and for stxx:
stxx://Foo.xsl.  This feature would make it easy to have multiple
presentation engines, a feature we say Struts supports, but it doesn't
really.

Don


On Fri, 19 Dec 2003, Ted Husted wrote:

 Do we still want to integrate stxx into Struts 1.x?

 Don Brown wrote:
  Using JXPath is exactly what XMLForms (http://www.xmlforms.org) does to
  allow the form model to be anything from a DOM to a JavaBean or even a
  DynaBean.  XMLForms came out of Cocoon, but I believe they still use
  something simliar.  In stxx (http://stxx.sf.net), a Struts extension, I
  have been  experimenting using XML as the data model for a form.  It is
  particuarly useful as it allows forms to be simultaneously exposed via
  Struts and SOAP.
 
  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]



Re: Stxx and Multiple Presentation Engines in General (Re: Struts 2.0 Ideas)

2003-12-19 Thread Don Brown
Yes, that is another way to handle it.  I never liked that approach since
it meant those urls could be accessed directly and I feel everything
should be behind Struts and its security.  Besides, that approach ties
your app to the Servlet API.

Don

On Fri, 19 Dec 2003, Joe Germuska wrote:

 Could stxx's XML processing features be put into Struts 1.x?  Yes, but
 before that happens, I think some sort of url feature for forwarded paths
 should be put in first.  This would allow a request to easily be forwarded
 to a different presentation system without modifying or overriding the
 request processor.  For example, a forward to a jsp page could look like:
 jsp://Foo.jsp, for tiles: tiles://Foo.jsp, and for stxx:
 stxx://Foo.xsl.  This feature would make it easy to have multiple
 presentation engines, a feature we say Struts supports, but it doesn't
 really.

 I'm still uncomfortable with minting new URL schemes.  Couldn't this
 be solved by deploying an additional servlet mapped to handle other
 extensions?  This is how JSPs work as it is; if your deployment
 descriptor gave *.xsl to the STXX servlet, then
 requestDispatcher.forward() would give control to STXX just to do the
 view rendering.

 I thought this was how the Velocity/Struts integration stuff worked already.

 Joe

 --
 Joe Germuska
 [EMAIL PROTECTED]
 http://blog.germuska.com
   We want beef in dessert if we can get it there.
-- Betty Hogan, Director of New Product Development, National
 Cattlemen's Beef Association


 -
 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: Stxx and Multiple Presentation Engines in General (Re: Struts 2.0 Ideas)

2003-12-19 Thread Don Brown
Relying on the request dispatcher ties you to the Servlet API.
Furthermore, extensions are inadequate as more than one handler, to use
Joe's terminology, might be interested in a particular extension.  If the
URL idea is collectively shot down, I vote for Joe's idea of adding an
attribute the the forward element.  In either case, 100% backwards
compatibility should be maintained.

Don

On Fri, 19 Dec 2003, Ted Husted wrote:

 Don Brown wrote:
  Yes, that is another way to handle it.  I never liked that approach since
  it meant those urls could be accessed directly and I feel everything
  should be behind Struts and its security.  Besides, that approach ties
  your app to the Servlet API.

 What's the Servlet API got to do with it?

 Instead of a .xls or .jsp reference, you could just as easily reference
 a .html or .php or .pdf resource.

 Of course, the others wouldn't have access to the Java contexts (at
 least not this side of JSR 223).

 But, mapping presentation engines to extensions is the de jure approach.

 -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: Stxx and Multiple Presentation Engines in General (Re: Struts 2.0 Ideas)

2003-12-19 Thread Don Brown
Lets start at the possible Use Cases.  I see a web application wanting to
have some actions be displayed as PDF's, others with a simple JSP page,
still others with Tiles.  I don't see the same action needing multiple
forwards for each of the presentation types.  If you are going to
simultaneously expose an action via two different environments, say HTTP
and SOAP, you will probably, in the SOAP case, have specific deployment
configuration specific to SOAP and probably won't even be using
struts-config.xml.  If you are, I'd image you'd have one for HTTP and the
other for SOAP, each with their respective view technologies.

Currently, with stxx and I believe with tiles, you, as you said, put in a
symbolic name that gets processed by the request processor.  In stxx's
case, it might look like:

forward name=success path=success.dox /

where the dox extension lets the stxx request processor know to send it
to stxx, where it will probably be converted to success.xsl at some
point.  Yes, one solution could be to simply allow presentation engines to
register extensions they want to handle and let them convert the string
into a useful path of some sort.

The advantage of the symbolic name is you can possibly encode more
information to pass to the presentation tech, like simple/success.dox,
which in the case of stxx, might be telling stxx to use the simple
pipeline to process success.xsl.  The disadvantage is it is kinda a hack
and not particularly elegant.  By explicitly specifying the presentation
tech in either a separate attribute or the scheme of a URI, it is more
clear.

Taking into account the ability to pass parameters to the presentation
engine either by encoding the info in a symbolic name or as part of a URI,
perhaps another attribute wouldn't be adequate.  In my stxx app, I make
liberal use of encoding info in the symbolic name, using wildcards to
extract that info within stxx pipelines.  I originally suggested URI's to
more standardize how info was encoded, but perhaps the symbolic name way
would be more acceptable to some.

Don

On Fri, 19 Dec 2003, Joe Germuska wrote:

 At 12:14 PM -1000 12/19/03, Don Brown wrote:
 Relying on the request dispatcher ties you to the Servlet API.
 Furthermore, extensions are inadequate as more than one handler, to use
 Joe's terminology, might be interested in a particular extension.  If the
 URL idea is collectively shot down, I vote for Joe's idea of adding an
 attribute the the forward element.  In either case, 100% backwards
 compatibility should be maintained.

 Although now that we talk about it, I'm hesitant to put this in the
 forward config -- I'm afraid it would lead to people writing actions
 that were too conscious of the view handling.  I imagine something
 like this, which I would not want to see:

 action type=MyAction
forward name=httpSuccess path=success.jsp /
forward name=httpFailure path=failure.jsp /
 forward name=soapSuccess path=success.xsl handler=stxx /
forward name=soapFailure path=failure.xsl handler=stxx /
 /action

 Of course people can always do things the wrong ways...

 Is this better?

 action type=MyAction
forward name=success path=success.jsp /
forward name=failure path=failure.jsp /
 forward name=success handler=stxx path=success.xsl /
forward name=failure handler=stxx path=failure.xsl /
 /action

 That is, multiple forwards with the same name, distinguished by their
 handlers?  I don't like that much either, since it puts a lot of
 responsibility on mapping.findForward()

 So then it seems that a Tiles-ish solution might be better, where the
 path is another symbolic name, each kind of handler could potentially
 be configured with a way to dereference that symbolic name.

 What's the use case?  Using one action to respond to HTTP, Portlet
 and SOAP, assuming that the control is the same but the view is
 different?Or is it using different view handlers in the same
 request domain -- that is some times you want to use JSP to respond
 to an HTTP request, and sometimes STXX or Velocity?

 If it's the first, you could expect the part of the request processor
 before the action is invoked to be able to leave a mark as to its ID,
 so that the corresponding view handler could take over after the
 action finishes.  If it's the second, I'm having a hard time thinking
 of a clean way to organize that.

 I should be careful here, because I haven't had need for either of
 those cases myself.  But in all my thinking about this, I wish it
 didn't have to be implemented using the current monolithic
 RequestProcessor -- do you guys still think we're on a 1.4 time
 frame for switching to a chain-based version?  (as noted in the
 roadmap).

 Joe

 --
 Joe Germuska
 [EMAIL PROTECTED]
 http://blog.germuska.com
   We want beef in dessert if we can get it there.
-- Betty Hogan, Director of New Product Development, National
 Cattlemen's Beef Association

Struts 2.0 Discussion Forum

2003-12-17 Thread Don Brown
Is there one?  I have several ideas I'd like to toss into the discussion.

Don

On 17 Dec 2003 [EMAIL PROTECTED] wrote:

 husted  2003/12/17 12:49:28

   Added:   contrib/struts-jericho README.txt project.properties
 project.xml
   Log:
   Create whiteboard directory for Struts-Jericho, a working proposal for Struts 2.x.

   Revision  ChangesPath
   1.1  jakarta-struts/contrib/struts-jericho/README.txt

   Index: README.txt
   ===
   Jericho is a whiteboard proposal describing one possible implementation of Struts 
 2.x.

   Since Struts 2.x is slated as a revolution, the Apache practice is to assign a 
 codename to a proposal until the Community comes to a consensus.

   This proposal is called Jericho since it tries to tear-down the walls within the 
 Struts architecture. Jericho proposes to open-up Struts by

   * Declaring interfaces for all core components.

   * Providing working base implementations for all core components.

   * Encapsulating alll path references within Location objects (fka 
 ActionForwards)and referring only to Locations from all other objects.

   * Providing additional extension points from core components so that the 
 Inversion of Control pattern is fully realized.

   * Providing POJO signatures that encapsulate HTTP classes so that applications 
 can be freed of HTTP semantics, if so desired.

   * Retain optional access to HTTP objects so that applications can be free to do 
 whatever they need to do.

   -Backward Compatibility-

   Jericho is a revolution and backward compatability with prior versions of Struts 
 is not the prime consideration. However, care is being taken to create a clear 
 migration path, where practible, so that Jericho is available to the widest 
 community possible.

   _DTD._ The Jericho Configuration file (DTD) builds on the best aspects of the 
 Struts 1.2 DTD. The elements are different but still similar. Our goal is to allow a 
 tool, such as a XLST processor, to migrate a Struts 1.2 DTD to Struts Jericho.

   A second alternative to explore is to provide an alternate configuration loader 
 that would map the Struts 1.2 elements to Struts Jericho objects at initialization.

   _Base Classes._ New base classes for Struts 1.2.x ActionForms and Actions are to 
 provided. These classes will provide the Struts 1.2.x behavior but also implement 
 the Struts Jericho interfaces, so that the framework can use them interchangeably.

   These same techniques may be applied to provide adaptors for other frameworks, so 
 as to make Struts Jericho available to the widest community possible.

   ###


   1.1  jakarta-struts/contrib/struts-jericho/project.properties

   Index: project.properties
   ===
   # ---
   # P R O J E C T  P R O P E R T I E S
   # ---

   compile.debug = on
   compile.optimize = off
   compile.deprecation = off

   maven.linkcheck.enable=true

   # documentation properties
   maven.xdoc.date=left
   maven.xdoc.version=${pom.currentVersion}
   maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/struts/status.html



   1.1  jakarta-struts/contrib/struts-jericho/project.xml

   Index: project.xml
   ===
   ?xml version=1.0 encoding=UTF-8?

   project
 extend../project.xml/extend
 nameJericho/name
 idstruts-jericho/id
 currentVersion0.1-dev/currentVersion
 inceptionYear2003/inceptionYear
 shortDescriptionStruts Jericho 2.x Whiteboard/shortDescription
 description
 Jericho is a whiteboard proposal describing one possible implementation of 
 Struts 2.x.
 Since Struts 2.x is slated as a revolution, the Apache practice is to 
 assign a codename to a proposal
 until the Community comes to a consensus.
 This proposal is called Jericho since it tries to tear-down the walls 
 within the Struts architecture.
 /description
 developers
   developer
 nameTed Husted/name
 idhusted/id
 email[EMAIL PROTECTED]/email
 organization/organization
   /developer
 /developers

 build
   unitTest
 includes
   include**/*Test.java/include
 /includes
   /unitTest
 /build

   /project




 -
 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 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-17 Thread Don Brown
On Wed, 17 Dec 2003, Joe Germuska wrote:

 - Make Inversion of Control central.  By using an IoC framework to wire
 Struts together, it makes it really easy to extend or improve Struts not
 only for future development but for users as well.  I'd recommend Spring's
 IoC impl as it is small (100k), really easy to use, and easily
 extendable.  If we wanted to remain more agnostic, there are meta IoC
 frameworks that let you plug in Pico/Spring/Avalon, etc.

 Personally I suspect that a meta framework is more trouble than it's
 worth, although I haven't really looked at any too closely.  (Have
 any pointers)

 So then, with specific frameworks,  I don't understand how Pico's
 orientation towards constructors works in an environment where beans
 need to be dynamically instantiated, but perhaps I just haven't
 thought about it hard enough.  Avalon seems too heavy, which leaves
 us (or me at least) with Spring and HiveMind.  I haven't developed
 with either but so far the docs for Spring give me a warm fuzzy
 feeling while the HiveMind docs kind of scare me.

HiveMind, from what I've read, is more service-oriented.  I've been using
Spring for a few months now and totally loving it.  It completely stays
out of your way, leaving your code with little or no Spring dependencies.
Furthermore, it supports both javabean and constructor-style dependency
resolution.

 - Use XML Schema over DTD's.  Give struts config its own default namespace
 to make it easier for users to mix in elements of other namespaces.  An
 example would be adding custom documentation attributes and elements.  Of
 course the usual arguments for XML Schema over DTD's apply as well.

 XML Schema?!  Naw, RelaxNG!!!  After all, it is now an international
 standard
 (http://blogs.codehaus.org/people/bob/archives/000505_standards_are_great_everyone_should_have_one.html)

Doesn't matter to me as long as I get namespace support :)

 - Replace paths with URL's, allowing for a default protocol.  An action
 path would look like action://foo or a tiles forward would be
 tiles://tilesdef  This would make it easy to plug in handlers to support
 different presentation engines.  If no protocol is specified, the path is
 handled as usual.

 I'm a little sketched out about assigning schemes of our own.  I see
 the motivation, and think the goal is good.  Wonder if we could find
 another mechanism.

Well, I've seen it used particularly in Forrest to good effect.  The key
is keeping the number of protocols to a small number, but allowing the
user to develop more if they feel the need.

Don


 - As Ted said, contine with the wildcard theme.  Struts should do
 everything possible to cut down configuration.

 hear, hear! (, hear, hear, hear!!)

 - Also, again totally agreeing with Ted, make everything interface based,

 a few more hears here ;^)


 --
 Joe Germuska
 [EMAIL PROTECTED]
 http://blog.germuska.com
   We want beef in dessert if we can get it there.
-- Betty Hogan, Director of New Product Development, National
 Cattlemen's Beef Association


 -
 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 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-17 Thread Don Brown
Nope, Spring is Apache-style, I just checked.  You had me worried there
for a minute :)

Don

On Wed, 17 Dec 2003, Sgarlata Matt wrote:

 - Original Message -
 From: Joe Germuska [EMAIL PROTECTED]
 To: Struts Developers List [EMAIL PROTECTED]
 Sent: Wednesday, December 17, 2003 5:04 PM
 Subject: Re: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)


  So then, with specific frameworks,  I don't understand how Pico's
  orientation towards constructors works in an environment where beans
  need to be dynamically instantiated, but perhaps I just haven't
  thought about it hard enough.  Avalon seems too heavy, which leaves
  us (or me at least) with Spring and HiveMind.  I haven't developed
  with either but so far the docs for Spring give me a warm fuzzy
  feeling while the HiveMind docs kind of scare me.

 I agree with your assessment of frameworks 100%.  However, Spring is under
 an LGPL license, so Struts can't use Spring unless either Struts switches to
 LGPL or Spring switches to ASF, right?  It would be kind of silly for Struts
 to stay under ASF in this case, since the Spring license would force the
 undesirable LGPL clauses on any projects that were based on Struts.  Am I
 right?

 Matt


 -
 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 2.0 Ideas (was Re: Struts 2.0 Discussion Forum)

2003-12-17 Thread Don Brown
Hmm...I'm not familiar with that discussion, but I don't see why general
form functionality couldn't be defined in an interface, but the ActionForm
left how it is.  Of course we also have a chance to do what Craig said
he'd change about Struts (at JavaOne 2003 JSF BOF) and combine forms and
actions.  WebWork2/XWork seems to have done well with that approach.

Again, just throwing ideas out there :)

Don

On Wed, 17 Dec 2003, Edgar P Dollin wrote:

  And you're really going to have to break both of my arms and/or kick me
  out of Struts development if you want ActionForm *ever* changed to an
  interface again -- in *any* future Struts release.  I think it's an
  absolutely horrible idea, for reasons that have been documented way too
  many times to count.

  Craig McClanahan



  - Also, again totally agreeing with Ted, make everything interface
  based,

  a few more hears here ;^)

  Joe Germuska

 The interface discussion has come up previously and there was some emotion
 tied to it.

 Edgar


 -
 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] Joe Germuska as a Struts Committer

2003-12-07 Thread Don Brown
+1  I thought he already was one :)

Don

On Sun, 7 Dec 2003, Martin Cooper wrote:

 Joe has been involved in the Struts community for some time now, and has
 been a great contributor on the -dev and -user lists, as well as in the
 bug database. I believe Joe would be a great asset to the team, and that
 it's time we invited him to join us as a Struts committer.

 Here's my +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: Maven test run

2003-11-27 Thread Don Brown
Hmmm...I just updated, uncommented those two lines, and ran ant
test.junit - all tests passed.  Anyone else?

Don

On Thu, 27 Nov 2003, Ted Husted wrote:

 When I run the maven jar target, the upload tests fail
 (MultipartTestSuite).

 But, when I run the ant test.junit test, only the
 TestActionConfigMatcher test fails.

 Is it me, or do others share this experience?

 If so, any ideas as to why this would be?

 -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-chain] Where to now?

2003-11-14 Thread Don Brown
Agreed, however couldn't we still offer struts-chain prebuilt, not in
Struts core, but on the side to hopefully make it eaier for people to test
it?  While the code is pretty simple and I believe functional, I agree
much work still has to be done before it is production ready - tiles
support, unit tests, commons-chain release, and of course documentation.

I'm thinking of Struts users that don't want to go through the hassle of
setting up their environment for building struts-chain, but want to test
its new features.  Hopefully, we can find middle ground between build it
yourself and official Struts code.  It's really hard to get beta
testers when, let's face it, our build is time consuming to setup.

Don

BTW, do we have nightly builds of Struts?  If we could get nightly builds
of struts-chains, that would certainly help.

On Fri, 14 Nov 2003, Ted Husted wrote:

 David Graham wrote:
  I really think we should ship Struts 1.2 with either resources or chain
  but not both.  We'll end up with another 1.1 once we start including more
  than 1 major change per release.  I don't have the time right now to get
  resources or chain included for Struts 1.2 so I won't veto however you
  want to proceed.

 I'd suggest that we ship what we have now as 1.2 before adding Chain or
 Resources. We already moved to Commons Validator 1.1.1-dev, which I
 believe still needs to make a GA release.

 We (mostly David) did a lot of work pulling out deprecations that will
 affect a lot of existing applications. We should get those out there so
 people can start the de-deprecation process before putting anything else
 on the plate.

 The main holdup had been some of the tests were broken, but if those are
 fixed now, we should proceed with 1.2.0.

 But, under no circumstances should we allow our main trunk to become
 dependent on more than one prerelease JAR at a time. Right now, we have
 a dependence on Commons Validator 1.1.1-dev. Once CV 1.1.1 goes final,
 we should immediately release what we have as (another) 1.2.x, since
 that release would then have the potential of going GA.

 Once we hit that milestone (a Stuts 1.2.x release with CV 1.1.1 GA), we
 can look at adding a dependence on some other dev jar (Chain or Resources).

 But, as David said, we owe it to the community to avoid the 1.1 syndrome
 of juggling dependencies on other unreleased products. We have one
 prerelease dependency in the pipeline already. The Validator dependency
 must be resolved and made available in some kind of release (alpha,
 beta, GA) before adding another prerelease dependency.

 -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: Multi Action servlet !

2003-11-14 Thread Don Brown
What about using Inversion of Control (IoC) to replace the current global
context map?  The action servlet loads up the IoC factory, initializing
all objects, then puts the factory in the request attributes for each
request, allowing other components, like taglibs, to be able to access
that servlet's objects?  Not only would this make managing dependencies
much cleaner, but make it easier to extend Struts once class
references were changed into interfaces.  Of course since any objects that
aren't pre-initialized can pull objects from the bean factory in the
request, we can ensure that the servlets won't overlap.

The impact to existing Struts can be minimal - we could even put IoC
configuration in the jar to prevent any user confusion.  For an IoC
implementation, I've found Spring (http://www.springframework.org) to be
very easy to use and straightforward, not to mention light weight, however
it would be pretty easy to provide a few Struts classes to wrap the IoC
framework to prevent being tied to one implementation.

I'm no Spring expert, but I volunteer to do any work necessary, assuming
the idea is approved.

Don

On Fri, 14 Nov 2003, Ted Husted wrote:

 The underlying problem is that Struts stores things directly in the
 application and session contexts under static names. So, the resources
 (in the generic sense) for one application can overwrite the other. One
 reason for modules is to put multiple sets of resources in the shared
 contexts under different names.

 An alternate design for the Struts 2.x timeframe might be to gather
 everything the framework uses into single context objects, perhaps named
 after the servlet. So the action servlet would have an action
 context in the application and session scope, and the differentAction
 servlet would have it's own differentAction context object. Inside of
 each context (a Map) would be things like the message resources and
 Locale the servlet and client are using.

 Then, when a request is being serviced, a default gateway context can be
 placed in the request that would link to the appropriate session and
 application contexts for a given controller instance. This is
 essentially what the module code does now, but with all the
 complications that backward compatibility brings.

 Of course, complications still arise. Such as if the action servlet
 changes the Locale for a client, is the differentAction servlet
 suppose to see that change? So, there might still be a global framework
 context at the top of the chain, which a controller instance could
 update and the other controllers could see.

 Another advantage here is that it would be easier for Struts
 applications to pass along its context to a business layer without
 binding that layer to HTTP. An Action could pass up the Context chain
 without passing the HTTP request itself, or pulling things out piecemeal.

 -Ted.

 [EMAIL PROTECTED] wrote:
  I'm with Edgar on this one - should it not be possible? Of course, I tried the
  following:
 
servlet-mapping
servlet-nameaction/servlet-name
url-pattern*.do/url-pattern
/servlet-mapping
 
servlet-mapping
servlet-namedifferentAction/servlet-name
url-pattern*.dont/url-pattern
/servlet-mapping
 
  with each mapping to different action servlets with different config files and
  everything got bunged up. It seems like it should have worked but alas.
 
  Perhaps it is a bit of a green question, but why would it not work?
 
  Best,
 
  Alvin
 
  Quoting Edgar P Dollin [EMAIL PROTECTED]:
 
 
 Why wouldn't changing the servlet mapping from *.do -- action servlet to
 *.[actiontype] -- [associated action servlet] work?  As long as you are
 consistent would struts care?
 
 Edgar
 
 
 -Original Message-
 From: Ted Husted [mailto:[EMAIL PROTECTED]
 Sent: Friday, November 14, 2003 7:10 AM
 To: Struts Developers List
 Subject: Re: Multi Action servlet !
 
 
 People have done it, but it's a delicate thing to try. The
 recommended
 approach is to use Struts 1.1 modules. To customize the front
 controller
 logic for each module, you can plug in alternate Request
 Processors if
 needed. This gives you all the benefits of having multiple servlets,
 without the extra overhead. (There is *no* performance
 benefit in having
 multiple servlets that do the same thing.)
 
 A better place to ask questions like this would be the Struts
 USER list.
   This is where you'd ask if we were going to support
 multiple servlets
 in the future. (Answer to that one: not any time soon.)
 
 -Ted.
 
 Karikalan Kumaresan wrote:
 
 Hi,
 
 Does anyone know, is it possible to have 2 action servlet
 
 configured
 
 in struts for different project in a same JVM/in same webserver.
 
 Cheers,
 Kari...
 
 -Original Message-
 From: Steve Raeburn [mailto:[EMAIL PROTECTED]
 Sent: 14 November 2003 07:15
 To: Struts Developers List
 Subject: RE: Parsing Error in struts
 
 
 Most likely you haven't closed a JSP tag correctly. Try
 
 commenting 

Re: Multi Action servlet !

2003-11-14 Thread Don Brown
On Fri, 14 Nov 2003, Ted Husted wrote:
snip /
 Of course, we have the tyranny of the installed base to contend with.
 Right now, a lot of Struts-specific presentation code expects things to
 be stored in the shared contexts under the original keys. The module
 code was designed to swap things in and out for that reason.

 So, if backward compatibility is desirable, then the framework API
 object would have to do the same thing: push it's members into the
 original shared contexts before an Action or some tag tool were invoked.

 If that were accomplished, we could then deprecate accessing these
 resources from the shared locations, and eventually make everything
 available only through the framework API object. A framework API object
 should simplify the module implementation as well as the eventual
 portlet implementation, and would certainly be more testable.

While I certainly am a huge fan of backwards compatibility, would that
even be feasable?  Take these chain of events:

1. Servlet 1 puts objects in context for action 1
2. Servlet 2 puts objects in context for action 2
3. Action 1 pulls out objects for Servlet 2

To rewrite all the code in the Struts CVS to use the framework API
wouldn't be too difficult, however, its the third-party extensions, user
actions, etc. which worry me.  Perhaps a framework/services/IoC API should
wait for a 2.0 release :/

If that's the case, I really want to start kicking 1.x releases out the
door.  What can I do to help?

Don


 -Ted.


 Don Brown wrote:
  What about using Inversion of Control (IoC) to replace the current
  global context map?  The action servlet loads up the IoC factory,
  initializing all objects, then puts the factory in the request
  attributes for each request, allowing other components, like taglibs,
  to be able to access that servlet's objects?  Not only would this
  make managing dependencies much cleaner, but make it easier to extend
  Struts once class references were changed into interfaces.  Of course
  since any objects that aren't pre-initialized can pull objects from
  the bean factory in the request, we can ensure that the servlets
  won't overlap.
 
  The impact to existing Struts can be minimal - we could even put IoC
  configuration in the jar to prevent any user confusion.  For an IoC
  implementation, I've found Spring (http://www.springframework.org) to
  be very easy to use and straightforward, not to mention light weight,
  however it would be pretty easy to provide a few Struts classes to
  wrap the IoC framework to prevent being tied to one implementation.
 
  I'm no Spring expert, but I volunteer to do any work necessary,
  assuming the idea is approved.
 
  Don
 
  On Fri, 14 Nov 2003, Ted Husted wrote:
 
 
  The underlying problem is that Struts stores things directly in the
   application and session contexts under static names. So, the
  resources (in the generic sense) for one application can overwrite
  the other. One reason for modules is to put multiple sets of
  resources in the shared contexts under different names.
 
  An alternate design for the Struts 2.x timeframe might be to gather
   everything the framework uses into single context objects, perhaps
  named after the servlet. So the action servlet would have an
  action context in the application and session scope, and the
  differentAction servlet would have it's own differentAction
  context object. Inside of each context (a Map) would be things like
  the message resources and Locale the servlet and client are using.
 
  Then, when a request is being serviced, a default gateway context
  can be placed in the request that would link to the appropriate
  session and application contexts for a given controller instance.
  This is essentially what the module code does now, but with all the
   complications that backward compatibility brings.
 
  Of course, complications still arise. Such as if the action
  servlet changes the Locale for a client, is the differentAction
  servlet suppose to see that change? So, there might still be a
  global framework context at the top of the chain, which a
  controller instance could update and the other controllers could
  see.
 
  Another advantage here is that it would be easier for Struts
  applications to pass along its context to a business layer without
  binding that layer to HTTP. An Action could pass up the Context
  chain without passing the HTTP request itself, or pulling things
  out piecemeal.
 
  -Ted.
 
  [EMAIL PROTECTED] wrote:
 
  I'm with Edgar on this one - should it not be possible? Of
  course, I tried the following:
 
  servlet-mapping servlet-nameaction/servlet-name
  url-pattern*.do/url-pattern /servlet-mapping
 
  servlet-mapping servlet-namedifferentAction/servlet-name
  url-pattern*.dont/url-pattern /servlet-mapping
 
  with each mapping to different action servlets with different
  config files and everything got bunged up. It seems like it
  should have worked but alas.
 
  Perhaps it is a bit

*Config objects with references to ModuleConfig - Necessary?

2003-11-14 Thread Don Brown
I was looking at bug 22207 which is caused by FormBeanConfig having a
reference to ModuleConfig, however in greping through the code, I couldn't
find any instance where getModuleConfig was used.  Furthermore, I don't
see why a child object needs a reference to a parent one.  It adds
complexity and can cause problems, like the one noted here.

Is there something I'm missing?

Don


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



Re: 1.2.x [was Multi Action servlet !]

2003-11-14 Thread Don Brown
Ok, so we are moving to a Tomcat-style release numbering.  How exactly do
we make it clear that 1.2.0 will be beta quality while another in
the 1.2.x line will be GA quality.  One advantage of alpha, beta, and rc
qualifiers is it is immediately obvious to users which one is which.  I
think tomcat is simplier, but it is also potentially more confusing.

Don

On Fri, 14 Nov 2003, Ted Husted wrote:

 Don Brown wrote:
  If that's the case, I really want to start kicking 1.x releases out the
  door.  What can I do to help?

 The big stumbling block was that some of the tests weren't running. If
 they've been fixed, then anyone could cut a release when they felt the
 code base was ready. Like, say, now. :)

 The release guidelines are here:

 http://jakarta.apache.org/struts/releases.html

 and there's an old draft of a release plan here:

 http://jakarta.apache.org/struts/proposals/release-plan_1_2_0.html

 If someone else wants to jump and be the release manager, be my guest :)

 I still haven't actually gotten through the legacy LATER or REMIND
 tickets that we batch marked as part of the get 1.1 out the door
 initiative. But I have been through the truly old and decrepit ones, and
 enough may have been done on that score for now.

 I don't actually believe that the site documentation is ready for 1.2.x
 GA release yet. But, it doesn't have to be. We can cut a 1.2.0 to shake
 out what needs to be documented, make some updates, and then roll 1.2.1.
 The overall Jakarta mode seems to be 4-6 releases to a single GA
 release, so I wouldn't expect a GA until about 1.2.5 anyway.

 Of course, we will have to resolve the pending veto discussions before
 cutting a Struts release of any kind, but I imagine that can happen over
 the weekend, or even as part of a revised Release Plan.

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



[struts-chain] Where to now?

2003-11-12 Thread Don Brown
I added what I gathered was the last missing piece to struts-chain, file
upload support.  I'm really interested in doing whatever it takes to get
this up and running as a viable alternative to the RequestProcessor.

From here, I see the following needs to be done:

 - Unit tests (big one)
 - Tiles support
 - Portlet implementation
 - Documentation

What is the status of commons-chain?  Are there any outstanding issues
that need to be sewn up?

I think I will tackle the unit tests next.  Tiles support should be pretty
straightforward, some copy/paste.  Craig had some ideas of how to support
the Portlet API, which I'll leave to him until I can learn more about it.
The documentation is the least important, at this stage, but it does help
bring to light rough spots.

Finally, what is that status on Struts 1.2?  Could an early test version
be put in for early adopters?

Don


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



Re:Struts-chain

2003-11-06 Thread Don Brown
If you use the compile task (the default for the project), struts-chain
will build without any dependencies on the tomcat ant lib.

BTW, I'd recommend against cross posting...

Don

On Wed, 5 Nov 2003, BaTien Duong wrote:

 Howdy:

 I am trying to get Struts-chain up and running. I follow the instruction
 of struts-chain in the cvs to build from the source:

 export ANT_HOME=.../ant-1.6beta2
 export JAVA_HOME=.../j2sdk1.4.2_02
 export TOMCAT_HOME=.../tomcat-5.0.14

 The build.properties is copied from the build.properties.sample
servlet.home=.../common/lib
struts.home=.../jakarta-struts-bin
chain.home=.../cvs/jakarta-commons-sandbox/chain

 export
 PATH=${PATH}:${JAVA_HOME}/bin:${ANT_HOME}/bin:${TOMCAT_HOME}/common/lib/servlet-api.jar:${TOMCAT_HOME}/server/lib/catalina-ant.jar

 execute the following command at the struts-chain directory
 [-]$ ant clean dist

 I got the error:
/build.xml:54: taskdef class org.apache.catalina.ant.DeployTask could
 not be found

 Please feed me the latest instruction to create struts-chain.war

 Thanks
 BaTien
 DBGROUPS



 -
 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: JSR-168 and Struts

2003-10-29 Thread Don Brown
Pretty much the only dependency of struts-chain is a recent build of
jakarta-commons-sandbox/chain.  To fully build commons-chain, in addition
to other commons jars, you need the porlet api jar, the servlet jar, and
the latest jsf jar from the sun web services pack 1.3 I believe.  However,
you should be able to build commons-chain with one of these jars missing
if you don't need their related chain classes.

Currently, struts-chain implements most of Struts functionality in the
form of small commands, strung together by chain-config.xml.  For any
commands that would have a use outside servlets, there exist abstract
classes in org.apache.struts.chain in the form of Abstract*.java  which
perform all possible tasks without accessing servlet apis.  The abstract
commands are implemented in o.a.s.c.servlet by servlet specific commands
which handle all direct servlet contact.

To make struts-chain work with the portlet api, a new package will be
created, o.a.s.c.portlet, which will contain implementations of the
abstract classes in o.a.s.chain.  These commands will take the context,
cast it into a PortletContext (I believe that's the name), and access
portlet apis directly just as the servlet commands did.

These commands, particularly the api dependent ones, are very short and
should be very easy to port.  Of course Struts in a portlet context will
use a different chain-config.xml with commands pointing to the porlet
implementations rather than the servlet ones, but it should pretty much be
the same structure and behavior.

I'm new to struts-chain, so hopefully this is an accurate description of
the current state of struts-chain and how the portlet api will be
supported.

Don


On Wed, 29 Oct 2003, Mete Kural wrote:

 Hello Struts and Pluto developers,

 There was a thread about developing JSR-168 support into Struts 2.0 in the pluto-dev 
 list and we thought it might be best to continue this thread on both lists, 
 pluto-dev and struts-dev synchronously. Below is the last email in the thread send 
 by Scott Weaver to the pluto-dev list. Please reply all so that your emails will 
 go to both groups.

 Thanks,
 Mete

 Scott's message:

 -- Original Message --
 From: Weaver, Scott [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 Date:  Wed, 29 Oct 2003 15:33:03 -0500

 Hi Martin,

  -Original Message-
  From: Martin Cooper [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, October 29, 2003 3:16 PM
  To: '[EMAIL PROTECTED]'
  Subject: RE: Pluto and Struts
 
  On Wed, 29 Oct 2003, Weaver, Scott wrote:
 
   Maybe it's just me, but I tried to build the contrib stuff in the CVS
  for struts a while back as I wanted to start taking a look at.  However, I
  could never get it built.  There were deps I had never heard of, nor did I
  know were to get them.
 
  If you could let me know what you're having problems with, I'll try to
  help you through getting it all built. The chances are that anything you
  haven't heard of comes from Jakarta Commons or the Commons Sandbox. (For
  example, 'chain' is currently in the sandbox.)

 I know most of the stuff in commons proper, I don't think that's were my issue lies. 
  I am pretty sure it was chain that I couldn't find and, at the time, I am not sure 
 it was available, even within commons-sandbox.  I don't remember the specific issues 
 as this was around 2 months ago when I last tried.

 
  I was actually having the same problem but from the other side of the
  coin, as it were. I need to build 'chain' against the Portlet API, but I
  couldn't get Pluto to build, and couldn't figure out the deps for that.
  (BTW, since Pluto's build.xml depends on ant-contrib, '-projecthelp'
  doesn't work until that's configured, which is quite mysterious until you
  look at the build file itself. ;)
 

 Try build driver, there are custom ant tasks that get included when you call the 
 build script.

 I really don't do much at all with Pluto portal implementation in that my focus, 
 concerning Jetspeed, is the core Pluto container itself.  That is were I spend most 
 of my time in regards to Pluto.

 That being said, there should be no fork in development to support either Pluto 
 Portal or Jetspeed 2.  In fact, if we do this correctly, the whole thing should be 
 transparent to the Struts portlet app and that app should be easily portable to any 
 other JSR-168 portal.

 p.s.

 I have no issues whatsoever with joining the Struts-dev mailing list, however, I 
 think it might be in the best interest of all involved that we cross-post to both 
 struts-dev and pluto-dev.

 I look forward to working with you.

 Regards,
 **
 | Scott T Weaver |
 | [EMAIL PROTECTED]|
 | Apache Jetspeed Portal Project |
 | Apache Pluto Portlet Container |
 **



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

Re: Struts Chain... seams similar to HiveMind ?EOM

2003-10-29 Thread Don Brown
While both concern wiring code together using xml, I think the similarity
ends there.  Hivemind, from my cursory overview, seems more like another
Inversion of Control (IoC) framework like Avalon, PicoContainer, and
Spring.  It is takes services and manages their dependencies and
lifecycle, allowing the developer to organize code as a series of
services.

Struts chain links commands together into to create a process flow.
Commands are very simple objects, like Struts Actions, implementing the
execute() method to perform its tasks.  There is no concept of service
contracts and implementations and all non-primitive dependencies, AFAIK,
are satisifed by putting them in the Context object by a previous command
rather than having the container manage service dependencies.

Since they are solving two different problems, both actually work pretty
good together.  I've been using Spring lately and have found it a great
compliment to a Struts application (http://struts.sf.net/struts-spring).
I'm sure HiveMind would also serve a similar purpose well.

Don

On Wed, 29 Oct 2003, Vic Cekvenich wrote:

 Struts Chain... seams similar to HiveMind ?
 Am I wrong?
 .V



 -
 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 Chain... seams similar to HiveMind ?EOM

2003-10-29 Thread Don Brown
On Wed, 29 Oct 2003, Vic Cekvenich wrote:

 But... the chain has a set of steps that are pre-progrmed, and there
 was some discusion as to what those steps should be idealy. Yes, it can
 do return codes but

 If HiveMind (or an aproach like it) is used to do the chain, then I can
 easily add interceptors, and alterantice idea for consideration

The chain supports the interceptors as well.  A command can have any
number of commands with each having commands and so on.


 I found this very educational:
 http://jakarta.apache.org/~hlship/HiveMind.ppt

 ... and based on that I made a leap, that, hey, we can intercept the
 flow. A bit of AOP.
 (There are some other ideas in there, like code to the interface contract)

Since you can already intercept the flow with the chain, I don't see
what an IoC, if even applicable, could offer.  Struts needs a composible
process flow that is easily manipulatable and pluggable.  I agree all
those other fancy service-oriented features are nice, but IMO, they belong
in the action/form layer.

Don


 .V



 -
 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 commit: jakarta-struts/contrib/struts-chain/src/java/org/apache/struts/chain/servlet AuthorizeAction.java RequestNoCache.java SelectForward.java SetContentType.java

2003-10-24 Thread Don Brown
On Fri, 24 Oct 2003, Craig R. McClanahan wrote:
snip /
 Welcome to the Chain Gang Don!  :-)

With a snappy name like that, we should t-shirts printed up :)

 I noticed that your implementation of AuthorizeAction does the same
 thing that the current Struts RequestProcessor does if authorization
 fails -- sends a Bad Request (status 400) message back.  One thing we
 might consider instead is throwing a Struts-defined authentication
 exception, which would allow the exception handling mechanism to decide
 what to do instead.

 One nice feature of using the chain approach is that the exception
 handler (o.a.s.c.ExceptionCatcher) can handle exceptions thrown by
 *anything* that executes after it is installed in the chain, not just
 exceptions thrown by Actions.  This allows us to use exceptions to
 enable application-defined handling of lots of exceptional events from
 the framework as well, rather than simply throwing a 400 response.  In
 addition, sending a 400 isn't going to be possible in a portlet world
 anyway, so we might as well start thinking about what to do instead, and
 make it consistent in servlets as well.

 What do you think?

Good point.  I could have it throw an UnauthorizedException which is
handled by UnauthorizedExceptionHandler in the servlet-exception chain
before ExceptionHandler.  This of course would entail creating
o.a.s.c.AbstractUnauthorizedExceptionHandler,
o.a.s.c.UnauthorizedException, and
o.a.s.c.s.UnauthorizedExceptionHandler which kinda seems like a lot of
code for one line in the case of a servlet environment.

From how I understand it, as it stands, in a portlet environment, a whole
new chain config would have to be used anyways due to most implementing
classes depending on servlet apis.  Therefore, to handle an unauthorized
case for a portlet, the only addition code would be a different
AuthorizeAction implementation, which would need to be provided anyways.

That said, I think throwing an exception is the more logical choice, but
it does add several more classes with little functional improvement.  Of
course, this is really a trivial part to the whole chain so whatever
you think is best, I'll code it up :)

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: [struts-chain] More actions, but hit a snag

2003-10-24 Thread Don Brown
On Fri, 24 Oct 2003, Craig R. McClanahan wrote:
snip /
 I hit a snag using the example app when logging in.  It seems the
 logonForm is getting instantiated somewhere other than CreateActionForm
 and doesn't have its servlet property set, throwing an exception in
 validation.  Perhaps it's right under my nose, so I'll look into it.
 Other than that, it's running smoothly and I am really looking forward
 to using the chain. :)
 
 Don
 
 I will try to look at this over the weekend.  Did it work for you before
 your recent changes?  It did for me.

Strangely enough, everything worked fine for me today...could have been
some stale form left in my session scope.

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: cvs commit: jakarta-struts/contrib/struts-chain/src/java/org/apache/struts/chain/servlet AuthorizeAction.java RequestNoCache.java SelectForward.java SetContentType.java

2003-10-24 Thread Don Brown
On Fri, 24 Oct 2003, Craig R. McClanahan wrote:
snip /
 I agree that we would need the exception class, but why do we need
 anything other than the standard handler (o.a.s.c.ExceptionCatcher)?  It
 fires off an exception handling chain, and the default handler there
 already looks at your exception settings in struts-config.xml to
 figure out what to do for any arbitrary exception class.  It's up to the
 app to handle UnauthorizedException however it wants, just like it's up
 to the app to handle an SQLException (or any other type, for that
 matter) returned from an Action.

 While we're at it, there are a few other places where Struts 1.1 returns
 an HTTP error; they should be evaluated for being treated the same way
 in a chain-based request processor.

That works for me - I was under the assumption 100% backwards
compatibility was the goal (i.e. drop-in replacement).  I'll write it up.

Don


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



[struts-chain] More actions, but hit a snag

2003-10-23 Thread Don Brown
I've tried to fill in some of the missing pieces in the struts-chain as
described in chain-config.xml.  The new actions have pretty much a
one-to-one relationship with RequestProcessor methods.  Some seemed pretty
trivial, RequestNoCache and SetContentType in particular, so maybe they
could be combined into one controller config action, but for now, I
figured I'll make them their own actions as it is always easier to combine
than explode.

I hit a snag using the example app when logging in.  It seems the
logonForm is getting instantiated somewhere other than CreateActionForm
and doesn't have its servlet property set, throwing an exception in
validation.  Perhaps it's right under my nose, so I'll look into it.
Other than that, it's running smoothly and I am really looking forward
to using the chain. :)

Don


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



Re: Adding to the user guide

2003-10-10 Thread Don Brown
What I meant was I modified the original struts-example to demonstrate
wildcards when I distributed the code as a Struts extension.  I bring it
up to point out it requires the renaming of particularly the JSP page
which may or may not be acceptable.  If so, I can go ahead and modify the
example as I used a modified struts-example to test the patch in the first
place.

Don

On Thu, 9 Oct 2003, James Mitchell wrote:

 Sorry, I meant modifying the original struts-example.  Or did you already do
 that?  I can't seem to find anything in cvs.


 --
 James Mitchell
 Software Engineer / Struts Evangelist
 http://www.struts-atlanta.org
 678.910.8017
 770.822.3359
 AIM:jmitchtx



 - Original Message -
 From: Don Brown [EMAIL PROTECTED]
 To: Struts Developers List [EMAIL PROTECTED]
 Sent: Thursday, October 09, 2003 10:38 PM
 Subject: Re: Adding to the user guide


  I did that when it was released as an extension here:
  http://www.twdata.org/struts-wildcard
 
  I modified the editSubscription mapping to edit*.  Since Subscription is
  being mapped and replaced in the form name and jsp name, I had to change
  instances of subscription to Subscription.  Thats it though.
 
  Don
 
  On Thu, 9 Oct 2003, James Mitchell wrote:
 
   +1
  
   Looks good to me.  I'll probably take a look at adding it into the
   struts-example at some point in the near future (time permitting).
  
  
   --
   James Mitchell
   Software Engineer / Struts Evangelist
   http://www.struts-atlanta.org
   678.910.8017
   770.822.3359
   AIM:jmitchtx
  
  
  
   - Original Message -
   From: Don Brown [EMAIL PROTECTED]
   To: [EMAIL PROTECTED]
   Sent: Thursday, October 09, 2003 10:03 PM
   Subject: Adding to the user guide
  
  
I added a section in the user guide about wildcards in action
 mappings,
however before I commit it, I'd like to make sure it follows
 documentation
conventions as this is my first time writing Struts docs.  I've put
 the
section up here for review:
   
   
  
 http://www.twdata.org/dakine/site/userGuide/building_controller.html#action_mapping_wildcards
   
If I don't hear anything in a day or so, I'll take it as a thumbs up
 and
commit it.  Thanks.
   
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]



struts-example/tour.htm

2003-10-10 Thread Don Brown
I updated the struts-example to use wildcards in
struts-config-registration.xml and was about to update tour.htm when I
noticed it was woefully out of date.  It is worth updating?  For 1.2, are
we planning on shipping it with the new example app I've heard mentioned?
Should I bother updating tour.htm?

Don


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



Adding to the user guide

2003-10-09 Thread Don Brown
I added a section in the user guide about wildcards in action mappings,
however before I commit it, I'd like to make sure it follows documentation
conventions as this is my first time writing Struts docs.  I've put the
section up here for review:

http://www.twdata.org/dakine/site/userGuide/building_controller.html#action_mapping_wildcards

If I don't hear anything in a day or so, I'll take it as a thumbs up and
commit it.  Thanks.

Don


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



Re: Adding to the user guide

2003-10-09 Thread Don Brown
I did that when it was released as an extension here:
http://www.twdata.org/struts-wildcard

I modified the editSubscription mapping to edit*.  Since Subscription is
being mapped and replaced in the form name and jsp name, I had to change
instances of subscription to Subscription.  Thats it though.

Don

On Thu, 9 Oct 2003, James Mitchell wrote:

 +1

 Looks good to me.  I'll probably take a look at adding it into the
 struts-example at some point in the near future (time permitting).


 --
 James Mitchell
 Software Engineer / Struts Evangelist
 http://www.struts-atlanta.org
 678.910.8017
 770.822.3359
 AIM:jmitchtx



 - Original Message -
 From: Don Brown [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Thursday, October 09, 2003 10:03 PM
 Subject: Adding to the user guide


  I added a section in the user guide about wildcards in action mappings,
  however before I commit it, I'd like to make sure it follows documentation
  conventions as this is my first time writing Struts docs.  I've put the
  section up here for review:
 
 
 http://www.twdata.org/dakine/site/userGuide/building_controller.html#action_mapping_wildcards
 
  If I don't hear anything in a day or so, I'll take it as a thumbs up and
  commit it.  Thanks.
 
  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: [Vote] Choosing a build/doc gen tool(s) [was: Re: The Forrest Option]

2003-10-02 Thread Don Brown
It might be broken, but then again, we aren't using Maven today anyways.
I asked him about it, and he said last he heard it was working, some
people reported it buggy, but since no one was using it, it was staying
in jira until someone could put time into it.  If we moved to Forrest, I
would certainly put time in fixing it and getting it added to Maven's
repository.

Don

On Thu, 2 Oct 2003, Robert Leland wrote:

 James Mitchell wrote:

 I thought that one of the Forrest Committters said that the Forrest
 plug-in for Maven
 is most likely broken ?

 Most of us have given (or at least hinted at) our opinions, so let's give a
 show of hands:
 
 Mavenization:
 [X] +1 - I am in favor of using Maven for build/dist/test/etc.
 [ ] +0 - I agree, but cannot help at this time.
 [ ] -0 - I don't agree, but not enough to give a -1.
 [ ] -1 - I am not in favor of using Maven for build/dist/test/etc.
 
 Forrestization:
 [X] +1 - I am in favor of using Forrest for site generation.
 [ ] +0 - I agree, but cannot help at this time.
 [ ] -0 - I don't agree, but not enough to give a -1.
 [ ] -1 - I am not in favor of using Forrest for site generation.
 
 Other:
 [X] - I would like to pursue the Maven-with-Forrest-as-a-plugin idea.
 
 
 (If I left out any, please add them)
 
 
 
 One question I have about all this, (and please forgive me if I missed it in
 any of the messages in this thread) how does using either approach affect
 the generation of the .tld from our source?
 
 
 
 
 --
 James Mitchell
 Software Engineer / Struts Evangelist
 http://www.struts-atlanta.org
 678.910.8017
 770.822.3359
 AIM:jmitchtx
 
 
 
 - Original Message -
 From: Don Brown [EMAIL PROTECTED]
 To: Struts Developers List [EMAIL PROTECTED]
 Sent: Wednesday, October 01, 2003 7:18 PM
 Subject: Re: The Forrest Option
 
 
 
 
 On Wed, 1 Oct 2003, Craig R. McClanahan wrote:
 snip /
 
 
 ducks
 We can even add Forrest-based generation to our current Ant-based build
 scripts :-).  It's just an external tool, after all.
 /ducks
 
 
 Actually it is very easy to do, using a forrest entity which imports
 forrest targets.  The only setup needed is to install forrest and set
 FORREST_HOME.  All the same ant targets used now to build the site can be
 used to build forrest.  If the Forrest route was accepted, I planned to do
 this from the start.
 
 Don
 
 
 
 There's only so much time we each have to spend on Struts.  I'd rather
 
 
 not
 
 
 spend much time learning the build process.
 
 David
 
 
 
 
 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]
 
 
 
 
 



 -
 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: The Forrest Option

2003-10-01 Thread Don Brown
On Tue, 30 Sep 2003, Robert Leland wrote:
snip /
 I prefer Maven because it provides builds, testing, QA tools, and site
 generation in one tool.
 The repository of binaries makes building a distribution or maven
 enabled site as easy as typeing,
 'maven' for new users.
 Changing the look/skin is straight forward, though as I say below I
 wouldn't invest alot of time
 tweaking it.

When you say one tool, you mean Maven plus any plugins that you need to do
what you want, like generate PDF.  Since there is a Forrest plugin for
Maven, you still get all the ease of use of Maven.

 My main question to the items below is 'which of these features would we
 use for the struts site'

 In short, Forrest offers these benefits over Maven's website generation:
 
  - Multiple output formats including PDF and HTML
 
 
 Maven has been doing this for a while now..

If you mean the PDF plugin, it seems from its page that all it does is
create one PDF of the whole site.  Can you create PDF's of each page,
sections containing multiple pages?  Its hard to evaluate the PDF plugin
as its documention is really lacking.

  - SVG to PNG rendering
  - Built for handling and aggregating multiple XML sources like RRS (soon
 wiki and Docbook)
 
 
 Maven currently handles RRS, Docbook, and a few other formats, including
 the ability to take a
 preexisting framed html like JavaDoc and take it apart and assemble it
 again with a .maven wrapper.
 What's the wiki thing, and why do you think that would be usefull ?.

The Wiki support currently in Forrest, albeit under construction, supports
the parsing of Wiki text files for rendering.  This allows the Wiki
information to be ran through the XML pipeline, most likely to end up as a
PDF. The ability to create PDF's out of wiki text would make wiki
information more useful, IMO.

 Could you give an example how multiple XML sources
 would be aggregated and used as a single source. How is this capability
 an advantage for
 the struts web site.

For example, currently, we have quite a few Struts extensions, example
applications, and related frameworks that I feel Struts could do a better
job of encouraging.  Instead of requiring an extension developer to submit
a patch to bugzilla to change a description or add their project to the
page, why not have a page that aggregates extension project's RSS
announcing new releases into a news-type page.  Giving extension projects
more exposure will generate more interest in finding ways to make Struts
better.  Look what it did for Maven :)

  - Power and features of Cocoon including charting, web services
 integration, scripting support, etc.
 
 
 Charting is nice. What types of charting do we get for free or almost
 free that would help
 with our site. I believe Maven can provide charts about bugs reports,

While I mentioned these as nice features to have available, I wouldn't
mind have a page of graphs and statistics showing downloads, new bugs,
percentage of bugs as enhancements, number of bugs to go before the next
release, etc.  In my experience, people love the concept of a dashboard
and what better way to get people more interested in fixing bugs?

 which I don't EVEN want to see ;-). How does web services/scripting fit
 into our needs?

The ability to embed small BSF-compatible scripts in the documentation
build process is a nice way to make something that would be more complex
using Ant/Jelly easy. Especially useful in something like the statistics I
mentioned earlier.


 Further, deciding between Forrest and Maven isn't an either/or situation.
 There exists a Forrest plugin for Maven and it would be easy to integrate
 Maven's reports into a Forrest site build.
 
 

 I am assuming this plugin uses the maven xml doc files and generates
 forrest docs ?

No, just as the xdoc plugin generates html from xdocs, the Forrest plugin
would generate a site from Forrest docs.  As hinted to earlier, it can
easily integrate into any generated documentation we'd like to keep from
Maven.


 To me, the key feature of Forrest is the first one listed, multiple
 outputs.  This is especially useful for documentation as PDF is much
 better than HTML for printing for the many users that like hard copies.
 
 
 Maven does this.

Again, I didn't see a way to do more than just generate one PDF for the
whole site, but of course, I could be wrong.

 Finally, Forrest content is built to be presented in not only multiple
 output formats, but multiple skins.  To demonstrate this, I've quickly
 redone the Struts site into Forrest format (which is very similiar to the
 current format thanks to the xhtml work of late).  I've only converted the
 menu and the main page, which should be sufficient.
 
 
 We only need one look, though I don't like the default Maven look, but
 not enough bothering changing it.
 We may customize it but we won't be changing it dynamically.

I only included these links to show how output-independant Forrest was as
it was asked in an earlier discussion if 

Re: The Forrest Option

2003-10-01 Thread Don Brown
On Wed, 1 Oct 2003, David Graham wrote:
snip /
 Rob mentioned something about Struts being setup for Maven already and I
 asked for clarification.  If that's true then I see no point in
 complicating things with another build tool.  Also, it seems that Maven in
 some ways is a superset of Forrest functionality.  It handles the website
 plus the jar builds.

Forrest is not a build tool.  If we went with Maven, Forrest would just be
another plugin, just like most people use the default site building
plugin.

 The more tools involved means it's harder to understand the build process
 which limits the number of people willing to put up with it and work on
 Struts.  My personal goal (and I hope the group's as well) is to have
 *one* easy to use tool that builds all of Struts.  I don't care if this is
 Ant, Maven, or Forrest as long as it's only one of them.

I agree, but if a Forrest plugin for Maven is used, you still use one tool
to build all of Struts.

Don


 David

 
  Though, a valid, technical objection would be that the website and the
  build (except for the current Cactus snafu) ain't broke, so we don't
  need to fix it. Steve's got everything running as valid XHTML. We're
  still using the original Apache look, but then so is the vast majority
  of other Apache projects. If we dusted off the struts-lib distribution
  (which appeared and disappeared during the last beta cycle), the
  quick-start concerns would be answered.
 
  Certainly, it would make sense to start new development on Forrest
  and/or Maven. If we spun off taglibs or rolled up our sleeves on 2.0,
  then we'd definitely want to make a decision there. (Based primarily on
  who was willing to do the work.)
 
  And, we do have Forrest running on the SourceForge site, so things like
  RSS feeds and WikiDocs could be tried there first to see how helpful
  they really are. (I must admit, I'm intrigued.)
 
  -Ted.
 
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 


 __
 Do you Yahoo!?
 The New Yahoo! Shopping - with improved product search
 http://shopping.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: Build improvements (was Re: The Forrest Option)

2003-10-01 Thread Don Brown
On Wed, 1 Oct 2003, Ted Husted wrote:
snip /
 Ah, well, you see we don't have JARs in our CVS. That's one of the
 reasons people have trouble building Struts at first. They have to go
 off and snag all the JARs themselves. Though, it seems like ruper might
 help in that regard.

Doh!  I blocked out the memory of having to get everything setup.  I do
that with traumatic events :)

Don


 -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: [Vote] Choosing a build/doc gen tool(s) [was: Re: The Forrest Option]

2003-10-01 Thread Don Brown
I believe the question is not between maven and forrest, but rather
between Anakia/xdoc and forrest.  It is entirely possible to even use all
the report output from Maven and include it in a forrest build of the
website.  Default Maven uses the xdoc plugin.  All forrest would be doing
is replacing it with the Forrst plugin.  You would still be able to get
all the Maven-generated content.

Forrest is not a built tool.  It only replaces xdoc whether we keep Ant or
go to Maven.

Could this vote not be redone?

 Mavenization with xdoc plugin:
 [ ] +1 - I am in favor of using Maven and the xdoc plugin
 [ ] +0 - I agree, but cannot help at this time.
 [ ] -0 - I don't agree, but not enough to give a -1.
 [ ] -1 - I am not in favor of using the xdoc plugin

 Mavenization with the Forrest plugin:
 [ ] +1 - I am in favor of using Forrest instead of xdoc.
 [ ] +0 - I agree, but cannot help at this time.
 [ ] -0 - I don't agree, but not enough to give a -1.
 [ ] -1 - I am not in favor of using Forrest instead of xdoc.

I'm assuming a move to Maven is inevitable?

Don


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



New feature process

2003-09-28 Thread Don Brown
What is the process when adding a new feature (in this case, wildcards for
action mappings)?  Do we wait until a release is ready to update the
documentation or update it when the feature goes in?  Also, I couldn't
really find a changelog.  Do we just use bugzilla to track new features?
If so, should an enhancement request be made before a feature gets added?

If this information is already on a webpage somewhere, I apologize in
advance :)

Don



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



Re: New feature process

2003-09-28 Thread Don Brown
I'm familiar with the process of bringing up new features to the group as
it is documented on jakarta's site:
http://jakarta.apache.org/site/decisions.html

Rather, I was interesting in what the Struts process once the feature is
committed.  I would assume the following areas would be affected:
 - tests
 - changelog
 - documentation
 - bugzilla

Don

On Sun, 28 Sep 2003, Robert Leland wrote:

 Don Brown wrote:

 What is the process when adding a new feature (in this case, wildcards for
 action mappings)?
 
 Create a Subject: [Proposal] wild cards for action mappings.

 Use lazy Consensus.
 At least 3 +1 votes, no -1 votes.
 There is a doc somewhere that says when to use each type of vote.
 Also I thought we already discussed this and it's addition was approved ?

 Do we wait until a release is ready to update the
 documentation or update it when the feature goes in?
 
 I would say nightly Docs should always match the nightly source

  Also, I couldn't
 really find a changelog.
 
 If you have maven you can now build the top level struts documentation
 which includes a
 generated change log.

  Do we just use bugzilla to track new features?
 If so, should an enhancement request be made before a feature gets added?
 
 
 No.

 If this information is already on a webpage somewhere, I apologize in
 advance :)
 
 
 I would like to know that answer also.



 -
 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 commit: jakarta-struts/src/share/org/apache/struts/util ActionMappingMatcher.java WildcardHelper.java

2003-09-28 Thread Don Brown
Good point, I'll change it when I put in the unit tests I'm working on.

Don

On Sun, 28 Sep 2003, Robert Leland wrote:

 [EMAIL PROTECTED] wrote:

 mrdon   2003/09/28 18:24:21
 
 
   Added:   src/share/org/apache/struts/util ActionMappingMatcher.java
 WildcardHelper.java
 

 Wouldnt this be better placed in the action package ?
 Would any other package other than action ever use these ?
 If not then these classes could have package scope access.




 -
 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, wildcards, web services

2003-09-25 Thread Don Brown
Unless there are any objections, I'd like to join the struts-chain effort,
and hope to put in some time this weekend.  I've been experimenting with
ways to develop struts forms/actions that can simultaneously be exposed as
SOAP web services in stxx (http://stxx.sf.net), but feel the struts-chain
is key to building a robust implementation.

Regarding wildcards
(http://issues.apache.org/bugzilla/show_bug.cgi?id=21813), I decided to
hold of on putting them as it seemed a 1.1.1(2?) was around the corner.
However, as it looks like it is not, I'd like to put it in this weekend.
Again, the patch will not affect any Struts apps that don't use wildcards
in any way, performance or otherwise.  It does open up some interesting
possibilities not only for reduced configuration, but things like this:
http://www.mail-archive.com/[EMAIL PROTECTED]/msg79295.html

Finally, regarding web services, anyone know of any efforts to expose
Struts forms/actions as web services?

Don


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



Re: Editable Fields V/S Static Text

2003-09-25 Thread Don Brown
The Struts Sourceforge site, http://struts.sf.net, is a good place for
such Struts extensions.

Don

On Thu, 25 Sep 2003, Chris Gastin wrote:

 As I can tell from the list I have opened topic that is pretty well beaten.
 Let me first apologize.  I did not realize this was such a political topic
 in the Struts community.

 I am starting to think that there should be some sort of Struts Tag Lib
 Extensions, which would address some of these issues while being totally
 separate from the Struts project. I am starting to agree with David I don't
 want to polute Struts with non standard HTML, but it would be nice to have
 an add on module which is dependant on Struts that could give users the
 functionality which it seems that other are requesting. I am willing
 contribute to this effort.

 I did not realize there were so many bugs for the taglibs, which some of you
 pointed out. I will see if I can help out. I will check out bugzilla, and
 try to contribute in that area.

 Chris Gastin

 - Original Message -
 From: David Graham [EMAIL PROTECTED]
 To: Struts Developers List [EMAIL PROTECTED]
 Sent: Thursday, September 25, 2003 3:39 PM
 Subject: RE: Editable Fields V/S Static Text


 
  --- Edgar P Dollin [EMAIL PROTECTED] wrote:
   I think it is more than a 'preference' based on the rapidity with which
   INVALID or WONTFIX is stamped on tag suggestions and patches.
 
  I can't speak for anyone else but here is my view on the tags:
 
  There are 3 things that earn my -1 on tag enhancements:
  1.  Functionality already provided by the JSTL.
  2.  Functionality that supports non-standard HTML generation.
  3.  Tags that don't tie into the Struts core functionality.  These are
  better suited for the Jakarta Taglibs project.
 
  I'm personally open to other tag enhancements.  If you check cvs, you'll
  see that I have volunteered some time at refactoring and enhancing the
  tags.
 
  Whenever tag extendability enhancements are discussed, we always hear
  complaints from a vocal minority but no tested working patches show up.  I
  haven't heard any good suggestions that would make the tags easier to
  subclass.  If the current factoring isn't good enough, provide patches for
  something better.
 
  The fact is that the current tags work great for my needs so I'm not
  motivated to spend a bunch of time pondering some ultimate extendability
  framework.  There's not much we can do without use cases and patches.
 
  David
 
  
   Perhaps it would be best if the tags were cut loose from struts and a
   different group of committers were responsible for them.  I wouldn't,
   nor
   would I expect anyone else interested in the tags to make any time
   commitment with the current 'RULES' placed on the tags, i.e. ONLY emit
   HTML
   4.01 or XHMTL 1.0, only a 'thin' layer over standard html tags, etc.
  
   Edgar
  
-Original Message-
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 25, 2003 2:23 PM
To: Struts Developers List
Subject: Re: Editable Fields V/S Static Text
   
   
It's only a political football in the sense that most of
the current
committers would prefer not to work on the HTML tags.  If other folks
came to the fore and committed themselves to supporting those tags,
including writing unit tests and answering questions on the
user list, I
don't think you would see much opposition to development in
that area --
along with an eventual nomination for committer status for the
individuals involved so that they can do their work directly.
   
Asking the existing committers to do all the work isn't the way to
leverage how open source operates :-).
   
Asking the existing committers to apply patches (and add unit
test cases
that already work), and pestering them until they get around
to it (or
nominate you to committer status so you can do it yourself)
*is* the way
to leverage how open source operates :-).
   
Craig
   
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
 
 
  __
  Do you Yahoo!?
  The New Yahoo! Shopping - with improved product search
  http://shopping.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]




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



RE: struts-chain, wildcards, web services

2003-09-25 Thread Don Brown
On Thu, 25 Sep 2003, Steve Raeburn wrote:
snip /
 Shouldn't you be exposing your business objects as web services, not
 Struts actions or forms? Struts deals with controlling the user
 interface (currently Servlet specific) so any business tier / web
 services tier code would be outside of the Struts domain.

I'm not suggesting this type of functionality be in Struts core, as I
agree with you Struts is focused on controlling the user interface.
However, I can imagine the following situation: using struts-chain, define
an action that takes parameters, uses the context to determine
authorization, checks for a web context to perform servlet-specific
things, pulls data from the business facade and sticks it in the request.
I would want to expose that both to Struts and as a web service without
any extra code, save perhaps an Axis WSDD.

While of course it isn't too hard to write an interface layer to expose
business objects/facades via web services, since Actions are already only
a few lines, I'd rather not write a whole other set of classes.  And of
course, I'd like to take the same actions and expose them to portlet code.
struts-chain does a great job of remaining agnostic of implementation and
let you mix and match just about anything.

Don


 Steve

 
  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]



Re: Where is Struts 2 going?

2003-09-16 Thread Don Brown
In the aforementioned stxx (http://stxx.sf.net) project, I've been working
on combining Struts with xmlforms (http://www.xmlform.org) to create
Struts ActionForms that use plain XML as the model.  Using pure XML as the
model has several advantages over javabeans I believe:

- Quicker development
- Use of XPath for powerful data access
- Many different validation options (schematron, xsd, relax-ng, etc)
- Ability to simultaneously expose forms as document-based SOAP web
services

While xml mapping toolkits have gotten better, I found keeping the model
in XML saves development time, and with xpath and JDOM, the data can be
accessed much quicker (in development time, not runtime of course).

Don

On Sat, 13 Sep 2003, robert burrell donkin wrote:

 On Friday, September 12, 2003, at 12:01 AM, Jing Zhou wrote:

 snip

  4) We could add more... (like portlets)

 (this is probably a bit left field but you need to make time to dream...)

 i'm a big fan of cocoon and have some idea about when webservices are the
 answer but one idea i've been turning over in ideal moments is whether (or
 rather how) MVC (and in particular struts) could (or rather should) be
 applied to xml-centric environments.

 at the moment struts has action forms which are mapped from http requests.
   i've been wondering about plugging some kind of bean-centric
 pre-processor (could be betwixt, could be castor, could be a JAXB
 implementation, could be XMLBeans) to convert an incoming xml document
 into a bean representation and then feeding that into a struts action.
 probably need an xml-centric output wrapper to help write a response to
 xml from output beans.

 the advantage of this kind of approach is that it cuts the overhead which
 i've observed you get when you ask java coders to 'just go do that xml
 thing'. on the other hand, an experience struts coder should be able to
 handle java bean-in, java bean-out just fine.

 sightoo much to do, too little time/sigh

 - robert


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



Flexible form support (was Re: Simplifying DynaActionForms)

2003-08-15 Thread Don Brown
This reminds me, I think Struts should be more flexible supporting the
configuration of other types of forms or extensions to existing forms
(like the aforementioned modification to the dynaform).  While you can
specify any form class, you cannot pass properties to that instance making
it difficult to develop generic, powerful forms, like dynaforms, outside
the Struts framework.

For example, I've been working with an extension of ActionForm that uses
XML as its model, allowing the XML to be modified directly through Struts
saving heaps of mapping code.  In addition to naming my class, I'd like to
specify the XML file it should use as a model.  Currently, I do this
although it is admittedly a hack:

form-bean
name=UserForm
type=com.oroad.stxx.xform.DOMForm
form-property
name=xml
type=/WEB-INF/models/user.xml
/form-bean

In addition, in order to have control over the form population, I have to
extend RequestProcessor and override processPopulate().

Therefore, I think there should be a way to:

1. Pass parameters to a form in the configuration
2. Explicitly handle form population.

Perhaps there are strong reasons why this wouldn't be a good idea, but I'd
like to hear them.  I apologize if this topic has already been dealt with.

Don

On Fri, 15 Aug 2003, Ted Husted wrote:

 In terms of simplifying the maintenance of DynaActionForms, I was
 wondering if we had tried anything like this yet?

 form-bean name=inputBean
type=org.apache.struts.validator.DynaValidatorForm
proxy=com.mycompany.project.businessBean /

 where the proxy class would be introspected, and String or boolean
 dynaproperties generated for each public property? (Rather than specify
 them ourselves as XML.)

 -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 for Portlets (requesting your opinions)

2003-08-14 Thread Don Brown
I couldn't agree more, however I'm not sure if the answer is a completely
independent core like xwork or totally wrapping servlet objects and method
calls like Cocoon in generic Enviroment objects.  If Struts application
should be able to be exposed in multiple environments, perhaps the Cocoon
approach has more value.  It might be nice to eventually even be able to
run Struts from the commandline :)

Don

On Wed, 13 Aug 2003, Mete Kural wrote:

 Agree. I just read Craig ideal view and I think this view may be a
 good start.

 I think so too. I will re-state Craig's ideal goal below for others to catch up:

 I believe that we should aim for the following ideal state -- a Struts application 
 shoud be usable either as a webapp or as a portlet, with little (ideally no) 
 changes.  Therefore, I believe that we'd build whatever it takes to support this 
 into the standard Struts distribution, which would then be used in both 
 environments.

 I would like to ask everybody what their opinions are about this topic. Is it 
 technically possible for Struts to enable the same application to be turned into a 
 webapp or a portlet at the switch of a button? Could the fundamental differences 
 between a webapp and a portlet not allow such a possibility?

 Mete

 -- Original Message --
 From: BaTien Duong [EMAIL PROTECTED]
 Reply-To: Struts Developers List [EMAIL PROTECTED]
 Date:  Wed, 13 Aug 2003 12:24:47 -0600

 Agree. I just read Craig ideal view and I think this view may be a
 good start.
 
 BaTien
 DBGROUPS
 
 Mete Kural wrote:
 
 Struts-Tiles-Portal-Portlet framework and container.
 
 
 
 I think that there is a big difference between the framework used to build a 
 portal server and a portlet framework. I see that Struts+Tiles is a very good 
 framework to build a portal server, but it seems to me that the ways in which 
 Struts would be used as a framework for building a portal server are very 
 different than Struts being used as a portlet framework.
 
 IMHO, Struts developers should focus on making Struts an efficient portlet 
 framework. Portal server developers could tweak Struts in their own ways in order 
 to use it as a framework for building their portal server, but I don't see the 
 need for standardization in this area. Standardization is rather necessary in the 
 are of using Struts as a portlet framework.
 
 What are your opinions?
 
 -Mete
 
 -- Original Message --
 From: BaTien Duong [EMAIL PROTECTED]
 Reply-To: Struts Developers List [EMAIL PROTECTED]
 Date:  Wed, 13 Aug 2003 11:02:44 -0600
 
 
 
 Greetings:
 
 I am very interested in this discussion, and will have more time to
 think of the overall structure after the release of JSR-168 Reference
 Implementation (Pluto).
 
 At a cursory level, i see Struts provides very simple and elegant flow
 controllers of what-to-do and how-to-do based on standard Servlet
 container. Tiles is an elegant dynamic templating engine, also based on
 standard Servlet container. I see JSP tiles as a plus rather than a
 short-coming since J2EE has JSP as its dynamic page assembling.  JSR-168
 portal/portlet containers are official extension of Servlet container.
 It seems not a very major issue to make Struts and tiles a 1-2 punch for
 JSR-168 portal/portlet containers. Tiles context may be refactored into
 Portlet context. Tiles already has a facility to dynamically generate
 tile attributes for changing the page assembling. This is probably what
 the JSR-168 authors mention that Portlet can act as controller, fill a
 bean with data, and include a JSP to render the output. See this pattern?
 
 The effort is valuable, since many Struts Plug-ins can be parts of our
 tools. I see Jetspeed is too heavy, not simple and elegant enough to
 realize the potential of JSR-168 and WSRP. We can learn many designs
 
 
 from Jetspeed to bring them into this new portal/portlet framework with
 
 
 simple and elegant design infrastructure. I hope many designers and
 developers interested in this relevant topic:
 Struts-Tiles-Portal-Portlet framework and container.
 
 BaTien
 DBGROUPS
 
 Mete Kural wrote:
 
 
 
 Hello Struts developers,
 
 I wanted to get your opinions on how Struts should be used as a portlet 
 framework. I think that it would be great if a portlet framework was part of the 
 standard Struts distribution in the near future. JSR-168 which defines standard 
 portlets will be finalized pretty soon (a month?), although the specification 
 draft is pretty much stable hereafter.
 
 I have two main questions:
 
 1) My first question is technical. How do you think portlet support would be 
 best added to Struts? Which classes should be extended? Are there necessary 
 changes at the core classes of Struts in order to provide an efficient framework 
 for building portlets?
 
 2) Second question is about how a Struts-based or Struts-like portlet framework 
 should be distributed. Should it be part 

Re: Wildcard-matched actions (again)

2003-08-14 Thread Don Brown
Heh, thankfully no. :)  In fact, that's one of the reasons I'd like to
incorporate this into Struts itself to remove that alternate processor
requirement.

The patch adds a couple of lines to RequestProcessor.processMapping() to,
in the case of no direct mapping found, try to match any wildcards.  All
of the logic of wildcard mapping is stored in a helper class to keep
RequestProcessor as clean as possible.

Don

On Mon, 11 Aug 2003, David Graham wrote:

 --- Don Brown [EMAIL PROTECTED] wrote:
  I'd like to put the wildcard-matched action code from Bug #21813
  (http://issues.apache.org/bugzilla/show_bug.cgi?id=21813) into
  Struts.  When I mentioned it last, the only concern I heard raised was
  from Craig regarding performance penalties.  As I noted in the bug
  description, the path isn't checked against compiled wildcards until an
  exact match cannot be found.  Even then, it is only checked against
  action
  mappings that actually contain at least one wildcard.
 
  Let me know if anyone has any reason I shouldn't do this or concerns I
  can
  hopefully alleviate.  Thanks.

 Looks pretty neat.  On your site you have a custom
 WildcardRequestProcessor that performs this behavior.  Are you planning on
 incorporating it directly into RequestProcessor now?  I don't think we
 should exasperate the poor RequestProcessor situation any further by
 adding more of them.

 David

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


 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.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: Wildcard-matched actions (again)

2003-08-14 Thread Don Brown
I apologize if I wasn't clear; there is absolutely no performance penalty
for any existing or future Struts applications that do not use wildcards.
Upon initialization of the RequestProcessor, it runs through each action
mapping to see if any of them use wildcards.  Only if a wildcard is found
in the path attribute, the path value is compiled and added to a list of
expressions to test.  Therefore, if wildcards aren't used at all, this
feature is completely ignored.

When processMapping() is called, the path is tested against compiled
wildcards only if the following requirements are NOT met:

1) There is no direct match for the path (usual Struts behavior)
2) There is at least one action mapping that uses wildcards

Therefore, even if your entire application relies on the default action
mapping, if you are not using wildcards, your application will suffer no
penalty.

As for putting it in post-1.2.0, that is fine.  I've been using the code
for over a month in my day job's application and it has been in stxx
(http://stxx.sf.net) for as long.  Furthermore, the core of it comes from
Cocoon and forms the basis for how pipelines are matched in their sitemap.
In my application, it cut the number of action mappings by 66% making
Struts tons more manageable.

But again, its completely optional and doesn't affect anyone who doesn't
use wildcards.

Don

On Tue, 12 Aug 2003, David Graham wrote:

 --- Robert Leland [EMAIL PROTECTED] wrote:
  Matthias Bauer wrote:
 
  
   I would like to be able to turn off this pattern matching feature, as
   performance is a very critical issue for a CMS.
 
  +1

 So far I haven't heard any definitive answer to the performance question.
 If there isn't any performance penalty then we don't need the ability to
 turn off pattern matching.  I'm starting to think this enhancement should
 wait for 1.2.1 instead of trying to squeeze it in for 1.2.0.

 David

 
  
  
   --- Matthias
  
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
  
 
 
  --
  Robert Leland   [EMAIL PROTECTED]
  --
  Java, J2EE, Struts, Web Application Development
 
  804 N. Kenmore Street   +01-703-525-3580
  Arlington VA 22201
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 


 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.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: cvs commit: jakarta-struts/doc/resources extensions.xml

2003-08-14 Thread Don Brown
I wasn't sure since I submitted the request myself, but I will be sure to
do so in the future.

Don

On Mon, 11 Aug 2003, David Graham wrote:

 I'm assuming this commit was prompted by a corresponding enhancement
 ticket.  If so, it would be helpful if you included the ticket number in
 the commit message so we can reference it later for more info if needed.
 I think the typical notation is PR# .

 David

 --- [EMAIL PROTECTED] wrote:
  mrdon   2003/08/11 16:51:03
 
Modified:doc/resources extensions.xml
Log:
Added Struts BSF project link and description
 
Revision  ChangesPath
1.11  +1 -0  jakarta-struts/doc/resources/extensions.xml
 
Index: extensions.xml
===
RCS file: /home/cvs/jakarta-struts/doc/resources/extensions.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- extensions.xml15 Feb 2003 20:55:24 -  1.10
+++ extensions.xml11 Aug 2003 23:51:03 -  1.11
@@ -38,6 +38,7 @@
 pa href=http://husted.com/struts/resources/mapper.htm;bMapper
  Framework/b/a by Capco - The Mapper framework can be used for
  automating the process of validating/converting/transferring data
  fields. font size=2(See README to get started. Updated
  18-JUL-2001.)/font/p
 pa href=http://www.sura.ru/~gonza/bean-factory/;bBean
  factory/b/a by Oleg V Alexeev - Adds the ability to easily link data
  bean creation to any Struts Action. All information about databeans and
  actions mappings stored in the standard Struts configuraton file. /p
 pa href=http://home.earthlink.net/~dwinterfeldt/;bStruts
  Validator/b/a [Now bundled with Struts 1.1] by David Winterfeldt -
  Perform basic validations to check if a field is required, matches a
  regular expression, and some basic type checking. Different validation
  rules can be defined for different locales. The framework has basic
  support for user defined constants which can be used in some field
  attributes. The validation routines are modifiable in the validation.xml
  file so custom validation routines can be created and added to the
  framework./p
+pa href=http://struts.sf.net;bScriptable Actions/b/a by
  Don Brown - Allows Struts Actions to be written in the scripting
  language of one's choice rather than as Java classes. It uses the a
  href=http://jakarta.apache.org/bsf;Beans Scripting Framework/a to
  allow scripts to be written in any language BSF supports like Python
  (using a href=http://www.jython.org/;Jython/a), Ruby (using a
  href=http://jruby.sourceforge.net/;JRuby/a), JavaScript (using a
  href=http://www.mozilla.org/rhino/;Rhino/a), or a
  href=http://www.beanshell.org;BeanShell/a./p
 /section
 
 /chapter/body/document
 
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 


 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.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]



Wildcard-matched actions (again)

2003-08-14 Thread Don Brown
I'd like to put the wildcard-matched action code from Bug #21813
(http://issues.apache.org/bugzilla/show_bug.cgi?id=21813) into
Struts.  When I mentioned it last, the only concern I heard raised was
from Craig regarding performance penalties.  As I noted in the bug
description, the path isn't checked against compiled wildcards until an
exact match cannot be found.  Even then, it is only checked against action
mappings that actually contain at least one wildcard.

Let me know if anyone has any reason I shouldn't do this or concerns I can
hopefully alleviate.  Thanks.

Don




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



Re: struts-config and xslt

2003-08-04 Thread Don Brown
There exists a project on the Struts Sourceforge site called StrutsDoc
which seems to be what you are wanting - a JavaDoc tool for Struts
(http://struts.sf.net/strutsdoc).  While I agree visualization
important, I'm not sure it belongs in Struts itself.  The Struts
Sourceforge project, on the other hand, is a great place to projects
like this which many Struts users would find useful.  Please
feel free to get involved in StrutsDoc or any other project.

As for the dtd mods, while web.xml does have name and description
information, I agree it would be nice to have them in Struts in the case
of multiple modules per servlet.

Don


On Tue, 5 Aug 2003, [iso-8859-1] Jonas Björnerstedt wrote:

 Hello,

 Having to evaluate an xml editor (I won't say which), I decided to use
 struts-config.xml as an example. After some hours wrestling with the
 program, this is the result I got:

 http://bjornerstedt.org/struts-config.html

 It is the config file from the struts-example application. It was created
 using:

 http://bjornerstedt.org/struts-config_1_1.xslt

 It's not that pretty (especially not in Mozilla). I am sure others can do it
 better, but given that it is rather easy to create an xslt, I think it would
 be a good idea to include one in Struts. Not only does it make the file more
 readable for large applications, it can also be used to make the xml -
 editor a decent Struts editor.

 While messing with the struts-config_1_1.dtd, I was surprised not to find a
 way to name and describe the whole application. Specifically, I would like
 to see display-name and description added to the struts-config element in
 the dtd:

 !ELEMENT struts-config (display-name?, description?, data-sources?,
 form-beans?, global-exceptions?, global-forwards?, action-mappings?,
 controller?, message-resources*, plug-in*)

 instead of:

 !ELEMENT struts-config (data-sources?, form-beans?, global-exceptions?,
 global-forwards?, action-mappings?, controller?, message-resources*,
 plug-in*)

 Descriptions should be available at all levels.

 Jonas


 -
 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] Don Brown as committer

2003-07-23 Thread Don Brown
On Wed, 23 Jul 2003, Rob Leland wrote:
snip /
 Don, I wasn't familar with your name but after searching Google, I see
 that you
 developed stxx, Struts  Cocoon adaptor, BFS scripting for struts,
 Action pattern matching,
 it also looks like you are familar with JetSpeed (Not sure) ...

I have some interest in JetSpeed as it is the portal that is being
evaluated by the US Navy to be their enterprise portal (most of our
contracts here in Hawaii are with the US Navy).  I tried to get struts
working with it, but with Jetspeed 2.0, JSR 168, etc on the horizon, I put
that project off.  Besides, from my initial investigation, tight
integration would require Struts to be more servlet-independent, sorta
like xwork, which if it happens, is a long way off I'd guess.  I settled
with using stxx to expose pages as XML to be transformed later in
a portlet.  Not the best performer, but it is does let me reuse my app w/o
having to rewrite or duplicate any Java code.

However, with JSR 168 getting closer to finalization and Struts 1.1 out
the door, perhaps I'll give it another wack.  I'm a big fan of integrating
existing technologies and tighter Struts integration with Jetspeed would
be a good target I think.

Don



 --
 Rob Leland



 -
 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] Wildcard-matched actions

2003-07-06 Thread Don Brown
On Sunday 06 July 2003 02:12 am, Ted Husted wrote:
snip /
 Don,

 Would your patch interact with

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

I don't see why not.  My patch inserts a few lines in processMapping which 
calls a helper class that runs through all the action configs, matches one, 
clones it and replaces wildcard values with the literal values, and returns 
the new clone.  

I'll put the code in patch form and post it on bugzilla.

Don



 -Ted.

 Graham Leggett wrote:
  Don Brown wrote:
  Perhaps now that 1.1 is final, this would be a good time to bring this
  up.
  I've written a small extension to Struts that allows action mappings to
  use wildcards in matching URIs.
 
  I submitted a patch to bugzilla a while back that did prefix matching in
  matching URIs. A config called foo could be called, regardless of
  whether it was accessed as /bar/foo, or /fred/foo. Very useful for
  standard functionality that is reused in a site, such as a login form.
  We've been using it for a while, and it works great.
 
  Wildcard matching would also be really useful.
 
  Regards,
  Graham


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



Re: [PROPOSAL] Wildcard-matched actions

2003-07-05 Thread Don Brown
Actually, the way I wrote the code, wildcards are only matched if an exact 
match cannot be found but before the unknown action mapping is executed.  
So, there is no performance penalty for existing applications that use 
specific matchings.  The order:

 - Try to find an action mapping that matches the path exactly
 - Try to find an action mapping using wildcard matching
 - Try to locate the mapping for unknown paths

Don



On Saturday 05 July 2003 08:31 am, Craig R. McClanahan wrote:
 On Sat, 5 Jul 2003, Niall Pemberton wrote:
  Date: Sat, 5 Jul 2003 01:32:45 +0100
  From: Niall Pemberton [EMAIL PROTECTED]
  Reply-To: Struts Developers List [EMAIL PROTECTED]
  To: Struts Developers List [EMAIL PROTECTED]
  Subject: Re: [PROPOSAL] Wildcard-matched actions
 
  I like it.
 
  Perhaps you should create an enhancement request in bugzilla and attach a
  patch with your code.

 The idea makes some sense, and gets us more towards a general purpose
 site map approach to mapping arbitrary URLs to arbitrary actions.  My
 one concern will be performance related, since this kind of matching will
 be slower than the existing approach.  This could perhaps be alleviated by
 having a per-module-setting (or some smart initialization code) that only
 used the wildcard matching code if the module actually has some actions
 that need it, and uses the optimized version otherwise.

  Niall

 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: [PROPOSAL] Wildcard-matched actions

2003-07-05 Thread Don Brown
And I forgot to mention, when using the wildcard matcher, only action mappings 
that actually contain wildcards will be tested.

Don

On Saturday 05 July 2003 01:18 pm, Don Brown wrote:
 Actually, the way I wrote the code, wildcards are only matched if an exact
 match cannot be found but before the unknown action mapping is executed.
 So, there is no performance penalty for existing applications that use
 specific matchings.  The order:

  - Try to find an action mapping that matches the path exactly
  - Try to find an action mapping using wildcard matching
  - Try to locate the mapping for unknown paths

 Don

 On Saturday 05 July 2003 08:31 am, Craig R. McClanahan wrote:
  On Sat, 5 Jul 2003, Niall Pemberton wrote:
   Date: Sat, 5 Jul 2003 01:32:45 +0100
   From: Niall Pemberton [EMAIL PROTECTED]
   Reply-To: Struts Developers List [EMAIL PROTECTED]
   To: Struts Developers List [EMAIL PROTECTED]
   Subject: Re: [PROPOSAL] Wildcard-matched actions
  
   I like it.
  
   Perhaps you should create an enhancement request in bugzilla and attach
   a patch with your code.
 
  The idea makes some sense, and gets us more towards a general purpose
  site map approach to mapping arbitrary URLs to arbitrary actions.  My
  one concern will be performance related, since this kind of matching will
  be slower than the existing approach.  This could perhaps be alleviated
  by having a per-module-setting (or some smart initialization code) that
  only used the wildcard matching code if the module actually has some
  actions that need it, and uses the optimized version otherwise.
 
   Niall
 
  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]



[PROPOSAL] Wildcard-matched actions

2003-06-30 Thread Don Brown
Perhaps now that 1.1 is final, this would be a good time to bring this up.
I've written a small extension to Struts that allows action mappings to
use wildcards in matching URIs.  The matched values can then be
substituted anywhere in the action mapping - similar to how Cocoon
operates (in fact the wildcard code was copied from Cocoon).  The code
only affects the processActionMapping method of the RequestProcessor.

Why you ask?

 - Much smaller config files
 - Use of wildcards encourages more consistency of naming action forms,
actions, and jsp files.
 - Allows for noun-based URLs in addition to current verb-based URLS,
particularly useful in REST-style web services
 - No performance loss: wildcard matching only occurs when a direct
mapping for the URI cannot be found

For example:

!-- Matches all edit forms --
actionpath=/edit*
   type=org.apache.struts.webapp.example.Edit{1}Action
  attribute={1}Form
  scope=request
   validate=false
  forward name=failure  path=/mainMenu.jsp/
  forward name=success  path=/{1}.jsp/
/action

By including this feature directly in Struts, wildcards would be available
to all Struts applications as opposed to now where wildcard support
requires a RequestProcessor extension.

For more information:

http://www.twdata.org/struts-wildcard/

Don


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



RE: Struts can't get its act together - JavaPro

2003-06-13 Thread Don Brown
Rumor has it IDEA is working on a C# version :)

Don

On Fri, 13 Jun 2003, David Graham wrote:

 the .NET heads ( is there a term used to describe them? ) come back and say
 that it is easier and faster to build in C# then Java. They say that the
 tools to work with C# are better ( I don't agree ).

 Having worked with VS.NET and various Java IDEs I can say that .NET
 developers don't know what they're missing.  They might have easy gui
 construction but VS is woefully lacking in ease of use and features (the
 most noticeable to me is the lack of automated refactorings).

 David


 In fairness, we should
 not assume that .NET developers are going to skip design or write GUIs with
 no functionality. We should look at the total cost of development.
 
 I must take issue with your point that
   It's this complexity that goes begging when UI construction is the sole
 (or even majority) measure of productivity.
 
 The fact is that as of right now you can build and maintain a GUI using
 .NET
 faster and easier (read productivity). You can build rich and complex
 functionality using C#. The building the business functionality is
 basically
 on par between Java and C#. Is it not fair to say that the productivity
 gained in the GUI construction is a clear win for .NET?
 
 If you take two groups one for Java/Struts/et. al. and one for .NET, where
 they are equally proficient in their respective technologies, and give them
 the same application to build, which will be done first? Bottom line who
 gets the job done first? The business world has decided that the .NET team
 will be done first. From what I have seen myself I have little reason to
 doubt this.
 
 I have made the argument about how much richer Java is as a language, and
 what I hear back is that the difference between Java and C# is like the
 difference between Coke and Pepsi. Again, perception is reality.
 
 Good tools do have a direct impact on development schedules. When are we
 going to have JSF and the tools to support it? Are the anti-Microsquish
 league (IBM, SUN, Oracle, et. al.) going to come up with tools to match
 .NET?
 
 Lastly, one of our teams here is writing a .NET front-end talking to Web
 Services supplied by a Java J2EE middle tier. The say they are having their
 cake and are able to eat it too. The interesting thing is they are
 succeeding and are getting their applications to the users faster and
 management has noticed.
 
 Glenn
 
 
 -Original Message-
 From: Chris Gerrard [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 13, 2003 1:48 PM
 To: Struts Developers List
 Subject: RE: Struts can't get its act together - JavaPro
 
 
 Glenn,
 
 I'm continuously unimpressed by the implicit assumption that Developer
 Productivity == GUI construction. The blind acceptance of this hoary old
 chestnut has been a huge impediment to real progress in developing better
 systems.
 
 Given that the rapid construction of a UI is a good thing, what's my beef?
 
 Simply put, there's a whole world of complexity behind the UI that needs to
 be conceived of, designed, and implemented before the application is
 useful. It's this complexity that goes begging when UI construction is the
 sole (or even majority) measure of productivity.
 
 There are levels of productivity. GUI building is on the surface, easy to
 see. But it's thin, and not nourishing. Real productivity lies in the
 ability to provide rich, complex functionality that supports real people in
 getting real things done.
 
 GUI tools tend to concentrate on the thin layer on top, providing some
 hardwired mechanism(s) underneath to support the UI. This is an extreme
 limitation in real productivity in that it limits the access the developers
 have to the underlying bits. Struts provides the framework that lets us
 deal with the UI and get past it into the Java world where we're really
 limited only by our own skills and knowledge.
 
 Like Vic said in his post, I provide training in Struts (and other stuff)
 to corporate clients. I recently mentored a bunch of mainframe programmers
 starting up with Java/Struts in order to reimplement their existing FoxPro
 application. It's a simple customer info collection application - get some
 info into a form, save it, find it, update it, save the changes. The UI
 side of things is straightforward with Struts, as it would be with other
 technologies. BUT, real complexity lies unspoken in the find it
 functionality.
 
 The naive approach is to provide a single-field input form accepting a
 client ID# which is used to look up the info. Next up is the search form
 approach: Let's give them a form that looks like the input form, let them
 fill in some value(s) and then search for their info. OK, now we're
 talking. What fields are on the form? How do the values entered interact
 with one another - implicit ANDs or ORs, or do we try to give them a real
 query builder? And so it goes. Even better, as the user population gains
 experience with the application,