You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2014/07/16 19:32:05 UTC

[jira] [Comment Edited] (ISIS-815) Internationalization of Wicket UI elements (edit, ok, cancel, logout, about)

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