Hello all,
I really love that I can write an action bean and have parameters
directly map into fields on the bean - this is clean and simple and
makes using stripes to create ad hoc pages a real pleasure. However
as the application grows I find myself needing to separate a single
stripes action into more find grained actions - to keep the design
clean and maintainable. But then I meet a problem: now I have
significant business knowledge tied up in the annotations that control
validation and binding. Most of those I want to reuse (maybe not
all) in all my fine grained actions. So the question is, how can I do
that?
I started doing simply using inheritance - I have a base action and
all the child actions extend that one. But soon I meet the problem
that I want to make a combined action that accepts input from two
forms - it needs to inherit from two actions to reuse their
annotations. Apart from the fact this is impossible in java there is
a bad code smell about this - inheritance isn't really a good way to
achieve code reuse at the best of times.
So - I pose this mainly as a question, to ask if there is any better
way, or perhaps just a starting point for discussion - is there some
way to enhance stripes in the future to better meet this need?
Just for comparison one can look at Django, and also Struts - in these
cases the design separates the forms from the action and the problem
I'm writing about is part of the reason. Stripes made things simpler,
but did it lose some important power of abstraction along the way?
Here's what I think I want - I might be wrong :-) What I would
really like is to be able to tell stripes to look for binding and
validation annotations on child objects embedded in my action.
Fantasy pseudo code:
class User {
@Validate(required=true,maxlength=30)
String name;
}
class MyAction implements ActionBean {
@Validate(delegate=true)
User user;
}
Validation will now be delegated to annotations on the User class
itself. Now I can share my user around all my action beans and use
validation from all of them! It also looks a bit neater to me than
having to use ValidateNestedProperties annotations - they look verbose
and out of place on my parent action. I write this just to
stimulate conversation and see if there's a better idea, or any
interest in implementing something like this. Thoughts?
Cheers,
Simon.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users