You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Patrick Moore <tr...@gmail.com> on 2007/04/02 18:22:48 UTC

OGNL issue/contrib:Table issue

Hi there --

I am not certain if this is a OGNL issue or a contrib:Table issue.

I have a instance of a class that Hibernate has enhanced and is really a
proxy object. I am using this object in a contrib:Table. OGNL is trying to
enhance this class to add "javassist.CtMethod@ed02c0c[public get
(Lognl/OgnlContext;Ljava/lang/Object;)Ljava/lang/Object;]" method. Javassist
is throwing a javassist.compile.CompilerError complaining "compile error: no
such class:
com.transparentpolitics.core.BroadcastProviderUrl$$EnhancerByCGLIB$$3e86bbb8
"

However, if I display exactly the same information in a @For loop it works
fine:

        <!-- This works
        <span jwcid="@For" source="ognl:urls" value="ognl:current">
             <span jwcid="@Insert" value="ognl:
current.broadcastProvider.broadcastProviderName"/>
             <span jwcid="@Insert" value="ognl:current.getRootUrl()"/>
        </span>
        -->
        <!-- this doesn't -->
        <table jwcid="t1@contrib:Table" source="ognl:urls"
columns="!providerName:Organization name:
broadcastProvider.broadcastProviderName, !url:getRootUrl(), !actions"
            class="table" cellspacing="0" cellpadding="0">
            <td jwcid="actionsColumnValue@Block">
                <a href="#" jwcid="verifiedUrlManually@DirectLink"
listener="listener:verifiedUrlManually"
                    parameters="ognl:components.t1.tableRow.entityId">Verified
Manually</a> |
                <a href="#" jwcid="deleteUrl@DirectLink"
listener="listener:deleteUrl"
                    parameters="ognl:components.t1.tableRow.entityId
">Delete</a>
            </td>
        </table>

So which project gets the bug????

-Pat

Stack trace:


01:27:07.296 ERROR! [SocketListener0-5]
org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue
(OgnlTableColumnEvaluator.java:63) >165> Cannot use column expression '
broadcastProvider.broadcastProviderName' in row
org.apache.hivemind.ApplicationRuntimeException: Unable to parse OGNL
expression 'broadcastProvider.broadcastProviderName': Error compiling
expression on object
com.transparentpolitics.core.BroadcastProviderUrl@de05354f(id=1) with
expression node broadcastProvider.broadcastProviderName getter body: {
return ((
com.transparentpolitics.core.BroadcastProviderUrl$$EnhancerByCGLIB$$3e86bbb8)$2).getBroadcastProvider().getBroadcastProviderName();}
setter body: null
    at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(
ExpressionCacheImpl.java:133)
    at
org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(
ExpressionCacheImpl.java:91)
    at
$ExpressionCache_111b153c750.getCompiledExpression($ExpressionCache_111b153c750.java)
    at org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(
ExpressionEvaluatorImpl.java:94)
    at
$ExpressionEvaluator_111b153c74e.read($ExpressionEvaluator_111b153c74e.java)
    at
org.apache.tapestry.contrib.table.model.ognl.OgnlTableColumnEvaluator.getColumnValue
(OgnlTableColumnEvaluator.java:59)
    at
org.apache.tapestry.contrib.table.model.simple.SimpleTableColumn.getColumnValue
(SimpleTableColumn.java:211)
    at
org.apache.tapestry.contrib.table.model.simple.SimpleTableValueRendererSource.getRenderer
(SimpleTableValueRendererSource.java:56)
    at
org.apache.tapestry.contrib.table.model.common.AbstractTableColumn.getValueRenderer
(AbstractTableColumn.java:173)
    at
org.apache.tapestry.contrib.table.components.TableValues.getTableValueRenderer
(TableValues.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:631)
    at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1044)
    at ognl.ObjectPropertyAccessor.getPossibleProperty(
ObjectPropertyAccessor.java:60)
    at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java
:134)
    at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1755)
    at ognl.ASTProperty.getValueBody(ASTProperty.java:109)
    at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:200)
    at ognl.SimpleNode.getValue(SimpleNode.java:244)
    at ognl.Ognl.getValue(Ognl.java:376)
    at ognl.Ognl.getValue(Ognl.java:340)
    at
org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression
(HiveMindExpressionCompiler.java:137)
    at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:388)
    at ognl.Ognl.compileExpression(Ognl.java:123)
    at org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(
ExpressionCacheImpl.java:129)