because the same tree nav is used for both the resource and autogroup contexts, we need to be able to switch back and forth. today, switch from a resource context to an autogroup context will work. the autogroup node links seem to be explicit, and shows the target url status bar at the bottom of the browser. however, the same does not happen when hovering over resource context nodes. the resulting error looks nearly identical to RHQ-1358: java.lang.IllegalStateException: Subtabs for selected tab 'Configuration' were not rendered - the tab is most likely not legitimate for the current resource. at org.rhq.enterprise.gui.common.tabbar.TabBarRenderer.writeSubTabs(TabBarRenderer.java:116) at org.rhq.enterprise.gui.common.tabbar.TabBarRenderer.encodeEnd(TabBarRenderer.java:81) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:849) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:946) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:276) at org.ajax4jsf.Filter.doFilter(Filter.java:175) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.rhq.enterprise.gui.legacy.AuthenticationFilter.doFilter(AuthenticationFilter.java:129) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.rhq.enterprise.gui.common.upload.MultipartFilter.doFilter(MultipartFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 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:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
RHQ-1358 and RHQ-1359 are related, but distinct issues. RHQ-1359 concerns the need for explicit context switching between the resource and autogroup contexts. RHQ-1358 talks about the need for intelligent subsystem context fallback when the implied/sticky context does not exist for the target. the link structure in general looks like: /rhq/<entityContext>/<subsystemContext>/<subsystemSubTab>.xhtml RHQ-1359 issue deals with incorrect manipulation of the <entityContext> // values are "resource" and "autogroup" RHQ-1358 deals with incorrect manipulation of the <subsystemContext> // values are "inventory", "configuration", "alerts", etc
to reproduce: * go to some resource, any resource * click on any autogroup link in the tree nav * now tree to click back to any resource in the tree <-- boom
assigning back to ghinkle, who committed the fix to resolve this.
Above test now works, rev2798
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-1359 This bug is related to RHQ-1358