Uploaded image for project: 'Continuum'
  1. Continuum
  2. CONTINUUM-1556

Empty Group Description causes Freemarker error in Group Edit mode

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • None
    • 1.1
    • None
    • None

    Description

      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 Andreas.Guther@markettools.com
      Sent: Friday, November 09, 2007 4:40 PM
      To: continuum-users@maven.apache.org
      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 emmanuel@venisse.net
      Sent: Friday, November 09, 2007 1:25 PM
      To: continuum-users@maven.apache.org
      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)

      Attachments

        Activity

          People

            evenisse Emmanuel Venisse
            aguther Andreas Guther
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: