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

The Exception report will itself throw an exception if the exception being reported contains a write-only property

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.11
    • Fix Version/s: 5.0.13
    • Component/s: None
    • Labels:
      None

      Description

      when displayed exception contains at least one write-only property tapestry failing to render error page.
      java.lang.UnsupportedOperationException: Class ui.Exception_detail does not provide an accessor ('getter') method for property 'faultCode'
      at org.apache.tapestry.ioc.internal.services.PropertyAdapterImpl.get(PropertyAdapterImpl.java:81)
      at org.apache.tapestry.ioc.internal.services.ClassPropertyAdapterImpl.get(ClassPropertyAdapterImpl.java:81)
      at org.apache.tapestry.ioc.internal.services.ExceptionAnalyzerImpl.extractInfo(ExceptionAnalyzerImpl.java:105)
      at org.apache.tapestry.ioc.internal.services.ExceptionAnalyzerImpl.analyze(ExceptionAnalyzerImpl.java:50)

      it seems like error in extractInfo method, which does not analyze can it read property or not before invoking adapter.get(). So, it is simple to patch
      Instead of

      Object value = adapter.get(t, name);
      if (value == null) continue;

      Use

      PropertyAdapter pa = adapter.getPropertyAdapter(name);
      if (!pa.isRead()) continue;

      Object value = pa.get(t);
      if (value == null) continue;

        Attachments

          Activity

            People

            • Assignee:
              hlship Howard M. Lewis Ship
              Reporter:
              lucker Alexander Gavrilov
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 5m
                5m
                Remaining:
                Remaining Estimate - 5m
                5m
                Logged:
                Time Spent - Not Specified
                Not Specified