Re: Basic CRUD

2003-06-15 Thread Jing Zhou

- Original Message - 
From: "Vic Cekvenich" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, May 29, 2003 9:48 PM
Subject: Re: Basic CRUD


> Maybe in 3rd world countries this works,  maybe you should spend a few $
> with IP Lawyer?
> You can't make generalization because some open source license requires
> attribution (this was built using) , or licensing in kind (they own your
> source),  or are only for non commercial use or worse.
>
> Anyway, if netspread becomes big enough to sue 
> This will be a good e-mail to use to establish MO.
> Here is my Algorithms, here it is at NetSpread, and here is my license.
>

Just back and find this thread had gone too far from its original subject.
As a lead algorithm engineer with published algorithms on IEEE Transactions
and a United States patent granted in 1999, I feel lucky I did not work
with 3rd class instructors who do not understand basic research principles.

> Open source is rarely artistic license. Only artistic license I recall
> is Doug Lea's fast threaded collections.

Any license term can not privide *all* things to *all* people, just like
a framework can not do *all* things for *all* people, regardless it is
artistic or not. Carrier production license will be designed to encourage
smart people to develop advanced algorithms and publish them too.

Jing

>
> .V
>
> [EMAIL PROTECTED] wrote:
>
> >On Thu, 29 May 2003 22:04:36 -, "Eric Miles" <[EMAIL PROTECTED]>
wrote :
> >
> >
> >
> >>Chicks that don't lay eggs are still good for cooking, eh?  ;-)
> >>
> >>Jing,
> >>Your source code is Open Source licensing, right?  Not going to sue
> >>me when I resell or make $$$ off your code?!?
> >>
> >>
> >
> >Here are what I did before I created the *general* CRUD algorithm:
> >Performed serious research on existing CRUD algorithms from several
> >vendors, published articles, and mailing lists.
> >Then started to design a *superior* version of my own.
> >I am not worried about vendors will sue me at all because I know it
> >is my own work and I am grateful to those who published their algorithms
> >so that I can design a *better* one.
> >
> >Making my algorithms available in this mailing list is not just for
> >*you*, it is for ones who want to find their own *better* solutions.
> >Innovations benefit from sharing ideas. That is my point of view.
> >
> >If anyone believes he/she has to license a product to get an idea,
> >That is fundamentally wrong if that idea or algorithm has not been
> >patented yet(Stop! this subject is not about license:-)
> >
> >
> >
> >>Although, Carrier looks like a nice product, my hope was to do the
> >>grunt work myself, to get a feel for persisting objects through
> >>struts and to do it via several methods.  Once I can get the correct
> >>object from the view to the action, everything should work nice.  On
> >>the backend, I'm persisting objects by using a stateless session EJB
> >>talking to Hibernate.  Plus, using XDoclet is the best thing since
> >>Ant.
> >>
> >>I'll post back when I get this thing hammered out.
> >>
> >>
> >
> >Of course, you are welcome to publish your ideas or algorithms!
> >
> >Jing
> >
> >
> >
> >>Thanks for the feedback.
> >>-Eric
> >>
> >>
> >>
>
> -- 
> Vic Cekvenich,
> Struts Instructor,
> 1-800-917-JAVA
>
> Advanced Struts Training and project recovery
in North East.
> Open Source Content Management  basicPortal
sofware
> Best practiceStruts Support v.1.1 helper
ScafflodingXPress
>
>
>


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



RE: Basic CRUD

2003-06-03 Thread Shane Mingins
I ended up using links instead.

I have a links alongside each record with parameters action and record key
for UPDATE, READ, DELETE.
And then I have an Add button at the bottom of my form to do the CREATE
action.

I think I would rather have links than buttons (IMO they look nicer and fit
better) and therefore I avoid JavaScript.

Cheers
Shane

