I dunno maybe, I just got sick of fighting with it lol.

On Wed, Jan 21, 2015 at 5:04 PM, Chris Poulsen <mailingl...@nesluop.dk> wrote:
> Would it be easier to mock a request?
>
> On Wed, Jan 21, 2015 at 10:30 PM, George Christman <gchrist...@cardaddy.com>
> wrote:
>
>> On Wed, Jan 21, 2015 at 4:13 PM, Kalle Korhonen
>> <kalle.o.korho...@gmail.com> wrote:
>> > On Wed, Jan 21, 2015 at 1:07 PM, George Christman <
>> gchrist...@cardaddy.com>
>> > wrote:
>> >
>> >> On Wed, Jan 21, 2015 at 3:16 PM, Kalle Korhonen
>> >> <kalle.o.korho...@gmail.com> wrote:
>> >> > 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):
>> >> >
>> >> Just seen this, is there any chance we could fix this issue so that we
>> >> don't need to write the cumbersome code below every time? I'm actually
>> >> surprised I'm the first to discover this. We send out a lot of
>> >> reminder emails etc at work via a cron job which would require this
>> >> and I also need it to work for my own project. Should I create a bug
>> >> in jira?
>> >> >
>> >>
>> >
>> > Somebody's gotta be the first one. I guess many of the existing
>> > installations are still not using the more recent versions of T5. But I
>> > agree, it might be worth fixing so go ahead and open an issue.
>> >
>> Just seems like 5.3 was a long time ago lol. Ok np, I'll open an issue
>> up for it.
>> >
>> >> >         PageRenderRequestParameters parameters = new
>> >> > PageRenderRequestParameters(canonical, new ArrayEventContext(
>> >> >                 typeCoercer, context), loopback);
>> >> >         Link link = linkEncoder.createPageRenderLink(parameters);
>> >>
>> >> One last thing before we move on from this issue, what is the
>> >> canonical? Would that be the Page.class.getName() ? and I'm assuming
>> >> context is just my url context values?
>> >>
>> >
>> > Take another look at the source you pointed to yourself, but: String
>> > canonical = resolver.canonicalizePageName(pageName);
>>
>> Well it looks like you need to specify the exact page name and not the
>> java class, example "index"
>>
>> Anyhow none of it worked either, same issue as before.
>>
>>     @Inject
>>     private ComponentClassResolver resolver;
>>
>>     @Inject
>>     private TypeCoercer typeCoercer;
>>
>>     @Inject
>>     private ComponentEventLinkEncoder linkEncoder;
>>
>>     private void testTask() {
>>         periodicExecutor.addJob(new IntervalSchedule(3000),
>>                 "Data Validation1", new Runnable() {
>>             @Override
>>             public void run() {
>>                 System.out.println("test");
>>
>>                 try {
>>                     String canonical =
>> resolver.canonicalizePageName("login");
>>
>>                     PageRenderRequestParameters parameters = new
>> PageRenderRequestParameters(canonical, new ArrayEventContext(
>>                             typeCoercer, new Object()), false);
>>                     Link link =
>> linkEncoder.createPageRenderLink(parameters);
>>
>>                     System.out.println(link.toAbsoluteURI());
>>
>>
>>                 } catch (Exception ex) {
>>                     System.out.println("ex " + getStackTrace(ex));
>>                 }
>>             }
>>         });
>>     }
>>
>> exception
>>
>> ex 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.
>>     at $Request_1a34deec12ab7.readProperty(Unknown Source)
>>     at $Request_1a34deec12ab7.isSecure(Unknown Source)
>>     at $Request_1a34deec12a4e.isSecure(Unknown Source)
>>     at
>> org.apache.tapestry5.internal.services.RequestSecurityManagerImpl.checkPageSecurity(RequestSecurityManagerImpl.java:112)
>>     at $RequestSecurityManager_1a34deec12aae.checkPageSecurity(Unknown
>> Source)
>>     at
>> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createPageRenderLink(ComponentEventLinkEncoderImpl.java:111)
>>     at
>> org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor.createPageRenderLink(LinkTransformerInterceptor.java:50)
>>     at
>> $ComponentEventLinkEncoder_1a34deec12a6d.createPageRenderLink(Unknown
>> Source)
>>     at
>> org.healthresearch.etss.services.scheduler.impl.ScheduleJobsImpl$1.run(ScheduleJobsImpl.java:155)
>>     at
>> org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.invoke(PeriodicExecutorImpl.java:225)
>>     at
>> org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.invoke(PeriodicExecutorImpl.java:49)
>>     at
>> org.apache.tapestry5.ioc.internal.services.ParallelExecutorImpl$1.call(ParallelExecutorImpl.java:60)
>>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>     at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>     at java.lang.Thread.run(Thread.java:722)
>>
>>
>> I think for the time being I'm ust going to use URIBuilder or
>> something until this gets fixed.
>>
>> I'll file a jira issue tonight.
>> >
>> > 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
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>> >> --
>> >> 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
>> >>
>> >>
>>
>>
>>
>> --
>> 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
>>
>>



-- 
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