Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-8315

Link picker configuration support in Document Type Editor broken

    XMLWordPrintable

Details

    • Maintenance Sprint 1, Maintenance Sprint 2

    Description

      The link picker for a Link field can be configured to only allow selection of certain node types [1]. This is done through a multi-value string property "nodetypes".

      The Document Type Editor UI provides a text box "nodetypes" which accepts a single String value. When entering a value it saves a single-value string property. This actually works: the link picker will only allow that single node type to be selected.

      However it's impossible to enter multiple node types through the UI.

      The documentation describes how it can be done using the Console. When adding the nodetypes property as multi-value property, the link picker then works as expected, but the Document Type Editor UI breaks when selecting that particular Link field due to a ClassCastException.

      [INFO] [talledLocalContainer] 22.09.2014 11:36:35 ERROR http-bio-8080-exec-4 [DefaultExceptionMapper.internalMap:129] Unexpected error occurred
      [INFO] [talledLocalContainer] org.apache.wicket.WicketRuntimeException: Exception in rendering component: [TextFieldWidget [Component id = value]]
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2578)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1485)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.list.ListView.renderItem(ListView.java:584)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.list.ListView.renderChild(ListView.java:573)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:94)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1485)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.repeater.AbstractRepeater.renderChild(AbstractRepeater.java:107)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:94)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.ajax.XmlAjaxResponse.writeComponent(XmlAjaxResponse.java:128)
      [INFO] [talledLocalContainer] at org.apache.wicket.ajax.AbstractAjaxResponse.writeComponents(AbstractAjaxResponse.java:218)
      [INFO] [talledLocalContainer] at org.apache.wicket.ajax.AbstractAjaxResponse.writeTo(AbstractAjaxResponse.java:150)
      [INFO] [talledLocalContainer] at org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:359)
      [INFO] [talledLocalContainer] at org.hippoecm.frontend.PluginRequestTarget.respond(PluginRequestTarget.java:150)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
      [INFO] [talledLocalContainer] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
      [INFO] [talledLocalContainer] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
      [INFO] [talledLocalContainer] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
      [INFO] [talledLocalContainer] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      [INFO] [talledLocalContainer] at org.hippoecm.frontend.plugins.login.ConcurrentLoginFilter.doFilter(ConcurrentLoginFilter.java:54)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:122)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
      [INFO] [talledLocalContainer] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:171)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
      [INFO] [talledLocalContainer] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      [INFO] [talledLocalContainer] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
      [INFO] [talledLocalContainer] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
      [INFO] [talledLocalContainer] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
      [INFO] [talledLocalContainer] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
      [INFO] [talledLocalContainer] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
      [INFO] [talledLocalContainer] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
      [INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      [INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      [INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      [INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:744)
      [INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: An error occurred while getting the model object for Component: [TextField [Component id = widget, page = org.hippoecm.frontend.PluginPage, path = 1:root:tabs:panel-container:cards:2:panel:center:tabs:panel-container:cards:0:panel:editor:extension.editor:form:template:extension.helpers:view:2:item:templateParameterEditor:properties:1:value:widget.TextField, isVisible = true, isVersioned = false, markup = [markup = jar:file:/Users/niels/workspace-docs/proddocs-135/myhippoproject/target/tomcat7x/webapps/cms/WEB-INF/lib/hippo-cms-api-2.26.04.jar!/org/hippoecm/frontend/widgets/TextFieldWidget.html
      [INFO] [talledLocalContainer] <input wicket:id="widget"></input>, index = 0, current = '<input wicket:id="widget">' (line 0, column 0)]]]
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.getDefaultModelObject(Component.java:1632)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.getDefaultModelObjectAsString(Component.java:1655)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.form.FormComponent.getModelValue(FormComponent.java:1291)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:878)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.form.TextField.onComponentTag(TextField.java:108)
      [INFO] [talledLocalContainer] at org.hippoecm.frontend.widgets.TextFieldWidget$1.onComponentTag(TextFieldWidget.java:57)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2522)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRender(Component.java:2381)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.render(Component.java:2309)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530)
      [INFO] [talledLocalContainer] at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76)
      [INFO] [talledLocalContainer] at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.internalRenderComponent(Component.java:2551)
      [INFO] [talledLocalContainer] ... 96 more
      [INFO] [talledLocalContainer] Caused by: java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
      [INFO] [talledLocalContainer] at org.hippoecm.frontend.editor.plugins.field.TemplateParameterEditor$1$1.getObject(TemplateParameterEditor.java:55)
      [INFO] [talledLocalContainer] at org.hippoecm.frontend.editor.plugins.field.TemplateParameterEditor$1$1.getObject(TemplateParameterEditor.java:51)
      [INFO] [talledLocalContainer] at org.apache.wicket.Component.getDefaultModelObject(Component.java:1627)
      [INFO] [talledLocalContainer] ... 112 more

      [1] http://www.onehippo.org/library/concepts/document-types/configure-the-linkpicker-to-select-folders-or-filter-on-document-type.html

      Attachments

        Issue Links

          Activity

            People

              jsheriff Junaidh Kadhar Sheriff
              nvankampenhout Niels van Kampenhout
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: