Not sure if this is JEXL or Stapler....

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Not sure if this is JEXL or Stapler....

Eric Crahen-3
Short question on an error I saw,

I had a class with a bunch of properties in it that was a publisher. The jelly files contained JEXL which correctly extracted these properties for display. I decided to split this class in two so that the base class was essentially the state, and the concrete subclass contained the logic that worked on the state - mostly because the class was big. Once I did this, JEXL expressions that accessed the state through the getters, started giving be reflection exceptions. I guess that methods only get resolved on the immediate class and not transitively up the hierarchy.

Does anyone know if this is a limitation of JEXL, Jelly or Stapler? From the trace it looks like JEXL, but maybe there is an option that I don't know about?


abstract class Base extends Publisher {

  private String prop1;
  private String prop2;

  //...

  public String getX() {}
  public String getY() {}

  //...

  public void setX(String) {}
  public void setY(String) {}


}

class Concrete extends Base {
  // stuff actually dealing with being a Publisher
}

WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java :123)
        at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:311)
        at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:183)
        at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:73)
        at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:82)
        at org.apache.commons.jexl.parser.ASTReference.value (ASTReference.java:56)
        at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
        at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:53)
        at org.apache.commons.jexl.parser.ASTExpressionExpression.value (ASTExpressionExpression.java:55)
        at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:79)
        at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)
        at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate(JexlExpressionFactory.java:122)
        at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse (ExpressionSupport.java:61)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.kohsuke.stapler.jelly.JellyClassTearOff.invokeScript(JellyClassTearOff.java:65)
        at org.kohsuke.stapler.MetaClass$3.dispatch(MetaClass.java:100)
        at org.kohsuke.stapler.Stapler.invoke (Stapler.java:224)
        at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:207)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
        at org.kohsuke.stapler.Stapler.invoke (Stapler.java:224)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:169)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:68)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java :820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
        at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:185)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
        at org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:391)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:285)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java :457)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
        at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:209)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:475)
Caused by: java.lang.NullPointerException
        at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel(AbstractFindBugsPublisher.java:48)
        ... 172 more
Jan 29, 2007 10:19:12 AM org.apache.commons.jelly.expression.jexl.JexlExpression evaluate
WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:123)
        at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke (UberspectImpl.java:311)
        at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:183)
        at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:73)
        at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:82)
        at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:56)
        at org.apache.commons.jexl.parser.ASTEQNode.value( ASTEQNode.java:71)
        at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:53)
        at org.apache.commons.jexl.parser.ASTExpressionExpression.value(ASTExpressionExpression.java:55)
        at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:79)
        at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)
        at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate (JexlExpressionFactory.java:122)
        at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag (ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag (DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag (IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag (InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag (DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTag
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Eric Crahen-3
I suppose I could always move all the state into its own object and make it a member instead of trying to use inheritence.

On 1/29/07, Eric Crahen < [hidden email]> wrote:
Short question on an error I saw,

I had a class with a bunch of properties in it that was a publisher. The jelly files contained JEXL which correctly extracted these properties for display. I decided to split this class in two so that the base class was essentially the state, and the concrete subclass contained the logic that worked on the state - mostly because the class was big. Once I did this, JEXL expressions that accessed the state through the getters, started giving be reflection exceptions. I guess that methods only get resolved on the immediate class and not transitively up the hierarchy.

Does anyone know if this is a limitation of JEXL, Jelly or Stapler? From the trace it looks like JEXL, but maybe there is an option that I don't know about?


abstract class Base extends Publisher {

  private String prop1;
  private String prop2;

  //...

  public String getX() {}
  public String getY() {}

  //...

  public void setX(String) {}
  public void setY(String) {}


}

class Concrete extends Base {
  // stuff actually dealing with being a Publisher
}

WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java :123)
        at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:311)
        at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:183)
        at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:73)
        at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:82)
        at org.apache.commons.jexl.parser.ASTReference.value (ASTReference.java:56)
        at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
        at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:53)
        at org.apache.commons.jexl.parser.ASTExpressionExpression.value (ASTExpressionExpression.java:55)
        at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:79)
        at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)
        at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate(JexlExpressionFactory.java:122)
        at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse (ExpressionSupport.java:61)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag (JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
        at org.kohsuke.stapler.jelly.JellyClassTearOff.invokeScript(JellyClassTearOff.java:65)
        at org.kohsuke.stapler.MetaClass$3.dispatch(MetaClass.java:100)
        at org.kohsuke.stapler.Stapler.invoke (Stapler.java:224)
        at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:207)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
        at org.kohsuke.stapler.Stapler.invoke (Stapler.java:224)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:169)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:68)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java :820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
        at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:185)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
        at org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:391)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:285)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java :457)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
        at org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:209)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:475)
Caused by: java.lang.NullPointerException
        at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel(AbstractFindBugsPublisher.java:48)
        ... 172 more
Jan 29, 2007 10:19:12 AM org.apache.commons.jelly.expression.jexl.JexlExpression evaluate
WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:123)
        at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke (UberspectImpl.java:311)
        at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:183)
        at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:73)
        at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:82)
        at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:56)
        at org.apache.commons.jexl.parser.ASTEQNode.value ( ASTEQNode.java:71)
        at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:53)
        at org.apache.commons.jexl.parser.ASTExpressionExpression.value(ASTExpressionExpression.java:55)
        at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:79)
        at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)
        at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate (JexlExpressionFactory.java:122)
        at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag (ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run (StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
        at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:112)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag (DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.kohsuke.stapler.jelly.IncludeTag.doTag (IncludeTag.java:83)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag (InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:45)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.DynamicTag.doTag (DynamicTag.java:80)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
        at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTa
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Kohsuke Kawaguchi-2
In reply to this post by Eric Crahen-3

The stack trace is quite long, but if you search for "Caused by", you'll
see that the root cause of the problem is just an NPE in your code:

 > Caused by: java.lang.NullPointerException
 >         at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel(
 > AbstractFindBugsPublisher.java:48)



Eric Crahen wrote:

> Short question on an error I saw,
>
> I had a class with a bunch of properties in it that was a publisher. The
> jelly files contained JEXL which correctly extracted these properties for
> display. I decided to split this class in two so that the base class was
> essentially the state, and the concrete subclass contained the logic that
> worked on the state - mostly because the class was big. Once I did this,
> JEXL expressions that accessed the state through the getters, started giving
> be reflection exceptions. I guess that methods only get resolved on the
> immediate class and not transitively up the hierarchy.
>
> Does anyone know if this is a limitation of JEXL, Jelly or Stapler? From the
> trace it looks like JEXL, but maybe there is an option that I don't know
> about?
>
>
> abstract class Base extends Publisher {
>
>   private String prop1;
>   private String prop2;
>
>   //...
>
>   public String getX() {}
>   public String getY() {}
>
>   //...
>
>   public void setX(String) {}
>   public void setY(String) {}
>
>
> }
>
> class Concrete extends Base {
>   // stuff actually dealing with being a Publisher
> }
>
> WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason:
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.commons.jexl.util.PropertyExecutor.execute(
> PropertyExecutor.java:123)
>         at
> org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke
> (UberspectImpl.java:311)
>         at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(
> ASTArrayAccess.java:183)
>         at org.apache.commons.jexl.parser.ASTIdentifier.execute(
> ASTIdentifier.java:73)
>         at org.apache.commons.jexl.parser.ASTReference.execute(
> ASTReference.java:82)
>         at org.apache.commons.jexl.parser.ASTReference.value(
> ASTReference.java:56)
>         at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
>         at org.apache.commons.jexl.parser.ASTExpression.value(
> ASTExpression.java:53)
>         at org.apache.commons.jexl.parser.ASTExpressionExpression.value(
> ASTExpressionExpression.java:55)
>         at org.apache.commons.jexl.ExpressionImpl.evaluate(
> ExpressionImpl.java:79)
>         at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(
> JexlExpression.java:69)
>         at
> org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate
> (JexlExpressionFactory.java:122)
>         at
> org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(
> ExpressionSupport.java:61)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java:150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java:150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.JellyClassTearOff.invokeScript(
> JellyClassTearOff.java:65)
>         at org.kohsuke.stapler.MetaClass$3.dispatch(MetaClass.java:100)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:207)
>         at org.kohsuke.stapler.NameBasedDispatcher.dispatch(
> NameBasedDispatcher.java:30)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:169)
>         at org.kohsuke.stapler.Stapler.service(Stapler.java:68)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :491)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:367)
>         at org.mortbay.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:185)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(
> SessionHandler.java:181)
>         at org.mortbay.jetty.handler.ContextHandler.handle(
> ContextHandler.java:689)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java
> :391)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:146)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(
> HandlerCollection.java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(
> HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:285)
>         at org.mortbay.jetty.HttpConnection.handleRequest(
> HttpConnection.java:457)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
> HttpConnection.java:751)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run(
> SelectChannelEndPoint.java:329)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
> BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
>         at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel(
> AbstractFindBugsPublisher.java:48)
>         ... 172 more
> Jan 29, 2007 10:19:12 AM
> org.apache.commons.jelly.expression.jexl.JexlExpression evaluate
> WARNING: Caught exception evaluating: i==descriptor.instance.level. Reason:
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.commons.jexl.util.PropertyExecutor.execute(
> PropertyExecutor.java:123)
>         at
> org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke
> (UberspectImpl.java:311)
>         at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(
> ASTArrayAccess.java:183)
>         at org.apache.commons.jexl.parser.ASTIdentifier.execute(
> ASTIdentifier.java:73)
>         at org.apache.commons.jexl.parser.ASTReference.execute(
> ASTReference.java:82)
>         at org.apache.commons.jexl.parser.ASTReference.value(
> ASTReference.java:56)
>         at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
>         at org.apache.commons.jexl.parser.ASTExpression.value(
> ASTExpression.java:53)
>         at org.apache.commons.jexl.parser.ASTExpressionExpression.value(
> ASTExpressionExpression.java:55)
>         at org.apache.commons.jexl.ExpressionImpl.evaluate(
> ExpressionImpl.java:79)
>         at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(
> JexlExpression.java:69)
>         at
> org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate
> (JexlExpressionFactory.java:122)
>         at
> org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(
> ExpressionSupport.java:61)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java:150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java:150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.JellyClassTearOff.invokeScript(
> JellyClassTearOff.java:65)
>         at org.kohsuke.stapler.MetaClass$3.dispatch(MetaClass.java:100)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:207)
>         at org.kohsuke.stapler.NameBasedDispatcher.dispatch(
> NameBasedDispatcher.java:30)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:169)
>         at org.kohsuke.stapler.Stapler.service(Stapler.java:68)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :491)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:367)
>         at org.mortbay.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:185)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(
> SessionHandler.java:181)
>         at org.mortbay.jetty.handler.ContextHandler.handle(
> ContextHandler.java:689)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java
> :391)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:146)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(
> HandlerCollection.java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(
> HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:285)
>         at org.mortbay.jetty.HttpConnection.handleRequest(
> HttpConnection.java:457)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
> HttpConnection.java:751)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run(
> SelectChannelEndPoint.java:329)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
> BoundedThreadPool.java:475)
>         ... 172 more
>
>

