Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1352

OGNL expression try to access hidden class java.util.HashMap$Entry

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Won't Fix
    • 4.1.2
    • 4.1.1
    • None
    • None
    • Sun JDK 1.5.11, JBoss 4.0.3SP1

    Description

      I got an OGNL error during upgrade from 4.1.1 to 4.1.2-SNAPSHOT. 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 during calculation of "iterProcessEntry.key":
      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            maksymg Maksym Gryevtsov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: