Issue Details (XML | Word | Printable)

Key: JRA-8710
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Mark Chaimungkalanont [Atlassian]
Reporter: Anton Mazkovoi [Atlassian]
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JIRA

Better error reporting when rendering portlets with invalid parameters

Created: 05/Dec/05 03:08 AM   Updated: 04/Jan/06 04:32 PM
Component/s: Portlets
Affects Version/s: None
Fix Version/s: 3.4.3

Time Tracking:
Not Specified

Issue Links:
Cause
 
Duplicate
 

Participants: Anton Mazkovoi [Atlassian] and Mark Chaimungkalanont [Atlassian]
Since last comment: 2 years, 41 weeks, 4 days ago
Resolution Date: 20/Dec/05 10:19 PM
Labels:


 Description  « Hide
At th emomnet the RunPortlet action that is used when embedding portlets into Confluence pages does not implement isUsingDefaultPortalConfig method. This causes the Filter Statistic Portlet to blow up when an invalid filter id is passed. The error looks like the following:
2005-12-05 20:00:22,503 ERROR [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: java.lang.UnsupportedOperationException: Cannot run with temporary portlet configuration.
java.lang.UnsupportedOperationException: Cannot run with temporary portlet configuration.
        at com.atlassian.jira.web.action.portal.RunPortlet$ParameterPortletConfiguration.isUsingDefaultPortalConfig(RunPortlet.java:121)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:267)
        at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:197)
        at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175)
        at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:307)
        at org.apache.velocity.runtime.parser.node.ASTNotNode.evaluate(ASTNotNode.java:45)
        at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:45)
        at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:68)
        at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55)
        at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230)
        at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:89)
        at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230)
        at org.apache.velocity.Template.merge(Template.java:256)
        at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:450)
        at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:76)
        at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:60)
        at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:55)
        at com.atlassian.jira.plugin.JiraResourcedModuleDescriptor.getHtml(JiraResourcedModuleDescriptor.java:88)
        at com.atlassian.jira.portal.PortletImpl.getViewHtml(PortletImpl.java:65)
        at org.apache.jsp.secure.views.runportlet_jsp._jspService(org.apache.jsp.secure.views.runportlet_jsp:94)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:248)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
        at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
        at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:177)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
        at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:25)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:534)

The easiest way to fix this is to implement the method and retrun true, as this should be safe. Need to check wether it will work for all portlets.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Mark Chaimungkalanont [Atlassian] added a comment - 20/Dec/05 10:19 PM
The RunPortlet action now allows the isUsingDefaultPortalConfig to be called. It returns true

Has been tested on relevent portlets