--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Eric Crahen-3
I should have known from the InvocationTargetException type..

On 1/29/07, Kohsuke Kawaguchi <[hidden email]> wrote:

The stack trace is quite long, but if you search for "Caused by", you'll
see that the root cause of the problem is just an NPE in your code:

> Caused by: java.lang.NullPointerException
>         at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel(
> AbstractFindBugsPublisher.java :48)



Eric Crahen wrote:

> Short question on an error I saw,
>
> I had a class with a bunch of properties in it that was a publisher. The
> jelly files contained JEXL which correctly extracted these properties for
> display. I decided to split this class in two so that the base class was
> essentially the state, and the concrete subclass contained the logic that
> worked on the state - mostly because the class was big. Once I did this,
> JEXL expressions that accessed the state through the getters, started giving
> be reflection exceptions. I guess that methods only get resolved on the
> immediate class and not transitively up the hierarchy.
>
> Does anyone know if this is a limitation of JEXL, Jelly or Stapler? From the
> trace it looks like JEXL, but maybe there is an option that I don't know
> about?
>
>
> abstract class Base extends Publisher {
>
>   private String prop1;
>   private String prop2;
>
>   //...
>
>   public String getX() {}
>   public String getY() {}
>
>   //...
>
>   public void setX(String) {}
>   public void setY(String) {}
>
>
> }
>
> class Concrete extends Base {
>   // stuff actually dealing with being a Publisher
> }
>
> WARNING: Caught exception evaluating: i== descriptor.instance.level. Reason:
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(

> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.commons.jexl.util.PropertyExecutor.execute(
> PropertyExecutor.java:123)
>         at
> org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke
> (UberspectImpl.java:311)
>         at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(
> ASTArrayAccess.java:183)
>         at org.apache.commons.jexl.parser.ASTIdentifier.execute(
> ASTIdentifier.java:73)

>         at org.apache.commons.jexl.parser.ASTReference.execute(
> ASTReference.java:82)
>         at org.apache.commons.jexl.parser.ASTReference.value(
> ASTReference.java :56)
>         at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
>         at org.apache.commons.jexl.parser.ASTExpression.value(
> ASTExpression.java:53)
>         at org.apache.commons.jexl.parser.ASTExpressionExpression.value (
> ASTExpressionExpression.java:55)
>         at org.apache.commons.jexl.ExpressionImpl.evaluate(
> ExpressionImpl.java:79)
>         at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate (
> JexlExpression.java:69)
>         at
> org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate
> (JexlExpressionFactory.java:122)
>         at
> org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(
> ExpressionSupport.java:61)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java :150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java

> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.ForEachTag.doTag(
> ForEachTag.java :150)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag (
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.IncludeTag.doTag (IncludeTag.java:83)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag (
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run (
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run (TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(
> InvokeBodyTag.java:91)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag (StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java

> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run (
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65)
>         at org.apache.commons.jelly.impl.StaticTagScript.run(
> StaticTagScript.java:112)
>         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody (TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java
> :80)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.apache.commons.jelly.impl.ScriptBlock.run (ScriptBlock.java
> :95)
>         at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java
> :186)
>         at org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java
> :45)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:262)
>         at org.kohsuke.stapler.jelly.JellyClassTearOff.invokeScript(
> JellyClassTearOff.java:65)
>         at org.kohsuke.stapler.MetaClass$3.dispatch (MetaClass.java:100)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:207)
>         at org.kohsuke.stapler.NameBasedDispatcher.dispatch (
> NameBasedDispatcher.java:30)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:224)
>         at org.kohsuke.stapler.Stapler.invoke(Stapler.java:169)
>         at org.kohsuke.stapler.Stapler.service (Stapler.java:68)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :491)
>         at org.mortbay.jetty.servlet.ServletHandler.handle (
> ServletHandler.java:367)
>         at org.mortbay.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:185)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(
> SessionHandler.java :181)
>         at org.mortbay.jetty.handler.ContextHandler.handle(
> ContextHandler.java:689)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java
> :391)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:146)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(
> HandlerCollection.java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(
> HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:285)
>         at org.mortbay.jetty.HttpConnection.handleRequest(
> HttpConnection.java:457)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
> HttpConnection.java:751)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)

