Bug 537891 - [raw-config] Trying to navigate to Structured mode from File based edit mode ends in exception
Summary: [raw-config] Trying to navigate to Structured mode from File based edit mode ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Configuration
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: John Sanda
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: RHQ_RawConfig
TreeView+ depends on / blocked
 
Reported: 2009-11-16 17:33 UTC by Preethi Thomas
Modified: 2010-08-12 16:48 UTC (History)
2 users (show)

Fixed In Version: 2.4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-08-12 16:48:41 UTC
Embargoed:


Attachments (Terms of Use)
traceback (16.84 KB, text/plain)
2009-11-16 17:33 UTC, Preethi Thomas
no flags Details

Description Preethi Thomas 2009-11-16 17:33:42 UTC
Created attachment 369755 [details]
traceback

Description of problem:
Trying to navigate to Structured mode from File based edit mode ends in exception

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Select the Structure and Raw Server
2. Click on Edit files
3. Now click on the Switch to Structured mode link from the top
  
Actual results:

Trace back
Expected results:

Switch t structured mode

Additional info:

Comment 1 Preethi Thomas 2009-11-17 16:21:02 UTC
Clicking on Current tab also results in the same stack trace.

Comment 2 Adam Young 2009-12-03 22:42:46 UTC
Fixed in the course of cleaning up other regressions.  Fix should got through the Hudson build process shortly, if not already.

Comment 3 Preethi Thomas 2009-12-04 15:26:53 UTC
Fails_qa
This is still happening
1. Select the Structure and Raw Server
2. Click on Edit files
3. Now click on the Switch to Structured mode link from the top
4. And now click on Current


/rhq/resource/layout/main.xhtml @81,60 test="#{ResourceUIBean.facets.callTime}" Cant instantiate class: org.rhq.enterprise.gui.inventory.resource.ResourceUIBean.


stack trace
com.sun.facelets.tag.TagAttributeException: /rhq/resource/layout/main.xhtml @81,60 test="#{ResourceUIBean.facets.callTime}" Cant instantiate class: org.rhq.enterprise.gui.inventory.resource.ResourceUIBean.
	at com.sun.facelets.tag.TagAttribute.getObject(TagAttribute.java:235)
	at com.sun.facelets.tag.TagAttribute.getBoolean(TagAttribute.java:79)
	at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:49)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:131)
	at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:310)
	at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:280)
	at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:131)
	at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:310)
	at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:280)
	at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:144)
	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:144)
	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:144)
	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
	at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
	at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567)
	at org.rhq.enterprise.gui.common.framework.FaceletRedirectionViewHandler.renderView(FaceletRedirectionViewHandler.java:64)
	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
	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.BaseFilter.doFilter(BaseFilter.java:532)
	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.WebUserTrackingFilter.doFilter(WebUserTrackingFilter.java:47)
	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.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	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:124)
	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:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	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:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.faces.mgbean.ManagedBeanCreationException: Cant instantiate class: org.rhq.enterprise.gui.inventory.resource.ResourceUIBean.
	at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:191)
	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:106)
	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:368)
	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:230)
	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:86)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
	at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
	at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
	at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
	at com.sun.facelets.tag.TagAttribute.getObject(TagAttribute.java:233)
	... 110 more
Caused by: java.lang.IllegalStateException: Required request parameter 'id' is missing.
	at org.rhq.core.gui.util.FacesContextUtility.getRequiredRequestParameter(FacesContextUtility.java:106)
	at org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility.getResource(EnterpriseFacesContextUtility.java:75)
	at org.rhq.enterprise.gui.inventory.resource.ResourceUIBean.<init>(ResourceUIBean.java:84)
	at sun.reflect.GeneratedConstructorAccessor517.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
	... 121 more

Comment 4 John Sanda 2009-12-15 12:44:11 UTC
Here are the steps that I followed to reproduce the error:

1. Go to configure tab for structured and raw server
2. Click edit files button
3. Click switch to structured mode link
4. Click on summary tab (or any other tab/page that expected the id parameter)

This results in the exception listed above.

Comment 5 John Sanda 2009-12-15 12:45:54 UTC
The resource id is expected to be a parameter in the request. When on edit-raw.xhtml and clicking the link to go back to structured, the resource id basically was getting dropped and then navigating to any other page, tab, etc. that expects the id parameter results in the exception. I added a new navigation rule similar to one already defined for edit.xhtml (structured edit page) that adds the id to the request and does a server side redirect as the rule for the structured edit page does.

The commit hash for this fix is,

4e7f1939c4cc1388d3cf9a5b35647684a3d7b033

Comment 6 Preethi Thomas 2009-12-15 19:23:49 UTC
This is fixed in the latest raw-config branch
moving to on_qa to test after merge.

Comment 7 John Sanda 2009-12-21 21:36:01 UTC
ayoung found another case that I missed. Steps to reproduce,

1. Go to configure tab for structured and raw server
2. Click change properties button
3. Click switch to files mode link
4. Click on summary tab (or any other tab/page that expected the id parameter)

This results in the exception listed above because the id parameter is not passed in the query string of the url. I have already committed and pushed a fix. The commit hash is,

32b5c0f365c765461041b3df40bc01b45e91d9f6

We were missing a navigation rule that covered switching from structured to raw (in edit mode) that passes along the resource id.

Comment 8 Preethi Thomas 2010-01-07 13:45:06 UTC
This has been resolved.
master http://10.16.120.159:7080/
followed all the scenarios stated in description, comment 3, 4 & 7.  Also tried going back and forth between structured and raw and clicking on different tabs.
Was not able to reproduce the issue anymore.

Comment 9 Corey Welton 2010-08-12 16:48:41 UTC
Mass-closure of verified bugs against JON.


Note You need to log in before you can comment on or make changes to this bug.