Yes, but if you edit a copy of the domain object, then you start to develop the "parallel hierarchy" code smell (assuming you'd create a "value object" for each type of domain object).
-----Original Message----- From: Ted Steen [mailto:[EMAIL PROTECTED] Sent: Thursday, May 25, 2006 2:29 PM To: Tapestry users Subject: Re: Tapernate "squeezer" refactored... Ah, this is a lot cleaner than the previous solution with DataClasses. The URLs are prettier too, nice work! The problem with editing a talked about in another thread could be solved by not working on the domain object, but a copy of the domain object, or individual getters and setters for every property of the object. Problem is that it is so redundant.. :/ Another thought was to work on detached objects when editing, and explicitly session.save(...) them when all is validated and ready to be saved. I can't say that I have thought this through as much as I should but.. :) 2006/5/25, James Carman <[EMAIL PROTECTED]>: > Oh, this feature, the squeezer pipeline has been submitted as a patch for > Tapestry 4.1. So, in the future, I'll probably just re-implement my filter > using the Tapestry 4.1 API as opposed to the Tapernate API. Either way, > there should be no impact to client code (unless you write your own filter). > > -----Original Message----- > From: James Carman [mailto:[EMAIL PROTECTED] > Sent: Thursday, May 25, 2006 11:29 AM > To: 'Tapestry users' > Subject: Tapernate "squeezer" refactored... > > All, > > Tapernate's entity "squeezer" has been refactored. No longer do you need to > tell it what your "data class" (the common entity superclass/interface) is. > Tapernate turns the data squeezer service into a pipeline and puts its > EntitySqueezerFilter into the pipeline. If it can't squeeze the object (the > object isn't persistent), then it just lets the rest of the pipeline take > care of it. If it can squeeze it, it does. The squeezed string will look > something like this (from the example application): > > HIBRN8:0::l1 > > The "HIBER8" part is a token that tells me that I squeezed this object. The > '0' is an abbreviation for the entity name (just print a number rather than > printing out com.mycompany.domain.entity.MyDomainClass). And, the "l1" is > how the rest of the pipeline squeezes my long (value 1). Enjoy! > > James > > p.s. Yes, I'm going to move it! > > > > --------------------------------------------------------------------- > 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] > > -- /ted --------------------------------------------------------------------- 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]