[ http://jira.codehaus.org/browse/CONTINUUM-1556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Olivier Lamy updated CONTINUUM-1556: ------------------------------------ Fix Version/s: 1.1 > Empty Group Description causes Freemarker error in Group Edit mode > ------------------------------------------------------------------ > > Key: CONTINUUM-1556 > URL: http://jira.codehaus.org/browse/CONTINUUM-1556 > Project: Continuum > Issue Type: Bug > Reporter: Andreas Guther > Fix For: 1.1 > > > Cannot edit Group if description field is initially empty. Below copy of > email exchange with more details. I have also attached at the bottom of the > entry the Freemarker error stack. > -----Original Message----- > From: Andreas Guther [mailto:[EMAIL PROTECTED] > Sent: Friday, November 09, 2007 4:40 PM > To: [EMAIL PROTECTED] > Subject: RE: [1.1-beta-3] Description: $build.buildDefinition.description > That seems to be a bug. First I think if the description is empty than there > should be an empty entry in the email rather than the variable name. > Then I noticed that when trying to add the description later with Edit under > Group I cannot save the changes but see a huge FreeMarker Template Error > stack in yellow. > I will file a bug on this. > Andreas > -----Original Message----- > From: Emmanuel Venisse [mailto:[EMAIL PROTECTED] > Sent: Friday, November 09, 2007 1:25 PM > To: [EMAIL PROTECTED] > Subject: Re: [1.1-beta-3] Description: $build.buildDefinition.description > Edit the build definition used by your project (project group or project > level) and set the description field. > Emmanuel > Andreas Guther a écrit : > > I see the following line in my build status mail notifications: > > > > Description: $build.buildDefinition.description > > > > It comes up under the Build Definition section. Where is this entry > > defined or missing so I can add the missing content? > > > > Andreas > > > > > > ************************************************************************ > > **** > > Build Defintion: > > ************************************************************************ > > **** > > POM filename: pom.xml > > Goals: clean install > > Arguments: --batch-mode --non-recursive > > Build Fresh: false > > Always Build: false > > Default Build Definition: true > > Schedule: DEFAULT_SCHEDULE > > Description: $build.buildDefinition.description > > > > > ==================== FreeMarker Error Stack > =============================================== > FreeMarker template error! > Error on line 48, column 13 in template/simple/select.ftl > stack.findString(parameters.listValue) is undefined. > It cannot be assigned to itemValue > The problematic instruction: > ---------- > ==> assignment: itemValue=stack.findString(parameters.listValue) [on line > 48, column 13 in template/simple/select.ftl] > in user-directive ww.iterator [on line 40, column 1 in > template/simple/select.ftl] > in include "/${parameters.templateDir}/simple/select.ftl" [on line 2, column > 1 in template/default/select.ftl] > ---------- > Java backtrace for programmers: > ---------- > freemarker.core.InvalidReferenceException: Error on line 48, column 13 in > template/simple/select.ftl > stack.findString(parameters.listValue) is undefined. > It cannot be assigned to itemValue > at freemarker.core.Assignment.accept(Assignment.java:111) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.IfBlock.accept(IfBlock.java:82) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.visit(Environment.java:233) > at freemarker.core.UnifiedCall.accept(UnifiedCall.java:116) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.include(Environment.java:1375) > at freemarker.core.Include.accept(Include.java:155) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.MixedContent.accept(MixedContent.java:92) > at freemarker.core.Environment.visit(Environment.java:196) > at freemarker.core.Environment.process(Environment.java:176) > at freemarker.template.Template.process(Template.java:231) > at > com.opensymphony.webwork.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:126) > at > com.opensymphony.webwork.components.UIBean.mergeTemplate(UIBean.java:642) > at com.opensymphony.webwork.components.UIBean.end(UIBean.java:596) > at > com.opensymphony.webwork.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:21) > at > org.apache.jsp.WEB_002dINF.jsp.projectGroupEdit_jsp._jspx_meth_ww_select_0(projectGroupEdit_jsp.java:698) > at > org.apache.jsp.WEB_002dINF.jsp.projectGroupEdit_jsp._jspx_meth_ww_iterator_0(projectGroupEdit_jsp.java:596) > at > org.apache.jsp.WEB_002dINF.jsp.projectGroupEdit_jsp._jspx_meth_ww_form_0(projectGroupEdit_jsp.java:286) > at > org.apache.jsp.WEB_002dINF.jsp.projectGroupEdit_jsp._jspx_meth_ww_i18n_0(projectGroupEdit_jsp.java:162) > at > org.apache.jsp.WEB_002dINF.jsp.projectGroupEdit_jsp._jspService(projectGroupEdit_jsp.java:113) > 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:332) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) > at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:286) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171) > at > com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:114) > at > com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) > at > com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) > at > org.codehaus.plexus.xwork.interceptor.PlexusReleaseComponentInterceptor.intercept(PlexusReleaseComponentInterceptor.java:69) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:88) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:88) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:72) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.redback.xwork.interceptor.PolicyEnforcementInterceptor.intercept(PolicyEnforcementInterceptor.java:118) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.redback.xwork.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:178) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:58) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) > at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) > at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:169) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.redback.xwork.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:156) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.redback.xwork.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:76) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:122) > at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > at > com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) > at > com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273) > at > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) > at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > at > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) > at > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) > at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > at > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) > at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) > at org.mortbay.http.HttpServer.service(HttpServer.java:909) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) > at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira