Hello,

Maybe one of the issue is as presented below ( unfortunately I cannot check
it with MVEL sources but it looks like the reason is the null value of one
of my bean field)
regards

Tomasz



After upgrading 2.3.0 to snapshot( 2.3.1) the error occures on a page which
list the data from the db.

[Click] [error] handleException: java.lang.RuntimeException: [Error: unable
to access field]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
    at org.apache.click.ClickServlet.initPage(ClickServlet.java:1303)
    at org.apache.click.ClickServlet.createPage(ClickServlet.java:1089)
    at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:348)
    at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: [Error: unable to access field]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
    at
org.mvel2.optimizers.impl.refl.nodes.DynamicFieldAccessor.setValue(DynamicFieldAccessor.java:67)
    at
org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.setValue(VariableAccessor.java:47)
    at
org.mvel2.optimizers.dynamic.DynamicSetAccessor.setValue(DynamicSetAccessor.java:62)
    at
org.mvel2.compiler.CompiledAccExpression.setValue(CompiledAccExpression.java:47)
    at
org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:80)
    at
org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42)
    at org.mvel2.MVEL.executeExpression(MVEL.java:1057)
    at org.apache.click.util.PropertyUtils.setValue(PropertyUtils.java:148)
    at
org.apache.click.ClickServlet.processPageRequestParams(ClickServlet.java:1341)
    at org.apache.click.ClickServlet.initPage(ClickServlet.java:1292)
    ... 34 more
Caused by: java.lang.NullPointerException
    at org.mvel2.DataConversion.convert(DataConversion.java:116)
    at
org.mvel2.optimizers.impl.refl.nodes.DynamicFieldAccessor.setValue(DynamicFieldAccessor.java:62)
    ... 43 more
[Click] [info ] renderTemplate:
/click/error.htm,/WEB-INF/common/template2.htm - 32 ms

W dniu 15 listopada 2011 11:57 użytkownik Malcolm Edgar <
[email protected]> napisał:

> Hi,
>
> Click 2.3.1 is not release, hopefully by the end of the year it will
> be available. MVEL replacement of OGNL still has a number of issues
> which need to be resolved.
>
> regards Malcolm Edgar
>
> On Tue, Nov 15, 2011 at 6:58 PM, tomasz bandura
> <[email protected]> wrote:
> > Hello,
> >
> > Currently I am working on a dynamic form component ( which extends Form
> > class).
> > The idea is to build Form control on the basis of beans's fields ( that
> have
> > getter/setter methods) declared as a model.
> > So I added my own annotation and the dynamic form works fine,
> >
> > The problem is when i try to copy form values to the bean object - it
> raises
> > strange exception, because object has required methods:
> >
> > [Click] [debug] Error incurred invoking CarOption.id with null error:
> > ognl.MethodFailedException: Method "setId" failed for object
> > pl.mypackage.model.CarOption@523df [java.lang.IllegalAccessException:
> Method
> > [public void pl.mypackage.model.CarOption.setId(java.lang.Long)] cannot
> be
> > accessed.]
> >
> > Then I tried to get the sources from repository... and the bug
> disappeared (
> > due to the exchange of ognl to mvel ?? )
> > and the version of click was changed.
> >
> > My problem was solved itself, so what is my question? :)
> >
> > Is it official 2.3.1 release or not yet?
> >
> >
> > Best regards,
> > Tomasz
> >
>

Reply via email to