Exactly, and the actually implementation (already checked in) documents this distinction.
On Tue, Mar 24, 2009 at 10:18 AM, Robert Zeigler <robe...@scazdl.org> wrote: > +1. > > I assume the difference between createPageRenderLink and > createPageRenderLinkWithContext is that if the context is empty in with > context, you're going to override the page's passivate context with an empty > context, whereas with createPageRenderLink, you let the page supply it's own > context? > > Robert > > On Mar 24, 2009, at 3/2411:40 AM , Howard Lewis Ship wrote: > >> I think there needs to be a facade service to make this easier: a >> PageLinkSource. >> >> public interface PageRenderLinkSource >> { >> Link createPageRenderLink(String pageName); >> >> Link createPageRenderLinkWithContext(String pageName, Object... context); >> >> Link createPageRenderLink(Class pageClass); >> >> Link createPageRenderLinkWithContet(Class pageClass, Object... context); >> } >> >> >> >> On Tue, Mar 24, 2009 at 6:20 AM, Robert Zeigler <robe...@scazdl.org> >> wrote: >>> >>> I think that's ugly. :) >>> >>> Consider: >>> componentSource >>> .getPage >>> (Index.class).getComponentResources().createPageLink(Index.class,true); >>> >>> Personally, I get suspicious of call chains nested more than about >>> two-deep... smells of tight coupling. >>> >>> Ultimately, componentResources.createPageLink calls into LinkSource, >>> which >>> calls into ComponentEvenLinkEncoder to create the link. *shrug*. >>> Why not bypass the nastiness and go straight to >>> ComponentEventLinkEncoder? >>> It /is/ a public service, after all... Personally, though, I wonder if it >>> should be the other way around: ComponentEventLinkEncoder really exposes >>> too >>> much of the internal "guts" of how tapestry "thinks" about requests: page >>> names, nested component ids, etc. (In the form of the >>> PageRequestParameters >>> and ComponentEventRequestParameters objects. In that regard, using >>> component resources is "correct" because it "hides" all of the gory >>> details... >>> >>> Except that it still requires an ugly rats' nest of method calls. >>> Creating >>> links to pages from within services seems like such a common paradigm >>> (redirecting to the login page on authentication failure, for example); >>> maybe we ought to have cleaner, public support for it... >>> >>> Robert >>> >>> >>> >>> On Mar 23, 2009, at 3/2310:47 AM , Howard Lewis Ship wrote: >>> >>>> The correct approach is to use ComponentSource >>>> >>>> >>>> (http://tapestry.formos.com/nightly/tapestry5/apidocs/org/apache/tapestry5/services/ComponentSource.html) >>>> to acquire a page. >>>> >>>> You can then get its ComponentResources and generate a page render >>>> Link from the resources. >>>> >>>> On Mon, Mar 23, 2009 at 8:36 AM, Massimo Lusetti <mluse...@gmail.com> >>>> wrote: >>>>> >>>>> On Mon, Mar 23, 2009 at 4:29 PM, Robert Zeigler <robe...@scazdl.org> >>>>> wrote: >>>>> >>>>>> If you want to stick with public services, and you're using 5.1, you >>>>>> can >>>>>> use: >>>>>> >>>>>> >>>>>> http://tapestry.formos.com/nightly/tapestry5/apidocs/org/apache/tapestry5/services/ComponentEventLinkEncoder.html >>>>>> >>>>>> I don't think it's quite as convenient to use as LinkSource, but at >>>>>> least >>>>>> it's public. :) >>>>> >>>>> I think that's the better bet we can have and that has been made for >>>>> similar use cases. >>>>> >>>>> -- >>>>> Massimo >>>>> http://meridio.blogspot.com >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Howard M. Lewis Ship >>>> >>>> Creator Apache Tapestry and Apache HiveMind >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >> >> >> >> -- >> Howard M. Lewis Ship >> >> Creator Apache Tapestry and Apache HiveMind >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org