History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: OGNL-26
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Jesse Kuhnert
Reporter: Maksym Gryevtsov
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
OGNL

Try to access to the hidden class java.util.HashMap$Entry

Created: 26/Mar/07 03:47 PM   Updated: 01/Apr/07 05:44 PM
Component/s: None
Affects Version/s: 2.7
Fix Version/s: 2.7

Environment: JBoss, Windows, JDK 1.5


 Description  « Hide
Hi,

I'm trying to switch my working code from 4.1.1 to 4.1.2-SNAPSHOT, but get an OGNL error. It seems that the Tapestry tries to get list of properties based on the actual class not interface of the object even if class is not public.

page class:

abstract public Map<String, Integer> getProcessMap();

abstract public Map.Entry<String, Integer> getIterProcessEntry();


page definition:

<property name="iterProcessEntry" />
<component id="processLoop" type="For">
        <binding name="source" value="processMap.entrySet()" />
        <binding name="value" value="iterProcessEntry" />
</component>
<component id="iterProcessNameLabel" type="Insert">
        <binding name="value" value="iterProcessEntry.key" />
</component>

Exception:
 tried to access class java.util.HashMap$Entry from class ognl.ASTTest28738682Accessor

So despite "iterProcessEntry" property is defined with public interface Map.Entry, the calculation of "iterProcessEntry.key" tries to work with class information that is not public in this case. It it bug? I have not been able to find anything in JIRA. How such often used code was able to stop working and sleep though test cases? I use Sun JDK 1.5.11.

 All   Comments   Change History      Sort Order:
There are no comments yet on this issue.