...and i forgot to tell that this language OF COURSE supports:
- call of views (e.g. jsp-pages with taglibs embedded in it)
- call of subworkflows
- parametrized calls of actions
- inner workflow jumps
- automatic handling of the "browser-back and new browser-window"-problem
for instance:
<call>
<expr eval="'der_depp'"/>
<call-param>
<expr eval-to="$:WFCALL.call1$" eval="'call1'"/>
</call-param>
</call>
<expr eval-to="$:*.THE_RETURN$" eval="$:WFCALL.RETURN$"/>
<multi>
<expr eval-to="$:§.username$" eval="'myParam1'"/>
<expr eval-to="$:§.TestAction1_PARAM_1$"
eval="'myParam1'"/>
<action
classname="de.wwl.jmsEE.test.mvc.TestAction1"/>
<expr eval-to="$:*.TestAction1_R_1$"
eval="$:@.TestAction1_RETURN_1$"/>
<expr eval-to="$:*.TestAction1_R_2$"
eval="$:@.TestAction1_RETURN_2$"/>
</multi>
<show name="endlich_view"><expr eval="'jms.jsp'"/></show>
<jump to="firster" name="jump-Up-jump-Up-and-get-down"/>
--amar
-----Ursprüngliche Nachricht-----
Von: Amarendran Subramanian
Gesendet: Dienstag, 23. April 2002 15:01
An: 'Jakarta General List'
Betreff: AW: Subproject Proposal - crossdb
Hi there,
I developed a time ago something similar which includes a database
persistence layer on top of it.
It maps table entries in java objects and vice versa, the key features are:
- 1-n, n-m, 1-1 references with automatic cache updates
- query caches (always up to date)
- automatic and manual transactions with to phase commit (if distributed)
a third layer is a complete XML-based Controller-language e.g. the code
looks like
<workflow name="themain">
<init>
<varscope name="testvs"/>
</init>
<flow>
<expr eval-to="$:*.test1$" eval="'1'"/>
<expr eval-to="$:*.test1$" eval="#String#.valueOf( (int)(
#Integer#.parseInt($:*.test1$)+1))"/>
<expr
eval="#System#.out.println($:*.test1$.(Object)toString())"/>
<expr eval-to="$:*.blupp$"
eval="#Integer#.parseInt('12'+'3')+7" name="firster"/>
<expr eval-to="$:*.blupp3$" eval=
"(#Integer#.parseInt('12'+'3')+7).toString() + '
ADDED DEPP'"
name="ueberhaupt_net_firster"/>
<expr eval="#System#.out.println(' DER
SYSTEM.OUT-DEPP')"/>
<!-- this one won't cause a dynmaic method lookup and hence
is faster than the one below -->
<expr eval-to="$:*.blupp2$" eval=
"$:*.blupp$.(Integer)doubleValue()"
name="not_so_firster"/>
<!-- this is the slow version causing a dynamic java method
lookup -->
<expr eval-to="$:*.blupp2$" eval=
"$:*.blupp$.doubleValue()"
name="doch_net_so_firster"/>
<if><expr eval="$:*.BLUPP3$ == null"/>
<then>
<flow>
<expr eval-to="$:*.BLUPP3$" eval="$:REQUEST.req1$"/>
</flow>
</then>
</if>
<expr eval-to="$:testvs.depp$"
eval="3+6+2*2+((7+40)-3*(2+1))" name="first"/>
<if name="depp0"><expr eval="((1> 2)==false) AND (3>2) AND
(7==7)"/>
<then>
<flow>
<expr eval-to="$:testvs.depp$" eval="3+6+2*2"
name="depp1"/>
<expr eval-to="$:testvs.depp$"
eval="((7+40)-(3*2)+1)" name="depp2"/>
<expr eval-to="$:testvs.depp$"
eval="((7+40)-3*(2+1)+1)" name="depp3"/>
</flow>
</then>
<else>
<flow>
<expr eval-to="$:testvs.depp$" eval="((7+40)-3*2+1)"
name="depp4"/>
</flow>
</else>
</if>
....
</flow>
</workflow>
maybe we can build something greater together.
sincerely amar
-----Ursprungliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Gesendet: Montag, 22. April 2002 03:10
An: [EMAIL PROTECTED]
Betreff: Subproject Proposal - crossdb
Hi,
I would like to propose a new subproject for Jakarta and I will give some
details below.
The project is called crossdb and can be found at www.crossdb.com.
What is it?
crossdb is a Java API that is used to create SQL statements that are
database independent. So you can write an application and have it run the
exact same on any database (ie: MySQL, Oracle, MS SQL Server, etc.)
The current release is ready for download and ready to use on several
databases.
We currently have 3 developers that work on it. I would like to have more
people working on it to get more input and expertise into the different
database implementations and I think the Jakarta project is the perfect
place for this. I think the Jakarta project is absolutely terrific (and the
Apache Foundation) as I try to use anything I can from Apache and it's
projects.
Basically, the value of this API is that you can save tons of time and
effort changing code or learning the different SQL syntax. Now you can just
use the crossdb API to write it once, run it anywhere (ie: on any database).
Anyways, please let me know if you think this would be a valuable subproject
for Jakarta. Thanks.
Travis Reeder
Chief Software Architect
www.ThinkVirtual.com
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>