Hi Michael,
Thanks very much for the feedback. You're right, I've been rather busy with
this. It's not perfect but I thought good enough to release for a first
cut. I'm not sure how much more I can do with it though as in a few weeks
I'm taking a few months off and travelling around Europe, with the aim of
searching for some work later.
I really like your solution, sometimes we get caught up believing that one
way is the best and just go with it. You've thought a bit about the
problem and solved it in a sensible way. Now that you've shown this way it
looks like an obvious way to do this. I guess the thing I like about
squeezers is that they are a touch simpler to use...once you've got it all
setup; you don't have to worry about indexes (not a big problem at all).
Unless security is a concern. So I think in a lot of cases what you have
outlined is the better solution (off the top of my head). Perhaps it would
dwell nicely within a Cayenne and Tapestry wiki?
Cheers,
Steve
On 07/04/06, Gentry, Michael (Contractor) <michael_gentr..anniemae.com>
wrote:
>
> I like the CrudEngine. :-)
>
> I don't have time to fully explore it right now, but it looks like there
> is some really nice tutorial/reference information there. You've been
> busy!
>
> I noticed you put in a note about DataSqueezers not being secure, too.
> That's a big issue for me. I've adopted the technique now of encoding
> in my DirectLink the index of the data object in my internal List. For
> example:
>
> * Tapestry enhancements:
> public abstract List getQueues();
> public abstract void setQueues(List queues);
> public abstract int getQueueIndex();
> public abstract void setQueueIndex(int index);
>
>
> * Save query results:
> ...
> List queues = dataContext.performQuery(...);
> setQueues(queues); // save queues off in page/session space
> ...
>
>
> * HTML Template:
> <span jwcid=..or" source="ognl:queues" index="ognl:queueIndex" ...>
> ...
> <a href="#" jwcid=..irectLink" listener="listener:showQueue"
> parameters="ognl:queueIndex">
>
>
> * Handle selection of queue (click on DirectLink):
> public void showQueue(int index)
> {
> getQueues().get(index);
> ...
> }
>
>
> So, if my performQuery() returns 20 rows I save those objects off in the
> page session space. The DirectLink will encode 0-19 as the queueIndex
> when creating the hyperlinks. When they click on a link, I get the
> object they clicked on via the index (supplied by T4). The index is
> only valid inside the List of objects I've stored off for them as a
> result of the query. If they monkey with the URL, they can't get data
> that isn't available to them in the first place, and if they change it
> to 20+, it'll throw an exception. This keeps the PKs out of the picture
> completely and no squeezing needs to be done. If that makes any sense.
> :-)
>
> Thanks,
>
> /dev/mrg
>
>
>
> -----Original Message-----
> From: Steve Wells [mailto:websystem..mail.com]
> Sent: Thursday, April 06, 2006 4:07 AM
> To: cayenne-use..ncubator.apache.org
> Subject: [ANN] MaCaTa - An introduction by example to 3 frameworks
>
>
> Hi all,
>
> I'd like to announce the first release of MaCaTa - a web application and
> tutorial based on 3 excellent and compatible open source java based
> frameworks...
> Maven-Cayenne-Tapestry. Hence the highly imaginative name of MaCaTa ;)
>
> The application is all about allowing a user to manage data, it is all
> CRUD
> (Create, Read, Update, Delete). For the developer you configure it to
> point to a Cayenne object and it displays a list of data in the
> corresponding
> table and allows the user to work with that data. There is more
> code-configuration
> available such as the ability to disallow deletes.
>
> On top of this there is a reasonable amount of documentation that walks
> you
> through
> creating your own applications based on these technologies. In fact the
> documentation
> is a super-set of what is available in the application itself.
>
> More information is available at:
> http://web.aanet.com.au/websystems/index.html
>
> Regards,
>
> Steve
>
This archive was generated by hypermail 2.0.0 : Thu Apr 06 2006 - 19:02:40 EDT