Hi all, This RFE is now fixed in SVN trunk and will be testable in the upcoming 1.1 snapshot. Great optimization, thanks Stian for the idea.
Best regards, Jerome > -----Message d'origine----- > De : Jerome Louvel [mailto:[EMAIL PROTECTED] > Envoyé : mardi 12 juin 2007 08:55 > À : [email protected] > Objet : Re: Conditional GETs? > > Hi Adam, > > There is already a "tag" property on the Variant class that you can > already use. In 1.1, we will simply use this property earlier in the > algorithm to not call getRepresentation(Variant) when not necessary. > > Best regards, > Jerome > > > Adam Taft a écrit : > > > > By the way, I love the suggestion. > > > > Can't you add getTag() (or some method) sooner rather than > later? The > > default implementation would simply return NULL which would > then force > > the algorithm to call getRepresentation() just like it > currently does. > > > > There should be no consequence of this in 1.0.x code? > > > > Just curious. > > > > Adam > > > > > > Jerome Louvel wrote: > >> Hi Stian, > >> > >> We haven't forgotten about your suggestion, just dealing > with a long > >> email > >> backlog :) > >> It is perfectly possible to optimize the internal algorithm so that > >> getRepresentation(Variant) is never called when the variant's tag > >> matches > >> the one provided by the client. > >> > >> I've entered a RFE to keep track of it: > >> http://restlet.tigris.org/issues/show_bug.cgi?id=319 > >> > >> As it changes the observed behavior a bit, it should only go in > >> Restlet 1.1, > >> IMHO. > >> > >> Best regards, > >> Jerome > >>> -----Message d'origine----- > >>> De : Stian Soiland [mailto:[EMAIL PROTECTED] Envoyé > : mercredi > >>> 6 juin 2007 11:23 > >>> À : [email protected] > >>> Objet : Re: Conditional GETs? > >>> > >>> > >>> On 4 Jun 2007, at 15:53, Peter Lacey wrote: > >>> > >>>> public Representation getRepresentation(Variant variant) { > >>>> Representation result = null; > >>>> > >>>> if > (variant.getMediaType().equals(MediaType.APPLICATION_XML)) { > >>>> > >>>> // create DOM > >>>> > >>>> result = new > DomRepresentation(MediaType.APPLICATION_XML, > >>>> doc); > >>>> result.setTag(new Tag([your etag], false)); > >>>> } > >>>> return result; > >>>> } > >>> It's really clever, except you still have to create that XML > >>> representation that never needs to be sent out. > >>> > >>> If there was some getTag() method or something you could > override > >>> this to check directly with the database on whatever you need to > >>> calculate the tag, and hence getRepresentation() wouldn't > even need > >>> to be called. > >>> > >>> To support this I think some kind of getLastModified() would also > >>> be cool. (I've made such a thing in my subclass of Resource) > >>> > >>> -- > >>> Stian Soiland, myGrid team > >>> School of Computer Science > >>> The University of Manchester > >>> http://www.cs.man.ac.uk/~ssoiland/ > >>> > >

