1

Ich habe ein Problem, wenn ich einen Dialog meiner Komponente einzusetzen, gehört es zur Klasse SwitchableFieldDefinition, die eine Option hat eine MultiValueFieldDefinition zu enthalten, und dies hat eine verschachtelte CompositeFieldDefinition:Fehler bei SwitchableFieldDefinition mit Verschachtelung von MultiValueFieldDefinition und CompositeFieldDefinition

Image2 Image3

Dies ist der Protokollfehler, wenn ich diesen Dialog bereitstellen:

ERROR info.magnolia.pages.app.editor.PageEditorPresenter 30.03.2016 11:42:31 -- An error occurred while executing action [editElement] 
    info.magnolia.ui.api.action.ActionExecutionException: Action execution failed for action: editElement 
      at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:64) 
      at info.magnolia.pages.app.editor.PageEditorPresenter.onAction(PageEditorPresenter.java:118) 
      at info.magnolia.ui.vaadin.editor.PageEditor$1.editArea(PageEditor.java:100) 
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      at java.lang.reflect.Method.invoke(Method.java:606) 
      at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168) 
      at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118) 
      at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:214) 
      at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111) 
      at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91) 
      at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37) 
      at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371) 
      at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238) 
      at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:136) 
      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:80) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      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:80) 
      at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:68) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58) 
      at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66) 
      at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:152) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:73) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      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:80) 
      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:80) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:83) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.module.templatingkit.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:112) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:104) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      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:80) 
      at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      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:80) 
      at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:56) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:71) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92) 
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82) 
      at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:61) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:61) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:112) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:129) 
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) 
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80) 
      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:106) 
      at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:66) 
      at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:107) 
      at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:93) 
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) 
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) 
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) 
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) 
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) 
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
      at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) 
      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) 
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 
      at org.eclipse.jetty.server.Server.handle(Server.java:499) 
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) 
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) 
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) 
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) 
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) 
      at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.ClassCastException: info.magnolia.ui.vaadin.integration.NullItem cannot be cast to info.magnolia.ui.vaadin.integration.jcr.JcrNodeAdapter 
      at info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer.getRootItem(DelegatingMultiValueFieldTransformer.java:194) 
      at info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer.readFromItem(DelegatingMultiValueFieldTransformer.java:112) 
      at info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer.readFromItem(DelegatingMultiValueFieldTransformer.java:76) 
      at info.magnolia.ui.form.field.transformer.TransformedProperty.<init>(TransformedProperty.java:59) 
      at info.magnolia.ui.form.field.factory.AbstractFieldFactory.initializeProperty(AbstractFieldFactory.java:238) 
      at info.magnolia.ui.form.field.factory.AbstractFieldFactory.createField(AbstractFieldFactory.java:114) 
      at info.magnolia.ui.form.field.AbstractCustomMultiField.createLocalField(AbstractCustomMultiField.java:175) 
      at info.magnolia.ui.form.field.SwitchableField.initFields(SwitchableField.java:104) 
      at info.magnolia.ui.form.field.SwitchableField.initFields(SwitchableField.java:62) 
      at info.magnolia.ui.form.field.AbstractCustomMultiField.initFields(AbstractCustomMultiField.java:140) 
      at info.magnolia.ui.form.field.SwitchableField.initContent(SwitchableField.java:93) 
      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:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.ui.AbstractComponent.setParent(AbstractComponent.java:478) 
      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:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.ui.AbstractComponent.setParent(AbstractComponent.java:478) 
      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:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at info.magnolia.ui.dialog.BaseDialogViewImpl.attach(BaseDialogViewImpl.java:180) 
      at com.vaadin.server.AbstractClientConnector.attach(AbstractClientConnector.java:583) 
      at com.vaadin.ui.AbstractComponent.attach(AbstractComponent.java:571) 
      at com.vaadin.ui.AbstractComponent.setParent(AbstractComponent.java:478) 
      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:144) 
      at info.magnolia.ui.dialog.formdialog.FormDialogPresenterImpl.start(FormDialogPresenterImpl.java:119) 
      at info.magnolia.pages.app.action.EditElementAction.execute(EditElementAction.java:88) 
      at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:62) 
      ... 118 more 

Ive versucht, mit anderen TransformerClass mag:

DelegatingMultiValueFieldTransformer 
DelegatingCompositeFieldTransformer 

aber ich konnte nicht alles bekommen. Bitte, irgendwelche Hilfe?

Antwort

2

Sie müssen diese "transformerClass" zu SwitchableFieldDefinition Höhe hinzufügen.

TransformerClass

Ich hoffe, Ihre Frage zu lösen.