On Tue, Jan 20, 2015 at 1:03 PM, George Christman <gchrist...@cardaddy.com>
wrote:

> So I just took a look at the tapestry code and I'm not seeing anyway
> to work around it unless I want to build my own links which I'd rather
> not do because of my use of the url rewriter.
>
> Tap code line 113
>
> https://github.com/apache/tapestry-5/blob/5.4-beta-26/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java
> How do you work around this?
>

You are right George. Ever since the loopback reset listeners was put it in
(for T5.3), the LinkSource.createPageRenderLink(...) doesn't anymore work
outside request context (e.g. in a scheduled job). You should instead use
the linkEncoder directly (as in the implementation for
createPageRenderLink):

        PageRenderRequestParameters parameters = new
PageRenderRequestParameters(canonical, new ArrayEventContext(
                typeCoercer, context), loopback);
        Link link = linkEncoder.createPageRenderLink(parameters);

Set loopback to false, you don't need it.

Kalle


>
> On Tue, Jan 20, 2015 at 11:14 AM, George Christman
> <gchrist...@cardaddy.com> wrote:
> >  Still no success in getting this to work. I've contributed the Hostname
> etc.
> >
> > configuration.add(SymbolConstants.HOSTNAME, "localhost");
> >         configuration.add(SymbolConstants.HOSTPORT, "8080");
> >         configuration.add(SymbolConstants.HOSTPORT_SECURE, "false");
> >
> > And a simple test which fails with the same error.
> >
> > private void testTask() {
> >         periodicExecutor.addJob(new IntervalSchedule(3000),
> >                 "Data Validation1", new Runnable() {
> >             @Override
> >             public void run() {
> >                 System.out.println("test");
> >                 try {
> >
> > System.out.println(linkSource.createPageRenderLink(Index.class));
> >                 } catch (Exception ex) {
> >                     System.out.println("ex " + ex);
> >                 }
> >             }
> >         });
> >     }
> >
> > On Tue, Jan 20, 2015 at 7:41 AM, George Christman
> > <gchrist...@cardaddy.com> wrote:
> >> So toAbsolute is the code calling the request and the cause of this
> >> exception? I'm assuming your referring to me contributing those values
> to my
> >> appmodule. Once I contribute those values, would toAbsolute use those
> values
> >> instead of the request? Just trying to understand the issue a little bit
> >> better. Thanks Kalle.
> >>
> >> On Jan 20, 2015 4:44 AM, "Kalle Korhonen" <kalle.o.korho...@gmail.com>
> >> wrote:
> >>>
> >>> On Tue, Jan 20, 2015 at 1:23 AM, George Christman
> >>> <gchrist...@cardaddy.com>
> >>> wrote:
> >>>
> >>> > I'm using T5 beta-25 and I have the following code and I'm noticing
> >>> > when the scheduler fires off my service, my PageRenderLinkSource does
> >>> > not work. If I manually fire it off through the admin with an
> >>> > actionlink, it works without issue.
> >>> > I'm seeing the following exception
> >>> > java.lang.NullPointerException: Unable to delegate method invocation
> >>> > to property 'request' of <Proxy for
> >>> > RequestGlobals(org.apache.tapestry5.services.RequestGlobals)>,
> because
> >>> > the property is null.
> >>> > Any idea why this isn't working?
> >>> >
> >>>
> >>> Naturally, you don't have a request to work with when you are executing
> >>> from a cron job. But if you just want to generate links, you don't
> need to
> >>> and you shouldn't use the request values. Contribute HOSTNAME, HOSTPORT
> >>> and
> >>> HOSTPORT_SECURE and you can generate absolute urls without resorting to
> >>> reading the values from the request.
> >>>
> >>> Kalle
> >>>
> >>>
> >>>
> >>> >
> >>> > ---------------------------------------------------------------------
> >>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >>> >
> >>> >
> >
> >
> >
> > --
> > George Christman
> > CEO
> > www.CarDaddy.com
> > P.O. Box 735
> > Johnstown, New York
>
>
>
> --
> George Christman
> CEO
> www.CarDaddy.com
> P.O. Box 735
> Johnstown, New York
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to