[ 
https://issues.apache.org/jira/browse/WICKET-700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michel Wichers reopened WICKET-700:
-----------------------------------


I have just forgotten to add the Palette to a Form - the issue i was trying to 
describe can be reproduced by the latest quickstart i will add. The main 
problem seems to be that the Palette does not work if you add a 
CompoundPropertyModel to the Form.

e.g.:

                List<ColumnLabel> columnChoices = new ArrayList<ColumnLabel>();
                String[] strings = { "LabelA", "LabelB", "LabelB", "LabelC", 
"LabelA" };
                for (String string : strings)
                {
                        ColumnLabel columnLabel = new ColumnLabel(string);
                        columnChoices.add(columnLabel);
                }
                TestModel testModel = new TestModel(columnChoices);
                IModel model = new Model(testModel);
                IChoiceRenderer renderer = new ChoiceRenderer("label", "label");
                Form f = new Form("form", new CompoundPropertyModel(model));

                Palette palette = new Palette("paletteID", new 
PropertyModel(testModel, "selection"),
                                new PropertyModel(testModel, "columnChoices"), 
renderer, 10, true);

                f.add(palette);
                add(f);

does not work and comes up with the following Exception:


WicketMessage: No get method defined for class: class 
org.apache.wicket.quickstart.TestModel expression: recorder

Root cause:

org.apache.wicket.WicketRuntimeException: No get method defined for class: 
class org.apache.wicket.quickstart.TestModel expression: recorder
at 
org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:391)
at 
org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:266)
at 
org.apache.wicket.util.lang.PropertyResolver.getPropertyClass(PropertyResolver.java:144)
at 
org.apache.wicket.model.AbstractPropertyModel.getObjectClass(AbstractPropertyModel.java:199)
at 
org.apache.wicket.markup.html.form.AbstractTextComponent.getModelType(AbstractTextComponent.java:119)
at 
org.apache.wicket.markup.html.form.AbstractTextComponent.onBeforeRender(AbstractTextComponent.java:107)
at 
org.apache.wicket.extensions.markup.html.form.palette.component.Recorder.onBeforeRender(Recorder.java:76)
at org.apache.wicket.Component.beforeRender(Component.java:846)
at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1449)
at org.apache.wicket.Component.beforeRender(Component.java:856)
at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1449)
at org.apache.wicket.Component.beforeRender(Component.java:856)
at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1449)
at org.apache.wicket.Component.beforeRender(Component.java:856)
at org.apache.wicket.Page.renderPage(Page.java:885)
at 
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:225)
at 
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1037)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:499)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:257)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:127)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:281)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

> Palette, Recorder Issue
> -----------------------
>
>                 Key: WICKET-700
>                 URL: https://issues.apache.org/jira/browse/WICKET-700
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 1.3.0-beta2
>            Reporter: Michel Wichers
>         Attachments: wicket-quickstart.tar.gz.tgz
>
>
> Hi All!
> I experienced a Problem with the Palette component in the Wicket version
> 1.3.0-SNAPSHOT. When I use a PropertyModel as Choices for the Palette, I
> get the following Error (see below). This Problem did'n exist in the
> 1.2.6-SNAPSHORT.
> I attached an ZIP of the wicket-quickstart where I used the Palette in
> the Index.java Class.
> ERROR:
> WicketMessage: Could not find Form parent for [MarkupContainer
> [Component id = recorder, page = org.apache.wicket.quickstart.Index,
> path = 0:paletteID:recorder.Palette$1, isVisible = true, isVersioned =
> false]]
> Root cause:
> org.apache.wicket.WicketRuntimeException: Could not find Form parent for
> [MarkupContainer [Component id = recorder, page =
> org.apache.wicket.quickstart.Index, path =
> 0:paletteID:recorder.Palette$1, isVisible = true, isVersioned = false]]
> at
> org.apache.wicket.markup.html.form.FormComponent.getForm(FormComponent.j
> ava:565)
> at
> org.apache.wicket.extensions.markup.html.form.palette.component.Recorder
> .onBeforeRender(Recorder.java:78)
> at org.apache.wicket.Component.beforeRender(Component.java:846)
> at
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer
> .java:1449)
> at org.apache.wicket.Component.beforeRender(Component.java:856)
> at
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer
> .java:1449)
> at org.apache.wicket.Component.beforeRender(Component.java:856)
> at org.apache.wicket.Page.renderPage(Page.java:885)
> at
> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget
> .respond(BookmarkablePageRequestTarget.java:225)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(Abstract
> RequestCycleProcessor.java:103)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java
> :1037)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:499)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:257
> )
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
> 127)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
> dler.java:1065)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:1
> 85)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:285)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:751)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 329)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.ja
> va:475)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to