-Original Message-
From: Eric Miles [mailto:[EMAIL PROTECTED] 
Sent: Sunday, 1 June 2003 2:24 p.m.
To: [EMAIL PROTECTED]
Subject: Re: Basic CRUD

Problem solved.

Basically, I added a hidden form property called 'key' that gets set 
during the onclick event of either the 'update' or 'delete' buttons.  
I used the nested taglib from the keyboardmonkey, making things 
easier to update the collection.  I used 1 form in the jsp.  I used 
bean:define to capture the primary key id of the record during the 
iteration, which was passed to the javascript onclick event to set 
the hidden form parameter, 'key'.

IMHO, the interaction with the javascript code is sloppy.  Hopefully, 
something is in the works to clean this up.  I believe struts-el 
might do this, I don't know.  The html taglib would not evaluate a 
bean:write tag within the onclick event.  That's why I had to add the 
bean:define and a setKey() javascript function.

If anyone is interested in more details, send me an email, or answer 
to this post and I'll post the details.

Thanks.
-Eric


--- In [EMAIL PROTECTED], "Eric Miles" <[EMAIL PROTECTED]> wrote:
> Chicks that don't lay eggs are still good for cooking, eh?  ;-)
> 
> Jing,
> Your source code is Open Source licensing, right?  Not going to sue 
> me when I resell or make $$$ off your code?!?
> 
> Although, Carrier looks like a nice product, my hope was to do the 
> grunt work myself, to get a feel for persisting objects through 
> struts and to do it via several methods.  Once I can get the 
correct 
> object from the view to the action, everything should work nice.  
On 
> the backend, I'm persisting objects by using a stateless session 
EJB 
> talking to Hibernate.  Plus, using XDoclet is the best thing since 
> Ant.
> 
> I'll post back when I get this thing hammered out.
> 
> Thanks for the feedback.
> -Eric
> 
> --- In [EMAIL PROTECTED], "Andrew Hill" 
<[EMAIL PROTECTED]> 
> wrote:
> > Yeh, alright. Fair enough.
> > 
> > So your license does allow him to extract that particular code 
out 
> of the
> > Carrier source , and use it in his own product without having to 
> join the
> > Carrier group etc... if he wants to distribute whatever it is he 
is 
> writing?
> > 
> > -Original Message-
> > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 29 May 2003 13:36
> > To: Struts Users Mailing List; [EMAIL PROTECTED]
> > Subject: Re: Basic CRUD
> > 
> > 
> > 
> > - Original Message -
> > From: "Andrew Hill" <[EMAIL PROTECTED]>
> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, May 28, 2003 9:57 PM
> > Subject: RE: Basic CRUD
> > 
> > 
> > > Mate, that answer is about as useful as a chook that doesnt lay 
> eggs.
> > > If you go answering peoples _struts_ questions on the _struts 
> list_ by
> > > carping on about how great some product of yours is then you 
will 
> make
> > > yourself unpopular very quickly.
> > 
> > Have you ever thought someone might be interested in a *general*
> > purpose CRUD algorithm? We got such an algorithm with its core 
codes
> > open for every one.
> > 
> > 
> > >
> > > -Original Message-
> > > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, 29 May 2003 12:43
> > > To: Struts Users Mailing List
> > > Subject: Re: Basic CRUD
> > >
> > >
> > > >
> > > > -Original Message-
> > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Basic CRUD
> > > >
> > > > I am putting together a simple web app that performs CRUD 
> operations on
> > a
> > > > database table.  The web app consists of 1 jsp page which 
> handles all
> > CRUD
> > > > actions.  The first part of the page contains a form with 2 
> fields and
> > > > 'create' and 'retrieve' buttons.  Both these functions work 
> fine.  When
> > a
> > > > 'retrieve' (select id,field1,field2 from table1) is done, a 
> ta

Re: Basic CRUD

2003-06-01 Thread David Graham
The html taglib would not evaluate a
bean:write tag within the onclick event.  That's why I had to add the
bean:define and a setKey() javascript function.
Do you mean something like this didn't work:

... ?

That's invalid JSP syntax and is not a defect in the html taglib or any 
other JSP taglib, the page compiler just won't compile it.  You may have 
meant something else though...

David


If anyone is interested in more details, send me an email, or answer
to this post and I'll post the details.
Thanks.
-Eric
--- In [EMAIL PROTECTED], "Eric Miles" <[EMAIL PROTECTED]> wrote:
> Chicks that don't lay eggs are still good for cooking, eh?  ;-)
>
> Jing,
> Your source code is Open Source licensing, right?  Not going to sue
> me when I resell or make $$$ off your code?!?
>
> Although, Carrier looks like a nice product, my hope was to do the
> grunt work myself, to get a feel for persisting objects through
> struts and to do it via several methods.  Once I can get the
correct
> object from the view to the action, everything should work nice.
On
> the backend, I'm persisting objects by using a stateless session
EJB
> talking to Hibernate.  Plus, using XDoclet is the best thing since
> Ant.
>
> I'll post back when I get this thing hammered out.
>
> Thanks for the feedback.
> -Eric
>
> --- In [EMAIL PROTECTED], "Andrew Hill"
<[EMAIL PROTECTED]>
> wrote:
> > Yeh, alright. Fair enough.
> >
> > So your license does allow him to extract that particular code
out
> of the
> > Carrier source , and use it in his own product without having to
> join the
> > Carrier group etc... if he wants to distribute whatever it is he
is
> writing?
> >
> > -Original Message-
> > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 29 May 2003 13:36
> > To: Struts Users Mailing List; [EMAIL PROTECTED]
> > Subject: Re: Basic CRUD
> >
> >
> >
> > - Original Message -
> > From: "Andrew Hill" <[EMAIL PROTECTED]>
> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, May 28, 2003 9:57 PM
> > Subject: RE: Basic CRUD
> >
> >
> > > Mate, that answer is about as useful as a chook that doesnt lay
> eggs.
> > > If you go answering peoples _struts_ questions on the _struts
> list_ by
> > > carping on about how great some product of yours is then you
will
> make
> > > yourself unpopular very quickly.
> >
> > Have you ever thought someone might be interested in a *general*
> > purpose CRUD algorithm? We got such an algorithm with its core
codes
> > open for every one.
> >
> >
> > >
> > > -Original Message-
> > > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, 29 May 2003 12:43
> > > To: Struts Users Mailing List
> > > Subject: Re: Basic CRUD
> > >
> > >
> > > >
> > > > -Original Message-
> > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Basic CRUD
> > > >
> > > > I am putting together a simple web app that performs CRUD
> operations on
> > a
> > > > database table.  The web app consists of 1 jsp page which
> handles all
> > CRUD
> > > > actions.  The first part of the page contains a form with 2
> fields and
> > > > 'create' and 'retrieve' buttons.  Both these functions work
> fine.  When
> > a
> > > > 'retrieve' (select id,field1,field2 from table1) is done, a
> table is
> > > > rendered with the resultset on the same page.  For each
record
> of the
> > > > recordset, there exists an 'update' and 'delete' button.  The
> problem is
> > > > how do I tell my action class which record to act on?
> > >
> > > The difficulty of this kind of problems is that there is no
> *standard* way
> > > to
> > > handle CRUD operations in general. However, the just unveiled
> Carrier
> > > allows you to visually compose hyper action wizards. In
> particular, the
> > > demo for the Ant Project Configuration has a lot of CRUD
> operations.
> > >
> > > If I understand your business problem, here is a very similar
> situation:
> > > an Ant project may contain several targets, so there are CRUD
> operations
> > > on the targets. For each target, there are several tasks. So we
>

Re: Basic CRUD

2003-06-01 Thread Eric Miles
Problem solved.

Basically, I added a hidden form property called 'key' that gets set 
during the onclick event of either the 'update' or 'delete' buttons.  
I used the nested taglib from the keyboardmonkey, making things 
easier to update the collection.  I used 1 form in the jsp.  I used 
bean:define to capture the primary key id of the record during the 
iteration, which was passed to the javascript onclick event to set 
the hidden form parameter, 'key'.

IMHO, the interaction with the javascript code is sloppy.  Hopefully, 
something is in the works to clean this up.  I believe struts-el 
might do this, I don't know.  The html taglib would not evaluate a 
bean:write tag within the onclick event.  That's why I had to add the 
bean:define and a setKey() javascript function.

If anyone is interested in more details, send me an email, or answer 
to this post and I'll post the details.

Thanks.
-Eric


--- In [EMAIL PROTECTED], "Eric Miles" <[EMAIL PROTECTED]> wrote:
> Chicks that don't lay eggs are still good for cooking, eh?  ;-)
> 
> Jing,
> Your source code is Open Source licensing, right?  Not going to sue 
> me when I resell or make $$$ off your code?!?
> 
> Although, Carrier looks like a nice product, my hope was to do the 
> grunt work myself, to get a feel for persisting objects through 
> struts and to do it via several methods.  Once I can get the 
correct 
> object from the view to the action, everything should work nice.  
On 
> the backend, I'm persisting objects by using a stateless session 
EJB 
> talking to Hibernate.  Plus, using XDoclet is the best thing since 
> Ant.
> 
> I'll post back when I get this thing hammered out.
> 
> Thanks for the feedback.
> -Eric
> 
> --- In [EMAIL PROTECTED], "Andrew Hill" 
<[EMAIL PROTECTED]> 
> wrote:
> > Yeh, alright. Fair enough.
> > 
> > So your license does allow him to extract that particular code 
out 
> of the
> > Carrier source , and use it in his own product without having to 
> join the
> > Carrier group etc... if he wants to distribute whatever it is he 
is 
> writing?
> > 
> > -Original Message-
> > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 29 May 2003 13:36
> > To: Struts Users Mailing List; [EMAIL PROTECTED]
> > Subject: Re: Basic CRUD
> > 
> > 
> > 
> > - Original Message -
> > From: "Andrew Hill" <[EMAIL PROTECTED]>
> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, May 28, 2003 9:57 PM
> > Subject: RE: Basic CRUD
> > 
> > 
> > > Mate, that answer is about as useful as a chook that doesnt lay 
> eggs.
> > > If you go answering peoples _struts_ questions on the _struts 
> list_ by
> > > carping on about how great some product of yours is then you 
will 
> make
> > > yourself unpopular very quickly.
> > 
> > Have you ever thought someone might be interested in a *general*
> > purpose CRUD algorithm? We got such an algorithm with its core 
codes
> > open for every one.
> > 
> > 
> > >
> > > -Original Message-
> > > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > > Sent: Thursday, 29 May 2003 12:43
> > > To: Struts Users Mailing List
> > > Subject: Re: Basic CRUD
> > >
> > >
> > > >
> > > > -Original Message-
> > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Basic CRUD
> > > >
> > > > I am putting together a simple web app that performs CRUD 
> operations on
> > a
> > > > database table.  The web app consists of 1 jsp page which 
> handles all
> > CRUD
> > > > actions.  The first part of the page contains a form with 2 
> fields and
> > > > 'create' and 'retrieve' buttons.  Both these functions work 
> fine.  When
> > a
> > > > 'retrieve' (select id,field1,field2 from table1) is done, a 
> table is
> > > > rendered with the resultset on the same page.  For each 
record 
> of the
> > > > recordset, there exists an 'update' and 'delete' button.  The 
> problem is
> > > > how do I tell my action class which record to act on?
> > >
> > > The difficulty of this kind of problems is that there is no 
> *standard* way
> > > to
> > > handle CRUD operations in general. However, the just unveiled 
>

Re: Basic CRUD

2003-05-30 Thread Vic Cekvenich
Maybe in 3rd world countries this works,  maybe you should spend a few $ 
with IP Lawyer?
You can't make generalization because some open source license requires 
attribution (this was built using) , or licensing in kind (they own your 
source),  or are only for non commercial use or worse.

Anyway, if netspread becomes big enough to sue 
This will be a good e-mail to use to establish MO.
Here is my Algorithms, here it is at NetSpread, and here is my license.
Open source is rarely artistic license. Only artistic license I recall 
is Doug Lea's fast threaded collections.

.V

[EMAIL PROTECTED] wrote:

On Thu, 29 May 2003 22:04:36 -, "Eric Miles" <[EMAIL PROTECTED]> wrote :

 

Chicks that don't lay eggs are still good for cooking, eh?  ;-)

Jing,
Your source code is Open Source licensing, right?  Not going to sue 
me when I resell or make $$$ off your code?!?
   

Here are what I did before I created the *general* CRUD algorithm:
Performed serious research on existing CRUD algorithms from several
vendors, published articles, and mailing lists.
Then started to design a *superior* version of my own.
I am not worried about vendors will sue me at all because I know it
is my own work and I am grateful to those who published their algorithms
so that I can design a *better* one.
Making my algorithms available in this mailing list is not just for
*you*, it is for ones who want to find their own *better* solutions.
Innovations benefit from sharing ideas. That is my point of view.
If anyone believes he/she has to license a product to get an idea,
That is fundamentally wrong if that idea or algorithm has not been
patented yet(Stop! this subject is not about license:-)
 

Although, Carrier looks like a nice product, my hope was to do the 
grunt work myself, to get a feel for persisting objects through 
struts and to do it via several methods.  Once I can get the correct 
object from the view to the action, everything should work nice.  On 
the backend, I'm persisting objects by using a stateless session EJB 
talking to Hibernate.  Plus, using XDoclet is the best thing since 
Ant.

I'll post back when I get this thing hammered out.
   

Of course, you are welcome to publish your ideas or algorithms!

Jing

 

Thanks for the feedback.
-Eric
   

--
Vic Cekvenich,
Struts Instructor,
1-800-917-JAVA
Advanced Struts Training and project recovery in North 
East.
Open Source Content Management  basicPortal sofware
Best practiceStruts Support v.1.1 helper ScafflodingXPress



Re: Basic CRUD

2003-05-30 Thread jing

On Thu, 29 May 2003 22:04:36 -, "Eric Miles" <[EMAIL PROTECTED]> wrote :

> Chicks that don't lay eggs are still good for cooking, eh?  ;-)
> 
> Jing,
> Your source code is Open Source licensing, right?  Not going to sue 
> me when I resell or make $$$ off your code?!?

Here are what I did before I created the *general* CRUD algorithm:
Performed serious research on existing CRUD algorithms from several
vendors, published articles, and mailing lists.
Then started to design a *superior* version of my own.
I am not worried about vendors will sue me at all because I know it
is my own work and I am grateful to those who published their algorithms
so that I can design a *better* one.

Making my algorithms available in this mailing list is not just for
*you*, it is for ones who want to find their own *better* solutions.
Innovations benefit from sharing ideas. That is my point of view.

If anyone believes he/she has to license a product to get an idea,
That is fundamentally wrong if that idea or algorithm has not been
patented yet(Stop! this subject is not about license:-)

> 
> Although, Carrier looks like a nice product, my hope was to do the 
> grunt work myself, to get a feel for persisting objects through 
> struts and to do it via several methods.  Once I can get the correct 
> object from the view to the action, everything should work nice.  On 
> the backend, I'm persisting objects by using a stateless session EJB 
> talking to Hibernate.  Plus, using XDoclet is the best thing since 
> Ant.
> 
> I'll post back when I get this thing hammered out.

Of course, you are welcome to publish your ideas or algorithms!

Jing

> 
> Thanks for the feedback.
> -Eric
> 


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



Re: Basic CRUD

2003-05-30 Thread Eric Miles
Chicks that don't lay eggs are still good for cooking, eh?  ;-)

Jing,
Your source code is Open Source licensing, right?  Not going to sue 
me when I resell or make $$$ off your code?!?

Although, Carrier looks like a nice product, my hope was to do the 
grunt work myself, to get a feel for persisting objects through 
struts and to do it via several methods.  Once I can get the correct 
object from the view to the action, everything should work nice.  On 
the backend, I'm persisting objects by using a stateless session EJB 
talking to Hibernate.  Plus, using XDoclet is the best thing since 
Ant.

I'll post back when I get this thing hammered out.

Thanks for the feedback.
-Eric

--- In [EMAIL PROTECTED], "Andrew Hill" <[EMAIL PROTECTED]> 
wrote:
> Yeh, alright. Fair enough.
> 
> So your license does allow him to extract that particular code out 
of the
> Carrier source , and use it in his own product without having to 
join the
> Carrier group etc... if he wants to distribute whatever it is he is 
writing?
> 
> -Original Message-
> From: Jing Zhou [mailto:[EMAIL PROTECTED]
> Sent: Thursday, 29 May 2003 13:36
> To: Struts Users Mailing List; [EMAIL PROTECTED]
> Subject: Re: Basic CRUD
> 
> 
> 
> - Original Message -
> From: "Andrew Hill" <[EMAIL PROTECTED]>
> To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> Sent: Wednesday, May 28, 2003 9:57 PM
> Subject: RE: Basic CRUD
> 
> 
> > Mate, that answer is about as useful as a chook that doesnt lay 
eggs.
> > If you go answering peoples _struts_ questions on the _struts 
list_ by
> > carping on about how great some product of yours is then you will 
make
> > yourself unpopular very quickly.
> 
> Have you ever thought someone might be interested in a *general*
> purpose CRUD algorithm? We got such an algorithm with its core codes
> open for every one.
> 
> 
> >
> > -Original Message-
> > From: Jing Zhou [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, 29 May 2003 12:43
> > To: Struts Users Mailing List
> > Subject: Re: Basic CRUD
> >
> >
> > >
> > > -Original Message-
> > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > > To: [EMAIL PROTECTED]
> > > Subject: Basic CRUD
> > >
> > > I am putting together a simple web app that performs CRUD 
operations on
> a
> > > database table.  The web app consists of 1 jsp page which 
handles all
> CRUD
> > > actions.  The first part of the page contains a form with 2 
fields and
> > > 'create' and 'retrieve' buttons.  Both these functions work 
fine.  When
> a
> > > 'retrieve' (select id,field1,field2 from table1) is done, a 
table is
> > > rendered with the resultset on the same page.  For each record 
of the
> > > recordset, there exists an 'update' and 'delete' button.  The 
problem is
> > > how do I tell my action class which record to act on?
> >
> > The difficulty of this kind of problems is that there is no 
*standard* way
> > to
> > handle CRUD operations in general. However, the just unveiled 
Carrier
> > allows you to visually compose hyper action wizards. In 
particular, the
> > demo for the Ant Project Configuration has a lot of CRUD 
operations.
> >
> > If I understand your business problem, here is a very similar 
situation:
> > an Ant project may contain several targets, so there are CRUD 
operations
> > on the targets. For each target, there are several tasks. So we 
have
> > CRUD operations on the tasks. For each task, there might be 
several
> > nested attributes, so more CRUD operations. Some we do it on the
> > same page, some we do it on different page in the demo. There are
> > total of 39 pages just for this demo with nested level up to 5.
> >
> > This demo is done exclusively within Struts. No javascript! Even
> > there is no custom code for this demo. You compose
> > the Ant Project Configuration as hyper action wizards completely
> > within Carrier rich client. And any submited forms will be 
automatically
> > persisted and restored for you as necessary.
> >
> > The algorithms that makes this happen is called Wheels. When you
> > download Carrier at www.netspread.com, the source codes for the
> > Wheels will be available for you.
> >
> > Jing
> >
> 
> 
> 
-
> 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: Basic CRUD

2003-05-29 Thread Andrew Hill
Yeh, alright. Fair enough.

So your license does allow him to extract that particular code out of the
Carrier source , and use it in his own product without having to join the
Carrier group etc... if he wants to distribute whatever it is he is writing?

-Original Message-
From: Jing Zhou [mailto:[EMAIL PROTECTED]
Sent: Thursday, 29 May 2003 13:36
To: Struts Users Mailing List; [EMAIL PROTECTED]
Subject: Re: Basic CRUD



- Original Message -
From: "Andrew Hill" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, May 28, 2003 9:57 PM
Subject: RE: Basic CRUD


> Mate, that answer is about as useful as a chook that doesnt lay eggs.
> If you go answering peoples _struts_ questions on the _struts list_ by
> carping on about how great some product of yours is then you will make
> yourself unpopular very quickly.

Have you ever thought someone might be interested in a *general*
purpose CRUD algorithm? We got such an algorithm with its core codes
open for every one.


>
> -Original Message-
> From: Jing Zhou [mailto:[EMAIL PROTECTED]
> Sent: Thursday, 29 May 2003 12:43
> To: Struts Users Mailing List
> Subject: Re: Basic CRUD
>
>
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > To: [EMAIL PROTECTED]
> > Subject: Basic CRUD
> >
> > I am putting together a simple web app that performs CRUD operations on
a
> > database table.  The web app consists of 1 jsp page which handles all
CRUD
> > actions.  The first part of the page contains a form with 2 fields and
> > 'create' and 'retrieve' buttons.  Both these functions work fine.  When
a
> > 'retrieve' (select id,field1,field2 from table1) is done, a table is
> > rendered with the resultset on the same page.  For each record of the
> > recordset, there exists an 'update' and 'delete' button.  The problem is
> > how do I tell my action class which record to act on?
>
> The difficulty of this kind of problems is that there is no *standard* way
> to
> handle CRUD operations in general. However, the just unveiled Carrier
> allows you to visually compose hyper action wizards. In particular, the
> demo for the Ant Project Configuration has a lot of CRUD operations.
>
> If I understand your business problem, here is a very similar situation:
> an Ant project may contain several targets, so there are CRUD operations
> on the targets. For each target, there are several tasks. So we have
> CRUD operations on the tasks. For each task, there might be several
> nested attributes, so more CRUD operations. Some we do it on the
> same page, some we do it on different page in the demo. There are
> total of 39 pages just for this demo with nested level up to 5.
>
> This demo is done exclusively within Struts. No javascript! Even
> there is no custom code for this demo. You compose
> the Ant Project Configuration as hyper action wizards completely
> within Carrier rich client. And any submited forms will be automatically
> persisted and restored for you as necessary.
>
> The algorithms that makes this happen is called Wheels. When you
> download Carrier at www.netspread.com, the source codes for the
> Wheels will be available for you.
>
> Jing
>


-
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: Basic CRUD

2003-05-29 Thread Jing Zhou

- Original Message - 
From: "Andrew Hill" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, May 28, 2003 9:57 PM
Subject: RE: Basic CRUD


> Mate, that answer is about as useful as a chook that doesnt lay eggs.
> If you go answering peoples _struts_ questions on the _struts list_ by
> carping on about how great some product of yours is then you will make
> yourself unpopular very quickly.

Have you ever thought someone might be interested in a *general*
purpose CRUD algorithm? We got such an algorithm with its core codes
open for every one.


>
> -Original Message-
> From: Jing Zhou [mailto:[EMAIL PROTECTED]
> Sent: Thursday, 29 May 2003 12:43
> To: Struts Users Mailing List
> Subject: Re: Basic CRUD
>
>
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, 28 May 2003 3:02 p.m.
> > To: [EMAIL PROTECTED]
> > Subject: Basic CRUD
> >
> > I am putting together a simple web app that performs CRUD operations on
a
> > database table.  The web app consists of 1 jsp page which handles all
CRUD
> > actions.  The first part of the page contains a form with 2 fields and
> > 'create' and 'retrieve' buttons.  Both these functions work fine.  When
a
> > 'retrieve' (select id,field1,field2 from table1) is done, a table is
> > rendered with the resultset on the same page.  For each record of the
> > recordset, there exists an 'update' and 'delete' button.  The problem is
> > how do I tell my action class which record to act on?
>
> The difficulty of this kind of problems is that there is no *standard* way
> to
> handle CRUD operations in general. However, the just unveiled Carrier
> allows you to visually compose hyper action wizards. In particular, the
> demo for the Ant Project Configuration has a lot of CRUD operations.
>
> If I understand your business problem, here is a very similar situation:
> an Ant project may contain several targets, so there are CRUD operations
> on the targets. For each target, there are several tasks. So we have
> CRUD operations on the tasks. For each task, there might be several
> nested attributes, so more CRUD operations. Some we do it on the
> same page, some we do it on different page in the demo. There are
> total of 39 pages just for this demo with nested level up to 5.
>
> This demo is done exclusively within Struts. No javascript! Even
> there is no custom code for this demo. You compose
> the Ant Project Configuration as hyper action wizards completely
> within Carrier rich client. And any submited forms will be automatically
> persisted and restored for you as necessary.
>
> The algorithms that makes this happen is called Wheels. When you
> download Carrier at www.netspread.com, the source codes for the
> Wheels will be available for you.
>
> Jing
>


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



RE: Basic CRUD

2003-05-29 Thread Andrew Hill
Mate, that answer is about as useful as a chook that doesnt lay eggs.
If you go answering peoples _struts_ questions on the _struts list_ by
carping on about how great some product of yours is then you will make
yourself unpopular very quickly.

-Original Message-
From: Jing Zhou [mailto:[EMAIL PROTECTED]
Sent: Thursday, 29 May 2003 12:43
To: Struts Users Mailing List
Subject: Re: Basic CRUD


>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 28 May 2003 3:02 p.m.
> To: [EMAIL PROTECTED]
> Subject: Basic CRUD
>
> I am putting together a simple web app that performs CRUD operations on a
> database table.  The web app consists of 1 jsp page which handles all CRUD
> actions.  The first part of the page contains a form with 2 fields and
> 'create' and 'retrieve' buttons.  Both these functions work fine.  When a
> 'retrieve' (select id,field1,field2 from table1) is done, a table is
> rendered with the resultset on the same page.  For each record of the
> recordset, there exists an 'update' and 'delete' button.  The problem is
> how do I tell my action class which record to act on?

The difficulty of this kind of problems is that there is no *standard* way
to
handle CRUD operations in general. However, the just unveiled Carrier
allows you to visually compose hyper action wizards. In particular, the
demo for the Ant Project Configuration has a lot of CRUD operations.

If I understand your business problem, here is a very similar situation:
an Ant project may contain several targets, so there are CRUD operations
on the targets. For each target, there are several tasks. So we have
CRUD operations on the tasks. For each task, there might be several
nested attributes, so more CRUD operations. Some we do it on the
same page, some we do it on different page in the demo. There are
total of 39 pages just for this demo with nested level up to 5.

This demo is done exclusively within Struts. No javascript! Even
there is no custom code for this demo. You compose
the Ant Project Configuration as hyper action wizards completely
within Carrier rich client. And any submited forms will be automatically
persisted and restored for you as necessary.

The algorithms that makes this happen is called Wheels. When you
download Carrier at www.netspread.com, the source codes for the
Wheels will be available for you.

Jing

>
> class MyFormBean extends ActionForm {
>private MyBean myBean;
>private ArrayList myBeanList;
> }
>
> class MyBean {
>private Long id;
>private String field1;
>private String field2;
> }
>
>
> The idea is to manage this 1 particular db table from a single view with a
> single action class extended from LookupDispatchAction.  I've tried
> several ways with no success.  I've tried using 1 form that includes
> everything.  I've tried using a form for each record.  I've tried using
> the nested taglib.  I believe this is view/jsp/taglib problem since the
> actions are firing correctly.  How can I populate 'myBean' with the data
> of the corresponding record from which the 'update' or 'delete' buttons
> were clicked?
>
> I prefer not to use checkboxes with a global 'update' and 'delete' button.
>  I prefer not to use javascript (I'm not a big fan of this scripting
> language and only use it when absolutely necessary, which is rare).  I
> prefer not to go to a second page to "edit".
>
> Can this be done exclusively within Struts?
>
> Thanks in advance.
> -Eric
>
>
> -
> 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: Basic CRUD

2003-05-29 Thread Jing Zhou
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 28 May 2003 3:02 p.m.
> To: [EMAIL PROTECTED]
> Subject: Basic CRUD
>
> I am putting together a simple web app that performs CRUD operations on a
> database table.  The web app consists of 1 jsp page which handles all CRUD
> actions.  The first part of the page contains a form with 2 fields and
> 'create' and 'retrieve' buttons.  Both these functions work fine.  When a
> 'retrieve' (select id,field1,field2 from table1) is done, a table is
> rendered with the resultset on the same page.  For each record of the
> recordset, there exists an 'update' and 'delete' button.  The problem is
> how do I tell my action class which record to act on?

The difficulty of this kind of problems is that there is no *standard* way
to
handle CRUD operations in general. However, the just unveiled Carrier
allows you to visually compose hyper action wizards. In particular, the
demo for the Ant Project Configuration has a lot of CRUD operations.

If I understand your business problem, here is a very similar situation:
an Ant project may contain several targets, so there are CRUD operations
on the targets. For each target, there are several tasks. So we have
CRUD operations on the tasks. For each task, there might be several
nested attributes, so more CRUD operations. Some we do it on the
same page, some we do it on different page in the demo. There are
total of 39 pages just for this demo with nested level up to 5.

This demo is done exclusively within Struts. No javascript! Even
there is no custom code for this demo. You compose
the Ant Project Configuration as hyper action wizards completely
within Carrier rich client. And any submited forms will be automatically
persisted and restored for you as necessary.

The algorithms that makes this happen is called Wheels. When you
download Carrier at www.netspread.com, the source codes for the
Wheels will be available for you.

Jing

>
> class MyFormBean extends ActionForm {
>private MyBean myBean;
>private ArrayList myBeanList;
> }
>
> class MyBean {
>private Long id;
>private String field1;
>private String field2;
> }
>
>
> The idea is to manage this 1 particular db table from a single view with a
> single action class extended from LookupDispatchAction.  I've tried
> several ways with no success.  I've tried using 1 form that includes
> everything.  I've tried using a form for each record.  I've tried using
> the nested taglib.  I believe this is view/jsp/taglib problem since the
> actions are firing correctly.  How can I populate 'myBean' with the data
> of the corresponding record from which the 'update' or 'delete' buttons
> were clicked?
>
> I prefer not to use checkboxes with a global 'update' and 'delete' button.
>  I prefer not to use javascript (I'm not a big fan of this scripting
> language and only use it when absolutely necessary, which is rare).  I
> prefer not to go to a second page to "edit".
>
> Can this be done exclusively within Struts?
>
> Thanks in advance.
> -Eric
>
>
> -
> 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: Basic CRUD

2003-05-29 Thread Shane Mingins
Hi Eric

I do not know if what I can provide will help.  I have only been using
Struts for a month.  Your post was almost identical to one I was about to
send so I was hoping to see some replies to yours.

Anyhow what I have so far is this (an Edit):

[I refer to a Distribution Channel entity which has a Name and Bank Account.
Name is the PK of this entity]

I have a jsp page called Customer Maintenance.
It lists the customers in a table like:

DISTRIBUTION CHANNEL NAME   ACTION
Bob Edit
BillEdit
Sam Edit

The Edit button is an Image and I am using Struts ImageButtonBean as
outlined in Ted's Strus tips at www.husted.com.

What I have just got to *that works* is this:







http://localhost/ims/images/goButton.gif"; property="editButton" />





The DistributionChannelMaintenanceBean has a collection of the Distribution
Channels that I iterate thru writing my table.  I am also creating a 
around each "record" with the hidden tag storing the value of the
distribution name.

When I submit the form with Edit button, my Action class gets the
Distribution Name value and sets a session attribute
(distributionChannelName) and forwards to my edit page (which will also do
create/add later).

String distributionChannelName = request.getParameter("name");
request.getSession().setAttribute("distributionChannelName",
distributionChannelName);
return mapping.findForward(FORWARD_edit);

The FORWARD_edit ends up going to the
path="/EditDistributionChannel.do?action=Edit" 

In the Action class I do:

String action = request.getParameter("action");

if ("Edit".equals(action))
{
String distributionChannelName = (String)
request.getSession().getAttribute("distributionChannelName");
DistributionChannel distributionChannel =
DistChannelManager.get().getDistributionChannel(distributionChannelName);
editDistributionChannelBean.setName(distributionChannel.getName());

editDistributionChannelBean.setCmaBankAccount(distributionChannel.getCmaBank
Account());

editDistributionChannelBean.setProducts(distributionChannel.getAllProducts()
);
return mapping.findForward(FORWARD_create);
}



So that is where I am currently.  I may have done some *ugly* things at this
stage because this is a change from having an Edit page where a selector box
displayed the distribution channels to edit and the Create came from another
page.  Create will (soon) some from my new Distribution Channel maintenance
page.


I guess where this may help you is in using a form for each record.

Anyhow if I can be of any help let me know and if you find anything that you
think I would find helpful please let me know.

Cheers
Shane





-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, 28 May 2003 3:02 p.m.
To: [EMAIL PROTECTED]
Subject: Basic CRUD

I am putting together a simple web app that performs CRUD operations on a
database table.  The web app consists of 1 jsp page which handles all CRUD
actions.  The first part of the page contains a form with 2 fields and
'create' and 'retrieve' buttons.  Both these functions work fine.  When a
'retrieve' (select id,field1,field2 from table1) is done, a table is
rendered with the resultset on the same page.  For each record of the
recordset, there exists an 'update' and 'delete' button.  The problem is
how do I tell my action class which record to act on?

class MyFormBean extends ActionForm {
   private MyBean myBean;
   private ArrayList myBeanList;
}

class MyBean {
   private Long id;
   private String field1;
   private String field2;
}


The idea is to manage this 1 particular db table from a single view with a
single action class extended from LookupDispatchAction.  I've tried
several ways with no success.  I've tried using 1 form that includes
everything.  I've tried using a form for each record.  I've tried using
the nested taglib.  I believe this is view/jsp/taglib problem since the
actions are firing correctly.  How can I populate 'myBean' with the data
of the corresponding record from which the 'update' or 'delete' buttons
were clicked?

I prefer not to use checkboxes with a global 'update' and 'delete' button.
 I prefer not to use javascript (I'm not a big fan of this scripting
language and only use it when absolutely necessary, which is rare).  I
prefer not to go to a second page to "edit".

Can this be done exclusively within Struts?

Thanks in advance.
-Eric


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

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