[
https://issues.apache.org/jira/browse/ISIS-815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14063760#comment-14063760
]
Dan Haywood edited comment on ISIS-815 at 7/16/14 5:31 PM:
-----------------------------------------------------------
Hi Martin,
Just double checked, is definitely an issue.
Possibly a bit large for an example, but the todo app demonstrates the issue.
to set up:
- pull down from snapshot (eg
https://github.com/apache/isis/tree/27e2596c475ee380c78c3a17e9cd8cb33f968f6e)
- mvn clean install // to build everything, then
- cd example/application/quickstart_wicket_restful_jdo
cd webapp
mvn jetty:run
... should run fine, and should be able to navigate to
http://localhost:8080/quickstart_wicket_restful_jdo-webapp/wicket (can login
using sven/pass, though no need)
Now, edit IsisWicketApplication, change:
@Override
protected void internalInit() {
setResourceSettings(new IsisResourceSettings(this));
super.internalInit();
}
@Override
protected void init() {
...
}
to:
@Override
protected void internalInit() {
super.internalInit();
}
@Override
protected void init() {
setResourceSettings(new IsisResourceSettings(this));
...
}
when run the app and hit the same URL, hit a redirect loop.
The stack trace I got is below; I think the redirect loop is because I'm
failing to find an i18n resource for something (the breadcrumb panel, by the
looks of things) that is rendered on our error page.
18:22:52,846 [RequestCycleExtra 811338959@qtp-1904504032-5 WARN ] Handling
the following exception
java.util.MissingResourceException: Unable to find property: 'noMatches' for
component: theme:breadcrumbs:breadcrumbs
[class=com.vaynberg.wicket.select2.Select2Choice]. Locale: null, style: null
at org.apache.wicket.Localizer.getString(Localizer.java:237)
at org.apache.wicket.Localizer.getString(Localizer.java:130)
at org.apache.wicket.Component.getString(Component.java:1892)
at org.apache.wicket.Component.getString(Component.java:1879)
at
com.vaynberg.wicket.select2.AbstractSelect2Choice.onInitialize(AbstractSelect2Choice.java:175)
at org.apache.wicket.Component.fireInitialize(Component.java:876)
at
org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:961)
at
org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:938)
at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:174)
at
org.apache.wicket.MarkupContainer.addOrReplace(MarkupContainer.java:205)
at
org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbPanel.onInitialize(BreadcrumbPanel.java:121)
at org.apache.wicket.Component.fireInitialize(Component.java:876)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:967)
at
org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:963)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
at
org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:875)
at
org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:962)
at org.apache.wicket.Page.internalPrepareForRender(Page.java:238)
at org.apache.wicket.Component.render(Component.java:2317)
at org.apache.wicket.Page.renderPage(Page.java:1024)
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:122)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:221)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at
org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
was (Author: danhaywood):
Hi Martin,
Just double checked, is definitely an issue.
Possibly a bit large for an example, but the todo app demonstrates the issue.
to set up:
- pull down from snapshot (eg
https://github.com/apache/isis/tree/27e2596c475ee380c78c3a17e9cd8cb33f968f6e)
- mvn clean install // to build everything, then
- cd example/application/quickstart_wicket_restful_jdo
cd webapp
mvn jetty:run
... should run fine, and should be able to navigate to
http://localhost:8080/quickstart_wicket_restful_jdo-webapp/wicket (can login
using sven/pass, though no need)
Now, edit IsisWicketApplication, change:
@Override
protected void internalInit() {
setResourceSettings(new IsisResourceSettings(this));
super.internalInit();
}
@Override
protected void init() {
...
}
to:
@Override
protected void internalInit() {
super.internalInit();
}
@Override
protected void init() {
setResourceSettings(new IsisResourceSettings(this));
...
}
when run the app and hit the same URL, hit a redirect loop.
> Internationalization of Wicket UI elements (edit, ok, cancel, logout, about)
> ----------------------------------------------------------------------------
>
> Key: ISIS-815
> URL: https://issues.apache.org/jira/browse/ISIS-815
> Project: Isis
> Issue Type: Improvement
> Components: Viewer: Wicket
> Affects Versions: viewer-wicket-1.5.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: viewer-wicket-1.6.0
>
>
> Using Wicket's built-in i18n capabilities, but tweaked so that
> application-scoped properties override page-scope properties (rather than
> other way around)
--
This message was sent by Atlassian JIRA
(v6.2#6252)