>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run (
> SelectChannelEndPoint.java:329)
>         at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
> BoundedThreadPool.java:475)
> Caused by: java.lang.NullPointerException
>         at hudson.plugins.findbugs.AbstractFindBugsPublisher.getLevel (
> AbstractFindBugsPublisher.java:48)
>         ... 172 more
> Jan 29, 2007 10:19:12 AM
> org.apache.commons.jelly.expression.jexl.JexlExpression evaluate
> WARNING: Caught exception evaluating: i== descriptor.instance.level. Reason:
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(

> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.commons.jexl.util.PropertyExecutor.execute(
> PropertyExecutor.java:123)
>         at
> org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke
> (UberspectImpl.java:311)
>         at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(
> ASTArrayAccess.java:183)
>         at org.apache.commons.jexl.parser.ASTIdentifier.execute(
> ASTIdentifier.java:73)

>         at org.apache.commons.jexl.parser.ASTReference.execute(
> ASTReference.java:82)
>         at org.apache.commons.jexl.parser.ASTReference.value(
> ASTReference.java :56)
>         at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
>         at org.apache.commons.jexl.parser.ASTExpression.value(
> ASTExpression.java:53)
>         at org.apache.commons.jexl.parser.ASTExpressionExpression.value (
> ASTExpressionExpression.java:55)
>         at org.apache.commons.jexl.ExpressionImpl.evaluate(
> ExpressionImpl.java:79)
>         at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate (
> JexlExpression.java:69)
>         at
> org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate
> (JexlExpressionFactory.java:122)
>         at
> org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(
> ExpressionSupport.java:61)
>         at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:232)
>        
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Jesse Glick
Eric Crahen wrote:
> I should have known from the InvocationTargetException type..

