Hi Thorsten,
I wanted to ask for that stacktrace anyway: )
Seems WebPageRenderer thinks it has to store the rendering result and
redirect to it.
That's definitely nothing something you want to have when using
ComponentRenderer.
There's probably something in your setup that triggers this redirect
(e.g. page url changes after render). Maybe we could improve
ComponentRender so it never redirects.
Best regards
Sven
On 01.04.20 19:53, Thorsten Schöning wrote:
Guten Tag Sven Meier,
am Mittwoch, 1. April 2020 um 17:31 schrieben Sie:
Without a quickstart it's hard to guess whether this is an error
actually or you did something wrong.
Things are easy in my opinion: There's no session-ID in my use case at
all, the code itself is tolerant and many other places are as well,
like BufferedResponseMapper:
protected String getSessionId()
{
String sessionId = null;
if (Application.exists() && RequestCycle.get() != null)
{
[...]
Session session =
sessionStore.lookup(requestCycle.getRequest());
if (session != null)
{
sessionId = session.getId();
}
}
return sessionId;
}
protected boolean hasBufferedResponse(Url url)
{
String sessionId = getSessionId();
boolean hasResponse = false;
if (Strings.isEmpty(sessionId) == false)
{
hasResponse =
WebApplication.get().hasBufferedResponse(sessionId, url);
}
return hasResponse;
}
I tried to reproduce this using a quickstart but failed, it's too much
work to get all my components/customizations into place to see which
triggers the code path. The original quickstart doesn't seem to
trigger it.
So my approach is different, I'm simply overriding the method in
question and make it more tolerant myself. This allows me to get a
stacktrace of the code path triggered as well:
java.lang.UnsupportedOperationException: foobar
at
de.am_soft.sm_mtg.view.report.VwrRenderApp.storeBufferedResponse(VwrRenderApp.java:112)
at
org.apache.wicket.request.handler.render.WebPageRenderer.storeBufferedResponse(WebPageRenderer.java:87)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:278)
at
org.apache.wicket.util.tester.BaseWicketTester$LastPageRecordingPageRendererProvider$1.respond(BaseWicketTester.java:2824)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
at
org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
at
org.apache.wicket.util.tester.BaseWicketTester.processRequest(BaseWicketTester.java:713)
at
org.apache.wicket.util.tester.BaseWicketTester.processRequest(BaseWicketTester.java:652)
at
org.apache.wicket.util.tester.BaseWicketTester.startPage(BaseWicketTester.java:879)
at
org.apache.wicket.util.tester.BaseWicketTester.startPage(BaseWicketTester.java:896)
at
de.am_soft.sm_mtg.view.report.html.pages.meter_cnt.some_month.VwrPgMcsmSummaryTest.wicket(VwrPgMcsmSummaryTest.java:63)
try (VwrCtxThreadScoped scopedCtx = new
VwrCtxThreadScoped(ctx0))
{
Supplier<VwrHtmlPage> page = () -> new
VwrPgMcsmSummary();
VwrRenderApp app = new
VwrRenderApp(page);
WicketTester tester = new
WicketTester(app);
tester.startPage(page.get());
}
Mit freundlichen Grüßen,
Thorsten Schöning
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org