RE: [ANN] MaCaTa - An introduction by example to 3 frameworks

From: Gentry, Michael \(Contractor\) ("Gentry,)
Date: Thu Apr 06 2006 - 11:20:02 EDT

  • Next message: Alan Baltazar: "Fwd: Re: UpdateQuery not updating"

    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 - 11:29:23 EDT