[ http://issues.apache.org/struts/browse/WW-662?page=all ]
     
Don Brown resolved WW-662:
--------------------------

    Fix Version:     (was: 2.0.0)
     Resolution: Not A Problem

I'm moving this to XWork, since that is where the fix would be.  See 
http://jira.opensymphony.com/browse/XW-395

> change the way tags/ognl handle runtime exceptions thrown by propertys
> ----------------------------------------------------------------------
>
>          Key: WW-662
>          URL: http://issues.apache.org/struts/browse/WW-662
>      Project: Struts Action 2
>         Type: Improvement

>   Components: Expression Language
>     Versions: WW 2.1.4
>     Reporter: Francisco Hernandez
>     Assignee: Don Brown

>
> does anyone think that tags/ognl should re-throw runtime exceptions and let 
> the container catch them instead of just just logging them how it is now and 
> continuing to load the page normally?
> I was using a previous version of webwork2 and this wasnt happening before.
> what im doing is loading a proxied object from hibernate in my action then 
> going to the view to display it but its throwing an ObjectNotFoundException 
> when the tags try to access the proxy, I would have thought that hibernate 
> would throw that ONFE when I did the actual session.load() instead of when I 
> actually tried to use the proxy but thats not the case.
> [ERROR] CompoundRootAccessor  - Caught an Ognl exception while getting 
> property ex
> ognl.OgnlException: ex [java.lang.RuntimeException: getEx()]
>         at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:908)
>         at 
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>         at 
> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>         at 
> com.opensymphony.xwork.util.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:95)
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>         at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>         at ognl.SimpleNode.getValue(SimpleNode.java:193)
>         at ognl.Ognl.getValue(Ognl.java:333)
>         at 
> com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValueStack.java:168)
>         at 
> com.opensymphony.webwork.views.jsp.WebWorkTagSupport.findValue(WebWorkTagSupport.java:51)
>         at 
> com.opensymphony.webwork.views.jsp.PropertyTag.doStartTag(PropertyTag.java:58)
>         at 
> __jspPage0_WEB_INF_views_index_jsp._jspService(__jspPage0_WEB_INF_views_index_jsp.java:29)
>         at com.orionserver.http.OrionHttpJspPage.service(.:70)
>         at com.evermind._ay._rkb(.:5741)
>         at com.evermind.server.http.JSPServlet.service(.:31)
>         at com.evermind._hb.doFilter(.:59)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:68)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._cub.forward(.:147)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:80)
>         at 
> com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:115)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:261)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:185)
>         at 
> com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> o2.interceptor.SetServiceLocator.intercept(SetServiceLocator.java:42)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:63)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:278)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:248)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
>         at com.evermind._hb.doFilter(.:59)
>         at o2.servlet.TimerFilter.doFilter(TimerFilter.java:14)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:117)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Unknown Source)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Unknown Source)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._ax._ltc(.:666)
>         at com.evermind._ax._uab(.:191)
>         at com.evermind._bf.run(.:62)
> /-- Encapsulated exception ------------\
> java.lang.RuntimeException: getEx()
>         at o2.action.AbstractAction.getEx(AbstractAction.java:53)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>         at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
>         at 
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>         at 
> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>         at 
> com.opensymphony.xwork.util.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:95)
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>         at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>         at ognl.SimpleNode.getValue(SimpleNode.java:193)
>         at ognl.Ognl.getValue(Ognl.java:333)
>         at 
> com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValueStack.java:168)
>         at 
> com.opensymphony.webwork.views.jsp.WebWorkTagSupport.findValue(WebWorkTagSupport.java:51)
>         at 
> com.opensymphony.webwork.views.jsp.PropertyTag.doStartTag(PropertyTag.java:58)
>         at 
> __jspPage0_WEB_INF_views_index_jsp._jspService(__jspPage0_WEB_INF_views_index_jsp.java:29)
>         at com.orionserver.http.OrionHttpJspPage.service(.:70)
>         at com.evermind._ay._rkb(.:5741)
>         at com.evermind.server.http.JSPServlet.service(.:31)
>         at com.evermind._hb.doFilter(.:59)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:68)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._cub.forward(.:147)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:80)
>         at 
> com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:115)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:261)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:185)
>         at 
> com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> o2.interceptor.SetServiceLocator.intercept(SetServiceLocator.java:42)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:63)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:278)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:248)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
>         at com.evermind._hb.doFilter(.:59)
>         at o2.servlet.TimerFilter.doFilter(TimerFilter.java:14)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:117)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Unknown Source)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Unknown Source)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._ax._ltc(.:666)
>         at com.evermind._ax._uab(.:191)
>         at com.evermind._bf.run(.:62)
> \--------------------------------------/
> [WARN] OgnlValueStack  - Caught an exception while evaluating expression 'ex' 
> against value stack
> java.lang.RuntimeException: Caught an Ognl exception while getting property ex
>         at 
> com.opensymphony.xwork.util.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:110)
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>         at ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>         at ognl.SimpleNode.getValue(SimpleNode.java:193)
>         at ognl.Ognl.getValue(Ognl.java:333)
>         at 
> com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValueStack.java:168)
>         at 
> com.opensymphony.webwork.views.jsp.WebWorkTagSupport.findValue(WebWorkTagSupport.java:51)
>         at 
> com.opensymphony.webwork.views.jsp.PropertyTag.doStartTag(PropertyTag.java:58)
>         at 
> __jspPage0_WEB_INF_views_index_jsp._jspService(__jspPage0_WEB_INF_views_index_jsp.java:29)
>         at com.orionserver.http.OrionHttpJspPage.service(.:70)
>         at com.evermind._ay._rkb(.:5741)
>         at com.evermind.server.http.JSPServlet.service(.:31)
>         at com.evermind._hb.doFilter(.:59)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:68)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._cub.forward(.:147)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:80)
>         at 
> com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:115)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:261)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:185)
>         at 
> com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> o2.interceptor.SetServiceLocator.intercept(SetServiceLocator.java:42)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:34)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:63)
>         at 
> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:163)
>         at 
> com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:278)
>         at 
> com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:248)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
>         at com.evermind._hb.doFilter(.:59)
>         at o2.servlet.TimerFilter.doFilter(TimerFilter.java:14)
>         at com.evermind._ha.doFilter(.:16)
>         at 
> org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:117)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:75)
>         at com.evermind._ha.doFilter(.:20)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Unknown Source)
>         at 
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Unknown Source)
>         at com.evermind._cub._pod(.:383)
>         at com.evermind._cub._bmc(.:177)
>         at com.evermind._ax._ltc(.:666)
>         at com.evermind._ax._uab(.:191)
>         at com.evermind._bf.run(.:62)
> [INFO] LoggingInterceptor  - Finishing execution stack for action index

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to