[jboss-user] [JBoss Seam] - Re: Method expressions being mistaken for value

IGx89 do-not-reply at jboss.com
Tue Oct 23 15:30:42 EDT 2007


Ahh, I found the problem. Look at the following code from SeamExpressionEvaluator:
               @Override
  |                 public Object evaluate(VariableResolver resolver) throws ELException
  |                 {
  |                     try {
  |                         try {
  |                             if (me==null && ve==null) {
  |                                 initMethodExpression();
  |                             }
  |                             if (me!=null && ve==null) {
  |                                 return me.invoke(createELContext(resolver, mapper), new Object[0]);
  |                             }
  |                         } catch (javax.el.ELException e) {                                    
  |                             if (ve==null) {
  |                                 initValueExpression();
  |                             }
  |                             if (ve!=null) {
  |                                 return ve.getValue(createELContext(resolver, mapper));
  |                             }
  |                         }
  |                         throw new ELException();
  |                     } catch (javax.el.ELException e) {
  |                         throw new ELException(e);
  |                     }
  |                 }

My problem was that Bean.method was throwing an exception, which was being wrapped by an ELException by JBoss EL and then filtering up out of me.invoke, causing Seam to then try to evaluate it as a value expression (instead of propagating out the exception, like it should be doing). Not sure the best solution here...

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098033#4098033

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098033



More information about the jboss-user mailing list