[MGNLUI-185] Content workbench fails when root is different than "/" Created: 19/Nov/12 Updated: 11/Feb/13 Resolved: 26/Nov/12 |
|
| Status: | Closed |
| Project: | Magnolia UI |
| Component/s: | content app |
| Affects Version/s: | 5.0 |
| Fix Version/s: | 5.0 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Jozef Chocholacek | Assignee: | Federico Grilli |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Template: |
|
||||
| Acceptance criteria: |
Empty
|
||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||
| Description |
|
If the workbench's root is set to a value different than "/", sub-app start fails with the following exception: 2012-11-19 13:06:02,384 WARN info.magnolia.ui.framework.event.SimpleEventBus : Exception caught when dispatching event: javax.jcr.PathNotFoundException: /demo-project/demo-project info.magnolia.jcr.RuntimeRepositoryException: javax.jcr.PathNotFoundException: /demo-project/demo-project at info.magnolia.ui.admincentral.tree.container.HierarchicalJcrContainer.isRoot(HierarchicalJcrContainer.java:150) at info.magnolia.ui.admincentral.tree.view.WorkbenchTreeTable.select(WorkbenchTreeTable.java:78) at info.magnolia.ui.admincentral.tree.view.TreeViewImpl.select(TreeViewImpl.java:143) at info.magnolia.ui.admincentral.content.view.ContentPresenter.initContentView(ContentPresenter.java:97) at info.magnolia.ui.admincentral.workbench.ContentWorkbenchPresenter.start(ContentWorkbenchPresenter.java:125) at info.magnolia.ui.admincentral.app.content.AbstractContentSubApp.start(AbstractContentSubApp.java:104) at info.magnolia.ui.admincentral.app.simple.AppControllerImpl$AppContextImpl.startSubApp(AppControllerImpl.java:521) at info.magnolia.ui.admincentral.app.simple.AppControllerImpl$AppContextImpl.openSubApp(AppControllerImpl.java:491) at info.magnolia.ui.framework.app.AbstractApp.start(AbstractApp.java:59) at info.magnolia.ui.admincentral.app.simple.AppControllerImpl$AppContextImpl.start(AppControllerImpl.java:415) at info.magnolia.ui.admincentral.app.simple.AppControllerImpl.doStartIfNotAlreadyRunning(AppControllerImpl.java:196) at info.magnolia.ui.admincentral.app.simple.AppControllerImpl.onLocationChanged(AppControllerImpl.java:248) at info.magnolia.ui.framework.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:64) at info.magnolia.ui.framework.location.LocationChangedEvent.dispatch(LocationChangedEvent.java:42) at info.magnolia.ui.framework.event.SimpleEventBus.fireEvent(SimpleEventBus.java:76) at info.magnolia.ui.framework.location.LocationController.goToWithoutChecks(LocationController.java:103) at info.magnolia.ui.framework.location.LocationController.goTo(LocationController.java:97) at info.magnolia.ui.admincentral.MagnoliaShell$2.invoke(MagnoliaShell.java:122) at org.vaadin.rpc.ServerSideProxy.receiveFromClient(ServerSideProxy.java:91) at org.vaadin.rpc.ServerSideProxy.changeVariables(ServerSideProxy.java:282) at info.magnolia.ui.vaadin.magnoliashell.BaseMagnoliaShell.changeVariables(BaseMagnoliaShell.java:252) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.changeVariables(AbstractCommunicationManager.java:1460) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1404) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1329) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:761) at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:323) at info.magnolia.ui.vaadin.integration.servlet.MultipleBrowserWindowsApplicationServlet$CustomCommunicationManager.handleUidlRequest(MultipleBrowserWindowsApplicationServlet.java:283) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501) at info.magnolia.ui.vaadin.integration.servlet.MagnoliaIcePushServlet.service(MagnoliaIcePushServlet.java:110) at info.magnolia.ui.vaadin.integration.servlet.MultipleBrowserWindowsApplicationServlet.service(MultipleBrowserWindowsApplicationServlet.java:144) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:123) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:70) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) 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:153) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:76) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:86) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:60) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:86) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:93) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.module.templatingkit.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:99) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:75) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:93) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85) at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:73) at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:131) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67) at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:108) 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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:127) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:680) Caused by: javax.jcr.PathNotFoundException: /demo-project/demo-project at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:552) at org.apache.jackrabbit.core.session.SessionItemOperation$4.perform(SessionItemOperation.java:97) at org.apache.jackrabbit.core.session.SessionItemOperation$4.perform(SessionItemOperation.java:93) at org.apache.jackrabbit.core.session.SessionItemOperation.perform(SessionItemOperation.java:187) at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361) at org.apache.jackrabbit.core.SessionImpl.getItem(SessionImpl.java:786) at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getItem(DelegateSessionWrapper.java:154) at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getItem(DelegateSessionWrapper.java:154) at info.magnolia.ui.admincentral.tree.container.HierarchicalJcrContainer.getItemByPath(HierarchicalJcrContainer.java:244) at info.magnolia.ui.admincentral.tree.container.HierarchicalJcrContainer.isRoot(HierarchicalJcrContainer.java:147) ... 114 more It doesn't matter whether the root is set by JCR or using configuration-by-code. |
| Comments |
| Comment by Jozef Chocholacek [ 19/Nov/12 ] |
|
It looks that the root value is somehow doubled, i.e. if I set it to "/demo-project", the workbench looks for "/demo-project/demo-project", or if I set it to "/admin", workbench looks for "/admin/admin", etc. |
| Comment by Jozef Chocholacek [ 23/Nov/12 ] |
|
The reason is IMHO that items in the workbench are represented by their absolute JCR path and not by the path relative to the workbench's root. |