Actually, any kind of Throwable can have an attached cause, so in
general you need to scroll down to check for "Caused by:" lines.

FWIW, I have an RFE for Java to display nested stack traces in a more
natural order:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6507809

-J.

--
[hidden email]  x22801  netbeans.org  ant.apache.org
       http://google.com/search?q=e%5E%28pi*i%29%2B1

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Kohsuke Kawaguchi-2
Jesse Glick wrote:

> Eric Crahen wrote:
>> I should have known from the InvocationTargetException type..
>
> Actually, any kind of Throwable can have an attached cause, so in
> general you need to scroll down to check for "Caused by:" lines.
>
> FWIW, I have an RFE for Java to display nested stack traces in a more
> natural order:
>
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6507809
Your RFE makes sense, but I suspect changing it now is nearly impossible
given the compatibility and all...

--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Curt Cox
What compatibility issues did you have in mind?  The strings produced
by a stack trace have varied from release to release, platform to
platform, and probably from vendor to vendor.  As I read it, the RFE
wouldn't change the API introduced in 1.4.

Just for the record, some rare ThrowableS don't allow causes.

On 1/29/07, Kohsuke Kawaguchi <[hidden email]> wrote:

> Jesse Glick wrote:
> > Eric Crahen wrote:
> >> I should have known from the InvocationTargetException type..
> >
> > Actually, any kind of Throwable can have an attached cause, so in
> > general you need to scroll down to check for "Caused by:" lines.
> >
> > FWIW, I have an RFE for Java to display nested stack traces in a more
> > natural order:
> >
> > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6507809
>
> Your RFE makes sense, but I suspect changing it now is nearly impossible
> given the compatibility and all...
>
> --
> Kohsuke Kawaguchi
> Sun Microsystems                   [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Eric Crahen-3
I feel like I have to go on record and say I know how exceptions are chained, I was just missing it completely. That's what happens when you work late. You wind up archived looking silly on google forever ;)

On 1/29/07, Curt Cox <[hidden email]> wrote:
What compatibility issues did you have in mind?  The strings produced
by a stack trace have varied from release to release, platform to
platform, and probably from vendor to vendor.  As I read it, the RFE
wouldn't change the API introduced in 1.4.

Just for the record, some rare ThrowableS don't allow causes.

On 1/29/07, Kohsuke Kawaguchi <[hidden email]> wrote:

> Jesse Glick wrote:
> > Eric Crahen wrote:
> >> I should have known from the InvocationTargetException type..
> >
> > Actually, any kind of Throwable can have an attached cause, so in
> > general you need to scroll down to check for "Caused by:" lines.
> >
> > FWIW, I have an RFE for Java to display nested stack traces in a more
> > natural order:
> >
> > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6507809
>
> Your RFE makes sense, but I suspect changing it now is nearly impossible
> given the compatibility and all...
>
> --
> Kohsuke Kawaguchi
> Sun Microsystems                   [hidden email]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]




--

- Eric
Reply | Threaded
Open this post in threaded view
|

Re: Not sure if this is JEXL or Stapler....

Kohsuke Kawaguchi-2
In reply to this post by Curt Cox
Curt Cox wrote:
> What compatibility issues did you have in mind?  The strings produced
> by a stack trace have varied from release to release, platform to
> platform, and probably from vendor to vendor.  As I read it, the RFE
> wouldn't change the API introduced in 1.4.

Well, I'm not a compatibility police, so I don't know for sure. I'm just
speaking out of my experience working with them on JAXB, JAXP, etc.

If there's no issue, then that's a good thing.

--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment