Hi,

I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm having
and ognl / loop related issue.

Here's the snippet that works on 4.0.2

      <td jwcid="@For"
          source="ognl:tab.searchCriteriaOptions"
          value="ognl:currentFilterGroup"
          index="ognl:currentFilterGroupIndex">
        <div jwcid="@If"
             element="literal:td"
             condition="ognl:tab.searchCriteria[currentFilterGroupIndex] !=
null"
             class="ognl:'filter' +
getFilterColumnStyle(currentFilterGroupIndex)">
        <select jwcid="@Select"
                multiple="literal:false"
                size="10"
                onchange=
"ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',
 '+currentFilterGroupIndex+');'"
>
          <div jwcid="@For"
               source="ognl:currentFilterGroup"
               value="ognl:currentFilter"
               index="ognl:currentFilterIndex">
          <option jwcid="@Option"
                  selected=
"ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"
                  label="ognl:currentFilter">
          </option>
          </div>
        </select>
        </div>
      </td>

But under 4.1.2 it's giving me the error:

2007-10-19 16:31:13,878, ERROR,
[org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 179,
Error generating OGNL getter for expression
tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex] with
root [EMAIL PROTECTED]/$Search] and body:
{ return  ($w)
(((java.util.List)(($Search_91)$2).getTab().getSearchCriteriaSelections()).get((($Search_91)$2).getCurrentFilterGroupIndex())).get(((java.util.List)(($Search_91)$2).getCurrentFilterIndex()));}
org.apache.hivemind.ApplicationRuntimeException: Unable to add method
java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
$ASTChain_115b9f4b263: [source error] get(java.util.List) not found in
java.lang.Object
      at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
...
Caused by: javassist.CannotCompileException: [source error]
get(java.util.List) not found in java.lang.Object
      at javassist.CtBehavior.setBody(CtBehavior.java:347)
      at javassist.CtBehavior.setBody(CtBehavior.java:316)
      at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
      ... 161 more
Caused by: compile error: get(java.util.List) not found in java.lang.Object
...

Should we be using different ognl syntax for the new version of Tapestry?

I've tried updating the problem line to
selected=
"ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)"

which works when the page serves but does not write the values back to the
page:

2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to true: Inappropriate OGNL expression:
get(currentFilterIndex)
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)]
location|context:/WEB-INF/Search.html, line 106
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '<parsed OGNL expression>' of
[EMAIL PROTECTED]/$Search] to true: Inappropriate OGNL expression:
get(currentFilterIndex)
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.InappropriateExpressionException

Any ideas?

Thanks,

Dom Couldwell
Global Markets Research

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to