Uploaded image for project: 'Magnolia UI'
  1. Magnolia UI
  2. MGNLUI-4152

Twin-column field in a Multivalue composite field

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not an issue
    • Neutral
    • None
    • 5.5
    • None
    • None
    • Windows 10 10.0 (amd64), Development Notebook

    Description

      Editing of the "Multivalue field -> with Composite field -> with Twin-column field" causes following error:

      2017-02-16 16:03:51,239 ERROR info.magnolia.pages.app.editor.PageEditorPresenter: An error occurred while executing action [editComponent]
      info.magnolia.ui.api.action.ActionExecutionException: Action execution failed for action: editComponent
      	at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:64)
      	at info.magnolia.pages.app.editor.PageEditorPresenter.onAction(PageEditorPresenter.java:175)
      	at info.magnolia.ui.vaadin.editor.PageEditor$1.editComponent(PageEditor.java:103)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
      	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
      	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:437)
      	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:408)
      	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
      	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
      	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
      	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1414)
      	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:365)
      	at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:131)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:69)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58)
      	at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:67)
      	at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:219)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:74)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:84)
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94)
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73)
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:64)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
      	at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
      	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107)
      	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
      	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
      	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1156)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1088)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
      	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
      	at org.eclipse.jetty.server.Server.handle(Server.java:517)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:306)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
      	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:245)
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
      	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
      	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
      	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: com.vaadin.data.Buffered$SourceException
      	at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:665)
      	at info.magnolia.ui.form.field.AbstractCustomMultiField.createLocalField(AbstractCustomMultiField.java:176)
      	at info.magnolia.ui.form.field.CompositeField.initFields(CompositeField.java:95)
      	at info.magnolia.ui.form.field.CompositeField.initFields(CompositeField.java:57)
      	at info.magnolia.ui.form.field.AbstractCustomMultiField.initFields(AbstractCustomMultiField.java:135)
      	at info.magnolia.ui.form.field.CompositeField.initContent(CompositeField.java:82)
      	at com.vaadin.ui.CustomField.getContent(CustomField.java:92)
      	at com.vaadin.ui.CustomField.attach(CustomField.java:82)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.ui.AbstractComponent.setParent(AbstractComponent.java:584)
      	at com.vaadin.ui.CustomField.getContent(CustomField.java:93)
      	at com.vaadin.ui.CustomField.attach(CustomField.java:82)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at info.magnolia.ui.dialog.BaseDialogViewImpl.attach(BaseDialogViewImpl.java:186)
      	at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:619)
      	at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:677)
      	at com.vaadin.ui.AbstractComponent.setParent(AbstractComponent.java:584)
      	at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.addOverlay(MagnoliaShell.java:233)
      	at info.magnolia.ui.vaadin.magnoliashell.MagnoliaShell.openOverlay(MagnoliaShell.java:203)
      	at info.magnolia.ui.framework.shell.ShellImpl.openOverlayOnView(ShellImpl.java:221)
      	at info.magnolia.ui.framework.app.SubAppContextImpl$1.openOverlay(SubAppContextImpl.java:150)
      	at info.magnolia.ui.framework.context.AbstractUIContext.openOverlay(AbstractUIContext.java:66)
      	at info.magnolia.ui.dialog.formdialog.FormDialogPresenterImpl.start(FormDialogPresenterImpl.java:154)
      	at info.magnolia.ui.dialog.formdialog.FormDialogPresenterImpl.start(FormDialogPresenterImpl.java:129)
      	at info.magnolia.pages.app.action.EditElementAction.execute(EditElementAction.java:120)
      	at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:62)
      	... 106 more
      Caused by: com.vaadin.data.util.converter.Converter$ConversionException: Unable to convert value of type java.util.LinkedList to presentation type interface java.util.Set. No converter is set and the types are not compatible.
      	at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:118)
      	at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:736)
      	at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:721)
      	at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:657)
      	... 145 more
      

      multivaluecompositetwincolumfield.yaml

      I can add the component to a page, create a title, choose tags and save it.
      And it got saved in the jcr.

      But when I want to edit the component, I got an error.

      When I delete the twin-column field from the yaml file the component works fine.

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              sbach Sven Bach
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Bug DoR
                  Task DoD