Description
Links in projectView.action add an ampersand and cause an exception in the logs
Note the extra amp;
http://localhost:8080/continuum/buildResults.action?projectId=22&projectGroupId=32
http://localhost:8080/continuum/workingCopy.action?projectId=22&projectGroupId=32
2012-02-23 09:15:50,271 [btpool0-5] WARN com.opensymphony.xwork2.ognl.OgnlValueStack - Error setting expression 'amp;projectGroupId' with value '[Ljava.lang.String;@35758595' ognl.ExpressionSyntaxException: Malformed OGNL expression: amp;projectGroupId [ognl.TokenMgrError: Lexical error at line 1, column 4. Encountered: ";" (59), after : ""] at ognl.Ognl.parseExpression(Ognl.java:114) at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:214) at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:289) at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:172) at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) at org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspx_meth_s_action_0(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:411) at org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:154) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192) at com.opensymphony.sitemesh.compatability.OldDecorator2NewDecorator.render(OldDecorator2NewDecorator.java:46) at com.opensymphony.sitemesh.webapp.decorator.BaseWebAppDecorator.render(BaseWebAppDecorator.java:33) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:84) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) Caused by: ognl.TokenMgrError: Lexical error at line 1, column 4. Encountered: ";" (59), after : "" at ognl.OgnlParserTokenManager.getNextToken(OgnlParserTokenManager.java:1539) at ognl.OgnlParser.jj_scan_token(OgnlParser.java:3060) at ognl.OgnlParser.jj_3R_21(OgnlParser.java:2837) at ognl.OgnlParser.jj_3_3(OgnlParser.java:2831) at ognl.OgnlParser.jj_2_3(OgnlParser.java:2402) at ognl.OgnlParser.primaryExpression(OgnlParser.java:1533) at ognl.OgnlParser.navigationChain(OgnlParser.java:1243) at ognl.OgnlParser.unaryExpression(OgnlParser.java:1196) at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971) at ognl.OgnlParser.additiveExpression(OgnlParser.java:894) at ognl.OgnlParser.shiftExpression(OgnlParser.java:750) at ognl.OgnlParser.relationalExpression(OgnlParser.java:508) at ognl.OgnlParser.equalityExpression(OgnlParser.java:405) at ognl.OgnlParser.andExpression(OgnlParser.java:352) at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299) at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246) at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193) at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140) at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101) at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64) at ognl.OgnlParser.expression(OgnlParser.java:23) at ognl.OgnlParser.topLevelExpression(OgnlParser.java:15) at ognl.Ognl.parseExpression(Ognl.java:110) ... 66 more /-- Encapsulated exception ------------\ ognl.TokenMgrError: Lexical error at line 1, column 4. Encountered: ";" (59), after : "" at ognl.OgnlParserTokenManager.getNextToken(OgnlParserTokenManager.java:1539) at ognl.OgnlParser.jj_scan_token(OgnlParser.java:3060) at ognl.OgnlParser.jj_3R_21(OgnlParser.java:2837) at ognl.OgnlParser.jj_3_3(OgnlParser.java:2831) at ognl.OgnlParser.jj_2_3(OgnlParser.java:2402) at ognl.OgnlParser.primaryExpression(OgnlParser.java:1533) at ognl.OgnlParser.navigationChain(OgnlParser.java:1243) at ognl.OgnlParser.unaryExpression(OgnlParser.java:1196) at ognl.OgnlParser.multiplicativeExpression(OgnlParser.java:971) at ognl.OgnlParser.additiveExpression(OgnlParser.java:894) at ognl.OgnlParser.shiftExpression(OgnlParser.java:750) at ognl.OgnlParser.relationalExpression(OgnlParser.java:508) at ognl.OgnlParser.equalityExpression(OgnlParser.java:405) at ognl.OgnlParser.andExpression(OgnlParser.java:352) at ognl.OgnlParser.exclusiveOrExpression(OgnlParser.java:299) at ognl.OgnlParser.inclusiveOrExpression(OgnlParser.java:246) at ognl.OgnlParser.logicalAndExpression(OgnlParser.java:193) at ognl.OgnlParser.logicalOrExpression(OgnlParser.java:140) at ognl.OgnlParser.conditionalTestExpression(OgnlParser.java:101) at ognl.OgnlParser.assignmentExpression(OgnlParser.java:64) at ognl.OgnlParser.expression(OgnlParser.java:23) at ognl.OgnlParser.topLevelExpression(OgnlParser.java:15) at ognl.Ognl.parseExpression(Ognl.java:110) at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:214) at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.components.ActionComponent.executeAction(ActionComponent.java:289) at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:172) at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) at org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspx_meth_s_action_0(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:411) at org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:154) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192) at com.opensymphony.sitemesh.compatability.OldDecorator2NewDecorator.render(OldDecorator2NewDecorator.java:46) at com.opensymphony.sitemesh.webapp.decorator.BaseWebAppDecorator.render(BaseWebAppDecorator.java:33) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:84) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) \--------------------------------------/