Class trandformation problems

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Class trandformation problems

Adriaan Joubert-3
Hi,

tapestry 5 is great and it is fantastic how easy it is to write new
components for tapestry.

One problem we have though is that using injected variables at times breaks
the application in unpredictable ways. A typical example is as follows:

Getting some information from a wrapping component (we are transforming our
internal report structure to HTML using Tapestry components here)

    @Parameter(value = "componentResources.container")
    private ReportDisplayInterface reportInterface_;

Having a private variable

   private ReportData data_;

which is initialised in

   @SetupRender
   void setupRender() {
       data_ = reportInterface_.getData();
      ....


So far so good and this works fine. But we have need to make modifications
to data_ as we progress with the generation of the page. Frequently calls
like

    data_.someMethod();

will lead to a ClassNotFound exceptions - as the class could not be
transformed. (Previously I used to get an ArrayIndexOutOfBounds exception
out of javaassist, but with the latest snapshots that has gone away).

Frequently this can be solved by moving the call into a method, so turning
this into

    // data_.someMethod();
    myUnnecessaryMethod(data_);


    void myUnnecessaryMethod(ReportData data) {
        data.someMethod();
    }

This can be quite frustrating, as it leads to long sessions of commenting
out one line after the other to find the offending line of code.

So are there any guidelines as to what can be done with fields that are
linked through to properties in other classes? Are these bugs or am I just
trying to do something I shouldn't? Are there any standard templates for
usages that work?

I'm using 5.0.10-SNAPSHOT and have updated today, but this has been a
problem since 5.0.5.

Cheers,

Adriaan
Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Howard Lewis Ship
I haven't been seeing this, it's new to me.  What JDK and OS are you using?

Earlier versions had some issues with inner classes that were resolved.

If you could turn on debugging of generated classes it would be
useful.  Enable logging for your component class name and it will be
produced at level debug.  The output is a description of all the
changes that occured to the class file as part of the transformation
and can be quite useful.

On Feb 8, 2008 8:33 AM, Adriaan Joubert <[hidden email]> wrote:

> Hi,
>
> tapestry 5 is great and it is fantastic how easy it is to write new
> components for tapestry.
>
> One problem we have though is that using injected variables at times breaks
> the application in unpredictable ways. A typical example is as follows:
>
> Getting some information from a wrapping component (we are transforming our
> internal report structure to HTML using Tapestry components here)
>
>     @Parameter(value = "componentResources.container")
>     private ReportDisplayInterface reportInterface_;
>
> Having a private variable
>
>    private ReportData data_;
>
> which is initialised in
>
>    @SetupRender
>    void setupRender() {
>        data_ = reportInterface_.getData();
>       ....
>
>
> So far so good and this works fine. But we have need to make modifications
> to data_ as we progress with the generation of the page. Frequently calls
> like
>
>     data_.someMethod();
>
> will lead to a ClassNotFound exceptions - as the class could not be
> transformed. (Previously I used to get an ArrayIndexOutOfBounds exception
> out of javaassist, but with the latest snapshots that has gone away).
>
> Frequently this can be solved by moving the call into a method, so turning
> this into
>
>     // data_.someMethod();
>     myUnnecessaryMethod(data_);
>
>
>     void myUnnecessaryMethod(ReportData data) {
>         data.someMethod();
>     }
>
> This can be quite frustrating, as it leads to long sessions of commenting
> out one line after the other to find the offending line of code.
>
> So are there any guidelines as to what can be done with fields that are
> linked through to properties in other classes? Are these bugs or am I just
> trying to do something I shouldn't? Are there any standard templates for
> usages that work?
>
> I'm using 5.0.10-SNAPSHOT and have updated today, but this has been a
> problem since 5.0.5.
>
> Cheers,
>
> Adriaan
>



--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Adriaan Joubert-3
On Feb 8, 2008 7:13 PM, Howard Lewis Ship <[hidden email]> wrote:

> I haven't been seeing this, it's new to me.  What JDK and OS are you
> using?


 penfold:~$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

This is on ubuntu feisty and ubuntu dapper

Linux penfold 2.6.22-14-generic #1 SMP Fri Feb 1 04:59:50 UTC 2008 i686
GNU/Linux



>
> Earlier versions had some issues with inner classes that were resolved.
>
> If you could turn on debugging of generated classes it would be
> useful.  Enable logging for your component class name and it will be
> produced at level debug.  The output is a description of all the
> changes that occured to the class file as part of the transformation
> and can be quite useful.


 There is a lot of stuff here. I'm sorry, but I could not see anything
obvious in here. The errors about different components not being in the
template are semi-accurate: they are in a t:block in the template and I
return the one I need in  a <t:delegate to="component"/>. For the rest I
cannot see an obvious failure. But I managed to generate this failure simply
be in-lining a method. I'd really appreciate some help with this - and my
apologies for the length of the log!

Cheers,

Adriaan

Checking field write _$origReport__default in method
containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$reportData__invariant in method
containingPageDidLoad(): added method
Checking field read reportData_ in method containingPageDidLoad(): added
method
Checking field write _$reportData__default in method
containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$section__invariant in method containingPageDidLoad():
added method
Checking field read section_ in method containingPageDidLoad(): added method
Checking field write _$section__default in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$showAll__invariant in method containingPageDidLoad():
added method
Checking field read showAll_ in method containingPageDidLoad(): added method
Checking field write _$showAll__default in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$bindingSource in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$width__invariant in method containingPageDidLoad():
added method
Checking field read width_ in method containingPageDidLoad(): added method
Checking field write _$width__default in method containingPageDidLoad():
added method
Checking field read data_ in method containingPageDidLoad(): added method
Checking field write _$data__default in method containingPageDidLoad():
added method
Checking field read nodeList_ in method containingPageDidLoad(): added
method
Checking field write _$nodeList__default in method containingPageDidLoad():
added method
Checking field read node_ in method containingPageDidLoad(): added method
Checking field write _$node__default in method containingPageDidLoad():
added method
Checking field read report_ in method containingPageDidLoad(): added method
Checking field write _$report__default in method containingPageDidLoad():
added method
Checking field read tableName_ in method containingPageDidLoad(): added
method
Checking field write _$tableName__default in method containingPageDidLoad():
added method
Checking field read tableOfContents_ in method containingPageDidLoad():
added method
Checking field write _$tableOfContents__default in method
containingPageDidLoad(): added method
Checking field read _$data__default in method containingPageDidDetach():
added method
Checking field write data_ in method containingPageDidDetach(): added method
Checking field read _$nodeList__default in method containingPageDidDetach():
added method
Checking field write nodeList_ in method containingPageDidDetach(): added
method
Checking field read _$node__default in method containingPageDidDetach():
added method
Checking field write node_ in method containingPageDidDetach(): added method
Checking field read _$report__default in method containingPageDidDetach():
added method
Checking field write report_ in method containingPageDidDetach(): added
method
Checking field read _$tableName__default in method
containingPageDidDetach(): added method
Checking field write tableName_ in method containingPageDidDetach(): added
method
Checking field read _$tableOfContents__default in method
containingPageDidDetach(): added method
Checking field write tableOfContents_ in method containingPageDidDetach():
added method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method
Checking field read _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read key_ in method _$read_parameter_key(): added method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$key__invariant in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field write key_ in method _$read_parameter_key(): added method
Checking field write _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write _$key__cached in method _$update_parameter_key(): added
method
Checking field read _$origReport__cached in method
_$read_parameter_report(): added method
Checking field read _$resources in method _$read_parameter_report(): added
method
Checking field read _$resources in method _$read_parameter_report(): added
method
Checking field read origReport_ in method _$read_parameter_report(): added
method
Checking field read _$resources in method _$read_parameter_report(): added
method
Checking field read _$origReport__invariant in method
_$read_parameter_report(): added method
Checking field read _$resources in method _$read_parameter_report(): added
method
Checking field write origReport_ in method _$read_parameter_report(): added
method
Checking field write _$origReport__cached in method
_$read_parameter_report(): added method
Checking field read _$resources in method _$update_parameter_report(): added
method
Checking field write origReport_ in method _$update_parameter_report():
added method
Checking field read _$resources in method _$update_parameter_report(): added
method
Checking field read _$resources in method _$update_parameter_report(): added
method
Checking field write origReport_ in method _$update_parameter_report():
added method
Checking field read _$resources in method _$update_parameter_report(): added
method
Checking field write _$origReport__cached in method
_$update_parameter_report(): added method
Checking field read _$reportData__cached in method _$read_parameter_data():
added method
Checking field read _$resources in method _$read_parameter_data(): added
method
Checking field read _$resources in method _$read_parameter_data(): added
method
Checking field read reportData_ in method _$read_parameter_data(): added
method
Checking field read _$resources in method _$read_parameter_data(): added
method
Checking field read _$reportData__invariant in method
_$read_parameter_data(): added method
Checking field read _$resources in method _$read_parameter_data(): added
method
Checking field write reportData_ in method _$read_parameter_data(): added
method
Checking field write _$reportData__cached in method _$read_parameter_data():
added method
Checking field read _$resources in method _$update_parameter_data(): added
method
Checking field write reportData_ in method _$update_parameter_data(): added
method
Checking field read _$resources in method _$update_parameter_data(): added
method
Checking field read _$resources in method _$update_parameter_data(): added
method
Checking field write reportData_ in method _$update_parameter_data(): added
method
Checking field read _$resources in method _$update_parameter_data(): added
method
Checking field write _$reportData__cached in method
_$update_parameter_data(): added method
Checking field read _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read section_ in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$section__invariant in method
_$read_parameter_section(): added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field write section_ in method _$read_parameter_section(): added
method
Checking field write _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write _$section__cached in method
_$update_parameter_section(): added method
Checking field read _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read showAll_ in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$showAll__invariant in method
_$read_parameter_showAll(): added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field write showAll_ in method _$read_parameter_showAll(): added
method
Checking field write _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write _$showAll__cached in method
_$update_parameter_showAll(): added method
Checking field read _$width__cached in method _$read_parameter_width():
added method
Checking field read _$resources in method _$read_parameter_width(): added
method
Checking field read _$resources in method _$read_parameter_width(): added
method
Checking field read width_ in method _$read_parameter_width(): added method
Checking field read _$resources in method _$read_parameter_width(): added
method
Checking field read _$width__invariant in method _$read_parameter_width():
added method
Checking field read _$resources in method _$read_parameter_width(): added
method
Checking field write width_ in method _$read_parameter_width(): added method
Checking field write _$width__cached in method _$read_parameter_width():
added method
Checking field read _$resources in method _$update_parameter_width(): added
method
Checking field write width_ in method _$update_parameter_width(): added
method
Checking field read _$resources in method _$update_parameter_width(): added
method
Checking field read _$resources in method _$update_parameter_width(): added
method
Checking field write width_ in method _$update_parameter_width(): added
method
Checking field read _$resources in method _$update_parameter_width(): added
method
Checking field write _$width__cached in method _$update_parameter_width():
added method

convert default constructor: initializer();

add constructor: com.albourne.web.components.report.ReportDisplay(
org.apache.tapestry.internal.InternalComponentResources $1,
org.apache.tapestry.services.BindingSource $2)
{
  _$resources = $1;
  _$bindingSource = $2;
  initializer();

}

]
 - org.apache.tapestry.internal.services.ComponentClassTransformerImpl (156)
DEBUG - Finished class transformation: InternalClassTransformation[
public com.albourne.web.components.report.ReportDisplayNavigation extends
java.lang.Object
  implements org.apache.tapestry.runtime.Component,
org.apache.tapestry.runtime.RenderCommand

add default method: public void postRenderCleanup()
<default>

add default method: public void setupRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beginRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void cleanupRender(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public boolean dispatchComponentEvent(
org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public
org.apache.tapestry.ComponentResourcesgetComponentResources()
<default>

add default method: public void containingPageDidLoad()
<default>

add default method: public void containingPageDidDetach()
<default>

add default method: public void containingPageDidAttach()
<default>

add field: protected final
org.apache.tapestry.internal.InternalComponentResources _$resources;

replace method: public final
org.apache.tapestry.ComponentResourcesgetComponentResources()
return _$resources;

add default method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
<default>

replace method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
_$resources.queueRender($2);

add field: private boolean _$key__cached;

add field: private java.lang.String _$key__default;

add field: private boolean _$key__invariant;

extend method: public void containingPageDidLoad()
{
  _$key__invariant = _$resources.isInvariant("key");
  _$key__default = key_;
}


extend method: public void postRenderCleanup()
if (! _$key__invariant)
{
  key_ = _$key__default;
  _$key__cached = false;
}


add method: private java.lang.String _$read_parameter_key()
{
  if (_$key__cached || ! _$resources.isLoaded() || !
_$resources.isBound("key")) return key_;
  java.lang.String result = ($r) ((java.lang.String)
_$resources.readParameter("key", "java.lang.String"));
  if (_$key__invariant || _$resources.isRendering())
  {
    key_ = result;
    _$key__cached = true;
  }
  return result;
}


replace read key_: _$read_parameter_key();

add method: private void _$update_parameter_key(java.lang.String $1)
{
  if (! _$resources.isLoaded())
  {
    key_ = $1;
    return;
  }
  if (_$resources.isBound("key"))
    _$resources.writeParameter("key", ($w)$1);
  key_ = $1;
  _$key__cached = _$resources.isRendering();
}


replace write key_: _$update_parameter_key();

add field: private boolean _$section__cached;

add field: private int _$section__default;

add field: private boolean _$section__invariant;

extend method: public void containingPageDidLoad()
{
  _$section__invariant = _$resources.isInvariant("section");
  _$section__default = section_;
}


extend method: public void postRenderCleanup()
if (! _$section__invariant)
{
  section_ = _$section__default;
  _$section__cached = false;
}


add method: private int _$read_parameter_section()
{
  if (_$section__cached || ! _$resources.isLoaded() || !
_$resources.isBound("section")) return section_;
  int result = ($r) ((java.lang.Integer)
_$resources.readParameter("section", "java.lang.Integer"));
  if (_$section__invariant || _$resources.isRendering())
  {
    section_ = result;
    _$section__cached = true;
  }
  return result;
}


replace read section_: _$read_parameter_section();

add method: private void _$update_parameter_section(int $1)
{
  if (! _$resources.isLoaded())
  {
    section_ = $1;
    return;
  }
  if (_$resources.isBound("section"))
    _$resources.writeParameter("section", ($w)$1);
  section_ = $1;
  _$section__cached = _$resources.isRendering();
}


replace write section_: _$update_parameter_section();

add field: private boolean _$showAll__cached;

add field: private boolean _$showAll__default;

add field: private boolean _$showAll__invariant;

add field: protected final
org.apache.tapestry.services.BindingSource_$bindingSource;

extend method: public void containingPageDidLoad()
{
  if (! _$resources.isBound("showAll"))
    _$resources.bindParameter("showAll", _$bindingSource.newBinding("default
showAll", _$resources, "prop", "true"));
  _$showAll__invariant = _$resources.isInvariant("showAll");
  _$showAll__default = showAll_;
}


extend method: public void postRenderCleanup()
if (! _$showAll__invariant)
{
  showAll_ = _$showAll__default;
  _$showAll__cached = false;
}


add method: private boolean _$read_parameter_showAll()
{
  if (_$showAll__cached || ! _$resources.isLoaded() || !
_$resources.isBound("showAll")) return showAll_;
  boolean result = ($r) ((java.lang.Boolean)
_$resources.readParameter("showAll", "java.lang.Boolean"));
  if (_$showAll__invariant || _$resources.isRendering())
  {
    showAll_ = result;
    _$showAll__cached = true;
  }
  return result;
}


replace read showAll_: _$read_parameter_showAll();

add method: private void _$update_parameter_showAll(boolean $1)
{
  if (! _$resources.isLoaded())
  {
    showAll_ = $1;
    return;
  }
  if (_$resources.isBound("showAll"))
    _$resources.writeParameter("showAll", ($w)$1);
  showAll_ = $1;
  _$showAll__cached = _$resources.isRendering();
}


replace write showAll_: _$update_parameter_showAll();

add field: private boolean _$tableOfContents__cached;

add field: private
com.albourne.reports.pdf.TableOfContents_$tableOfContents__default;

add field: private boolean _$tableOfContents__invariant;

extend method: public void containingPageDidLoad()
{
  _$tableOfContents__invariant = _$resources.isInvariant("toc");
  _$tableOfContents__default = tableOfContents_;
}


extend method: public void postRenderCleanup()
if (! _$tableOfContents__invariant)
{
  tableOfContents_ = _$tableOfContents__default;
  _$tableOfContents__cached = false;
}


add method: private
com.albourne.reports.pdf.TableOfContents_$read_parameter_toc()
{
  if (_$tableOfContents__cached || ! _$resources.isLoaded() || !
_$resources.isBound("toc")) return tableOfContents_;
  com.albourne.reports.pdf.TableOfContents result = ($r) ((
com.albourne.reports.pdf.TableOfContents) _$resources.readParameter("toc", "
com.albourne.reports.pdf.TableOfContents"));
  if (_$tableOfContents__invariant || _$resources.isRendering())
  {
    tableOfContents_ = result;
    _$tableOfContents__cached = true;
  }
  return result;
}


replace read tableOfContents_: _$read_parameter_toc();

add method: private void _$update_parameter_toc(
com.albourne.reports.pdf.TableOfContents $1)
{
  if (! _$resources.isLoaded())
  {
    tableOfContents_ = $1;
    return;
  }
  if (_$resources.isBound("toc"))
    _$resources.writeParameter("toc", ($w)$1);
  tableOfContents_ = $1;
  _$tableOfContents__cached = _$resources.isRendering();
}


replace write tableOfContents_: _$update_parameter_toc();

replace method: public void setupRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayNavigation.setupRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayNavigation.java:71)");
    setupRender($1);
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void beginRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayNavigation.beginRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayNavigation.java:87)");
    if ($2.storeResult(($w) beginRender($1))) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void afterRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayNavigation.afterRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayNavigation.java:139)");
    if ($2.storeResult(($w) afterRender($1))) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


extend method: public void postRenderCleanup()
_$resources.postRenderCleanup();

add field: private java.util.Iterator _$iterator__default;

extend method: public void containingPageDidLoad()
_$iterator__default = iterator_;

extend method: public void containingPageDidDetach()
iterator_ = _$iterator__default;

add field: private int _$tocLevel__default;

extend method: public void containingPageDidLoad()
_$tocLevel__default = tocLevel_;

extend method: public void containingPageDidDetach()
tocLevel_ = _$tocLevel__default;

add field: private com.albourne.reports.pdf.TableOfContentsEntry_$toc__default;

extend method: public void containingPageDidLoad()
_$toc__default = toc_;

extend method: public void containingPageDidDetach()
toc_ = _$toc__default;

Checking field read tableOfContents_ in method setupRender(): replacing with
$_ = $0._$read_parameter_toc();
Checking field write iterator_ in method setupRender(): field not
transformed
Checking field write tocLevel_ in method setupRender(): field not
transformed
Checking field read iterator_ in method setupRender(): field not transformed
Checking field read iterator_ in method setupRender(): field not transformed
Checking field write toc_ in method setupRender(): field not transformed
Checking field write toc_ in method setupRender(): field not transformed
Checking field read toc_ in method beginRender(): field not transformed
Checking field read toc_ in method beginRender(): field not transformed
Checking field read tocLevel_ in method beginRender(): field not transformed
Checking field read toc_ in method beginRender(): field not transformed
Checking field write tocLevel_ in method beginRender(): field not
transformed
Checking field read toc_ in method getTocEntry(): field not transformed
Checking field read toc_ in method isShowLink(): field not transformed
Checking field read toc_ in method isShowLink(): field not transformed
Checking field read section_ in method isShowLink(): replacing with $_ =
$0._$read_parameter_section();
Checking field read section_ in method isShowLink(): replacing with $_ =
$0._$read_parameter_section();
Checking field read key_ in method isShowLink(): replacing with $_ =
$0._$read_parameter_key();
Checking field read toc_ in method isShowLink(): field not transformed
Checking field write section_ in method isShowLink(): replacing with
$0._$update_parameter_section($1);
Checking field read toc_ in method isShowLink(): field not transformed
Checking field write key_ in method isShowLink(): replacing with
$0._$update_parameter_key($1);
Checking field read iterator_ in method afterRender(): field not transformed
Checking field read iterator_ in method afterRender(): field not transformed
Checking field write toc_ in method afterRender(): field not transformed
Checking field read tocLevel_ in method afterRender(): field not transformed
Checking field write tocLevel_ in method afterRender(): field not
transformed
Checking field read tocLevel_ in method afterRender(): field not transformed
Checking field read toc_ in method afterRender(): field not transformed
Checking field read tocLevel_ in method afterRender(): field not transformed
Checking field read toc_ in method afterRender(): field not transformed
Checking field read tocLevel_ in method afterRender(): field not transformed
Checking field write tocLevel_ in method afterRender(): field not
transformed
Checking field read tocLevel_ in method afterRender(): field not transformed
Checking field read toc_ in method afterRender(): field not transformed
Checking field read toc_ in method afterRender(): field not transformed
Checking field read toc_ in method getContext(): field not transformed
Checking field read toc_ in method getContext(): field not transformed
Checking field read _$key__invariant in method postRenderCleanup(): added
method
Checking field read _$key__default in method postRenderCleanup(): added
method
Checking field write key_ in method postRenderCleanup(): added method
Checking field write _$key__cached in method postRenderCleanup(): added
method
Checking field read _$section__invariant in method postRenderCleanup():
added method
Checking field read _$section__default in method postRenderCleanup(): added
method
Checking field write section_ in method postRenderCleanup(): added method
Checking field write _$section__cached in method postRenderCleanup(): added
method
Checking field read _$showAll__invariant in method postRenderCleanup():
added method
Checking field read _$showAll__default in method postRenderCleanup(): added
method
Checking field write showAll_ in method postRenderCleanup(): added method
Checking field write _$showAll__cached in method postRenderCleanup(): added
method
Checking field read _$tableOfContents__invariant in method
postRenderCleanup(): added method
Checking field read _$tableOfContents__default in method
postRenderCleanup(): added method
Checking field write tableOfContents_ in method postRenderCleanup(): added
method
Checking field write _$tableOfContents__cached in method
postRenderCleanup(): added method
Checking field read _$resources in method postRenderCleanup(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$key__invariant in method containingPageDidLoad():
added method
Checking field read key_ in method containingPageDidLoad(): added method
Checking field write _$key__default in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$section__invariant in method containingPageDidLoad():
added method
Checking field read section_ in method containingPageDidLoad(): added method
Checking field write _$section__default in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$bindingSource in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$showAll__invariant in method containingPageDidLoad():
added method
Checking field read showAll_ in method containingPageDidLoad(): added method
Checking field write _$showAll__default in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$tableOfContents__invariant in method
containingPageDidLoad(): added method
Checking field read tableOfContents_ in method containingPageDidLoad():
added method
Checking field write _$tableOfContents__default in method
containingPageDidLoad(): added method
Checking field read iterator_ in method containingPageDidLoad(): added
method
Checking field write _$iterator__default in method containingPageDidLoad():
added method
Checking field read tocLevel_ in method containingPageDidLoad(): added
method
Checking field write _$tocLevel__default in method containingPageDidLoad():
added method
Checking field read toc_ in method containingPageDidLoad(): added method
Checking field write _$toc__default in method containingPageDidLoad(): added
method
Checking field read _$iterator__default in method containingPageDidDetach():
added method
Checking field write iterator_ in method containingPageDidDetach(): added
method
Checking field read _$tocLevel__default in method containingPageDidDetach():
added method
Checking field write tocLevel_ in method containingPageDidDetach(): added
method
Checking field read _$toc__default in method containingPageDidDetach():
added method
Checking field write toc_ in method containingPageDidDetach(): added method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method
Checking field read _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read key_ in method _$read_parameter_key(): added method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$key__invariant in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field write key_ in method _$read_parameter_key(): added method
Checking field write _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write _$key__cached in method _$update_parameter_key(): added
method
Checking field read _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read section_ in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$section__invariant in method
_$read_parameter_section(): added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field write section_ in method _$read_parameter_section(): added
method
Checking field write _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write _$section__cached in method
_$update_parameter_section(): added method
Checking field read _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read showAll_ in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$showAll__invariant in method
_$read_parameter_showAll(): added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field write showAll_ in method _$read_parameter_showAll(): added
method
Checking field write _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write _$showAll__cached in method
_$update_parameter_showAll(): added method
Checking field read _$tableOfContents__cached in method
_$read_parameter_toc(): added method
Checking field read _$resources in method _$read_parameter_toc(): added
method
Checking field read _$resources in method _$read_parameter_toc(): added
method
Checking field read tableOfContents_ in method _$read_parameter_toc(): added
method
Checking field read _$resources in method _$read_parameter_toc(): added
method
Checking field read _$tableOfContents__invariant in method
_$read_parameter_toc(): added method
Checking field read _$resources in method _$read_parameter_toc(): added
method
Checking field write tableOfContents_ in method _$read_parameter_toc():
added method
Checking field write _$tableOfContents__cached in method
_$read_parameter_toc(): added method
Checking field read _$resources in method _$update_parameter_toc(): added
method
Checking field write tableOfContents_ in method _$update_parameter_toc():
added method
Checking field read _$resources in method _$update_parameter_toc(): added
method
Checking field read _$resources in method _$update_parameter_toc(): added
method
Checking field write tableOfContents_ in method _$update_parameter_toc():
added method
Checking field read _$resources in method _$update_parameter_toc(): added
method
Checking field write _$tableOfContents__cached in method
_$update_parameter_toc(): added method

convert default constructor: initializer();

add constructor: com.albourne.web.components.report.ReportDisplayNavigation(
org.apache.tapestry.internal.InternalComponentResources $1,
org.apache.tapestry.services.BindingSource $2)
{
  _$resources = $1;
  _$bindingSource = $2;
  initializer();

}

]
 - org.apache.tapestry.internal.services.ComponentClassTransformerImpl (156)
DEBUG - Finished class transformation: InternalClassTransformation[
public com.albourne.web.components.report.ReportDisplayTopLevel extends
java.lang.Object
  implements com.albourne.web.interfaces.ReportDisplayInterface,
org.apache.tapestry.runtime.Component,
org.apache.tapestry.runtime.RenderCommand

add default method: public void postRenderCleanup()
<default>

add default method: public void setupRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beginRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void cleanupRender(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public boolean dispatchComponentEvent(
org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public
org.apache.tapestry.ComponentResourcesgetComponentResources()
<default>

add default method: public void containingPageDidLoad()
<default>

add default method: public void containingPageDidDetach()
<default>

add default method: public void containingPageDidAttach()
<default>

add field: protected final
org.apache.tapestry.internal.InternalComponentResources _$resources;

replace method: public final
org.apache.tapestry.ComponentResourcesgetComponentResources()
return _$resources;

add method: private void _$write_resources_(
org.apache.tapestry.ComponentResources $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplayTopLevel.resources_ is
read-only.");

replace write resources_: _$write_resources_();

add default method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
<default>

replace method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
_$resources.queueRender($2);

add field: private boolean _$key__cached;

add field: private java.lang.String _$key__default;

add field: private boolean _$key__invariant;

extend method: public void containingPageDidLoad()
{
  _$key__invariant = _$resources.isInvariant("key");
  _$key__default = key_;
}


extend method: public void postRenderCleanup()
if (! _$key__invariant)
{
  key_ = _$key__default;
  _$key__cached = false;
}


add method: private java.lang.String _$read_parameter_key()
{
  if (_$key__cached || ! _$resources.isLoaded() || !
_$resources.isBound("key")) return key_;
  java.lang.String result = ($r) ((java.lang.String)
_$resources.readParameter("key", "java.lang.String"));
  if (_$key__invariant || _$resources.isRendering())
  {
    key_ = result;
    _$key__cached = true;
  }
  return result;
}


replace read key_: _$read_parameter_key();

add method: private void _$update_parameter_key(java.lang.String $1)
{
  if (! _$resources.isLoaded())
  {
    key_ = $1;
    return;
  }
  if (_$resources.isBound("key"))
    _$resources.writeParameter("key", ($w)$1);
  key_ = $1;
  _$key__cached = _$resources.isRendering();
}


replace write key_: _$update_parameter_key();

add field: private boolean _$reportInterface__cached;

add field: private
com.albourne.web.interfaces.ReportDisplayInterface_$reportInterface__default;

add field: private boolean _$reportInterface__invariant;

add field: protected final
org.apache.tapestry.services.BindingSource_$bindingSource;

extend method: public void containingPageDidLoad()
{
  if (! _$resources.isBound("reportInterface_"))
    _$resources.bindParameter("reportInterface_",
_$bindingSource.newBinding("default reportInterface_", _$resources, "prop",
"componentResources.container"));
  _$reportInterface__invariant =
_$resources.isInvariant("reportInterface_");
  _$reportInterface__default = reportInterface_;
}


extend method: public void postRenderCleanup()
if (! _$reportInterface__invariant)
{
  reportInterface_ = _$reportInterface__default;
  _$reportInterface__cached = false;
}


add method: private
com.albourne.web.interfaces.ReportDisplayInterface_$read_parameter_reportInterface_()
{
  if (_$reportInterface__cached || ! _$resources.isLoaded() || !
_$resources.isBound("reportInterface_")) return reportInterface_;
  com.albourne.web.interfaces.ReportDisplayInterface result = ($r) ((
com.albourne.web.interfaces.ReportDisplayInterface)
_$resources.readParameter("reportInterface_", "
com.albourne.web.interfaces.ReportDisplayInterface"));
  if (_$reportInterface__invariant || _$resources.isRendering())
  {
    reportInterface_ = result;
    _$reportInterface__cached = true;
  }
  return result;
}


replace read reportInterface_: _$read_parameter_reportInterface_();

add method: private void _$update_parameter_reportInterface_(
com.albourne.web.interfaces.ReportDisplayInterface $1)
{
  if (! _$resources.isLoaded())
  {
    reportInterface_ = $1;
    return;
  }
  if (_$resources.isBound("reportInterface_"))
    _$resources.writeParameter("reportInterface_", ($w)$1);
  reportInterface_ = $1;
  _$reportInterface__cached = _$resources.isRendering();
}


replace write reportInterface_: _$update_parameter_reportInterface_();

add field: private boolean _$section__cached;

add field: private int _$section__default;

add field: private boolean _$section__invariant;

extend method: public void containingPageDidLoad()
{
  _$section__invariant = _$resources.isInvariant("section");
  _$section__default = section_;
}


extend method: public void postRenderCleanup()
if (! _$section__invariant)
{
  section_ = _$section__default;
  _$section__cached = false;
}


add method: private int _$read_parameter_section()
{
  if (_$section__cached || ! _$resources.isLoaded() || !
_$resources.isBound("section")) return section_;
  int result = ($r) ((java.lang.Integer)
_$resources.readParameter("section", "java.lang.Integer"));
  if (_$section__invariant || _$resources.isRendering())
  {
    section_ = result;
    _$section__cached = true;
  }
  return result;
}


replace read section_: _$read_parameter_section();

add method: private void _$update_parameter_section(int $1)
{
  if (! _$resources.isLoaded())
  {
    section_ = $1;
    return;
  }
  if (_$resources.isBound("section"))
    _$resources.writeParameter("section", ($w)$1);
  section_ = $1;
  _$section__cached = _$resources.isRendering();
}


replace write section_: _$update_parameter_section();

add field: private boolean _$showAll__cached;

add field: private boolean _$showAll__default;

add field: private boolean _$showAll__invariant;

extend method: public void containingPageDidLoad()
{
  _$showAll__invariant = _$resources.isInvariant("showAll");
  _$showAll__default = showAll_;
}


extend method: public void postRenderCleanup()
if (! _$showAll__invariant)
{
  showAll_ = _$showAll__default;
  _$showAll__cached = false;
}


add method: private boolean _$read_parameter_showAll()
{
  if (_$showAll__cached || ! _$resources.isLoaded() || !
_$resources.isBound("showAll")) return showAll_;
  boolean result = ($r) ((java.lang.Boolean)
_$resources.readParameter("showAll", "java.lang.Boolean"));
  if (_$showAll__invariant || _$resources.isRendering())
  {
    showAll_ = result;
    _$showAll__cached = true;
  }
  return result;
}


replace read showAll_: _$read_parameter_showAll();

add method: private void _$update_parameter_showAll(boolean $1)
{
  if (! _$resources.isLoaded())
  {
    showAll_ = $1;
    return;
  }
  if (_$resources.isBound("showAll"))
    _$resources.writeParameter("showAll", ($w)$1);
  showAll_ = $1;
  _$showAll__cached = _$resources.isRendering();
}


replace write showAll_: _$update_parameter_showAll();

replace method: public void setupRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayTopLevel.setupRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayTopLevel.java:81)");
    setupRender($1);
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void beginRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayTopLevel.beginRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayTopLevel.java:160)");
    if ($2.storeResult(($w) beginRender($1))) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void afterRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplayTopLevel.afterRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplayTopLevel.java:177)");
    if ($2.storeResult(($w) afterRender($1))) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


extend method: public void postRenderCleanup()
_$resources.postRenderCleanup();

add field: private com.albourne.reports.data.ReportData _$data__default;

extend method: public void containingPageDidLoad()
_$data__default = data_;

extend method: public void containingPageDidDetach()
data_ = _$data__default;

add field: private com.albourne.reports.definitions.ReportNode_$node__default;

extend method: public void containingPageDidLoad()
_$node__default = node_;

extend method: public void containingPageDidDetach()
node_ = _$node__default;

add field: private
com.albourne.reports.definitions.ReportNode_$rootNode__default;

extend method: public void containingPageDidLoad()
_$rootNode__default = rootNode_;

extend method: public void containingPageDidDetach()
rootNode_ = _$rootNode__default;

Checking field read reportInterface_ in method setupRender(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field write data_ in method setupRender(): field not transformed
Checking field read reportInterface_ in method setupRender(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field write rootNode_ in method setupRender(): field not
transformed
Checking field read rootNode_ in method setupRender(): field not transformed
Checking field write node_ in method setupRender(): field not transformed
Checking field read showAll_ in method setupRender(): replacing with $_ =
$0._$read_parameter_showAll();
Checking field read out in method setupRender(): field not transformed
Checking field read section_ in method setupRender(): replacing with $_ =
$0._$read_parameter_section();
Checking field read rootNode_ in method setupRender(): field not transformed
Checking field read section_ in method setupRender(): replacing with $_ =
$0._$read_parameter_section();
Checking field write node_ in method setupRender(): field not transformed
Checking field read node_ in method setupRender(): field not transformed
Checking field read data_ in method setupRender(): field not transformed
Checking field read reportInterface_ in method setupRender(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field read key_ in method setupRender(): replacing with $_ =
$0._$read_parameter_key();
Checking field write data_ in method setupRender(): field not transformed
Checking field read out in method setupRender(): field not transformed
Checking field read key_ in method setupRender(): replacing with $_ =
$0._$read_parameter_key();
Checking field read out in method setupRender(): field not transformed
Checking field read node_ in method setupRender(): field not transformed
Checking field read data_ in method setupRender(): field not transformed
Checking field write node_ in method setupRender(): field not transformed
Checking field read node_ in method setupRender(): field not transformed
Checking field read node_ in method setupRender(): field not transformed
Checking field read data_ in method setupRender(): field not transformed
Checking field read rootNode_ in method nextNode(): field not transformed
Checking field read node_ in method beginRender(): field not transformed
Checking field read node_ in method beginRender(): field not transformed
Checking field read data_ in method beginRender(): field not transformed
Checking field read showAll_ in method afterRender(): replacing with $_ =
$0._$read_parameter_showAll();
Checking field read node_ in method afterRender(): field not transformed
Checking field read data_ in method afterRender(): field not transformed
Checking field write node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read data_ in method afterRender(): field not transformed
Checking field write node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read data_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read node_ in method getNode(): field not transformed
Checking field read reportInterface_ in method getReport(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field read reportInterface_ in method getReportData(): replacing
with $_ = $0._$read_parameter_reportInterface_();
Checking field read reportInterface_ in method getWidth(): replacing with $_
= $0._$read_parameter_reportInterface_();
Checking field read data_ in method getData(): field not transformed
Checking field read reportInterface_ in method getTableName(): replacing
with $_ = $0._$read_parameter_reportInterface_();
Checking field read _$key__invariant in method postRenderCleanup(): added
method
Checking field read _$key__default in method postRenderCleanup(): added
method
Checking field write key_ in method postRenderCleanup(): added method
Checking field write _$key__cached in method postRenderCleanup(): added
method
Checking field read _$reportInterface__invariant in method
postRenderCleanup(): added method
Checking field read _$reportInterface__default in method
postRenderCleanup(): added method
Checking field write reportInterface_ in method postRenderCleanup(): added
method
Checking field write _$reportInterface__cached in method
postRenderCleanup(): added method
Checking field read _$section__invariant in method postRenderCleanup():
added method
Checking field read _$section__default in method postRenderCleanup(): added
method
Checking field write section_ in method postRenderCleanup(): added method
Checking field write _$section__cached in method postRenderCleanup(): added
method
Checking field read _$showAll__invariant in method postRenderCleanup():
added method
Checking field read _$showAll__default in method postRenderCleanup(): added
method
Checking field write showAll_ in method postRenderCleanup(): added method
Checking field write _$showAll__cached in method postRenderCleanup(): added
method
Checking field read _$resources in method postRenderCleanup(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$key__invariant in method containingPageDidLoad():
added method
Checking field read key_ in method containingPageDidLoad(): added method
Checking field write _$key__default in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$bindingSource in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$reportInterface__invariant in method
containingPageDidLoad(): added method
Checking field read reportInterface_ in method containingPageDidLoad():
added method
Checking field write _$reportInterface__default in method
containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$section__invariant in method containingPageDidLoad():
added method
Checking field read section_ in method containingPageDidLoad(): added method
Checking field write _$section__default in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$showAll__invariant in method containingPageDidLoad():
added method
Checking field read showAll_ in method containingPageDidLoad(): added method
Checking field write _$showAll__default in method containingPageDidLoad():
added method
Checking field read data_ in method containingPageDidLoad(): added method
Checking field write _$data__default in method containingPageDidLoad():
added method
Checking field read node_ in method containingPageDidLoad(): added method
Checking field write _$node__default in method containingPageDidLoad():
added method
Checking field read rootNode_ in method containingPageDidLoad(): added
method
Checking field write _$rootNode__default in method containingPageDidLoad():
added method
Checking field read _$data__default in method containingPageDidDetach():
added method
Checking field write data_ in method containingPageDidDetach(): added method
Checking field read _$node__default in method containingPageDidDetach():
added method
Checking field write node_ in method containingPageDidDetach(): added method
Checking field read _$rootNode__default in method containingPageDidDetach():
added method
Checking field write rootNode_ in method containingPageDidDetach(): added
method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method
Checking field read _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read key_ in method _$read_parameter_key(): added method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field read _$key__invariant in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$read_parameter_key(): added
method
Checking field write key_ in method _$read_parameter_key(): added method
Checking field write _$key__cached in method _$read_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write key_ in method _$update_parameter_key(): added method
Checking field read _$resources in method _$update_parameter_key(): added
method
Checking field write _$key__cached in method _$update_parameter_key(): added
method
Checking field read _$reportInterface__cached in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read reportInterface_ in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read _$reportInterface__invariant in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$read_parameter_reportInterface_(): added method
Checking field write _$reportInterface__cached in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write _$reportInterface__cached in method
_$update_parameter_reportInterface_(): added method
Checking field read _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read section_ in method _$read_parameter_section(): added
method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field read _$section__invariant in method
_$read_parameter_section(): added method
Checking field read _$resources in method _$read_parameter_section(): added
method
Checking field write section_ in method _$read_parameter_section(): added
method
Checking field write _$section__cached in method _$read_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write section_ in method _$update_parameter_section(): added
method
Checking field read _$resources in method _$update_parameter_section():
added method
Checking field write _$section__cached in method
_$update_parameter_section(): added method
Checking field read _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read showAll_ in method _$read_parameter_showAll(): added
method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field read _$showAll__invariant in method
_$read_parameter_showAll(): added method
Checking field read _$resources in method _$read_parameter_showAll(): added
method
Checking field write showAll_ in method _$read_parameter_showAll(): added
method
Checking field write _$showAll__cached in method _$read_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write showAll_ in method _$update_parameter_showAll(): added
method
Checking field read _$resources in method _$update_parameter_showAll():
added method
Checking field write _$showAll__cached in method
_$update_parameter_showAll(): added method

convert default constructor: initializer();

add constructor: com.albourne.web.components.report.ReportDisplayTopLevel(
org.apache.tapestry.internal.InternalComponentResources $1,
org.apache.tapestry.services.BindingSource $2)
{
  _$resources = $1;
resources_ = _$resources;
  _$bindingSource = $2;
  initializer();

}

]
 - org.apache.tapestry.internal.services.ComponentClassTransformerImpl (156)
DEBUG - Finished class transformation: InternalClassTransformation[
public com.albourne.web.components.report.ReportDisplaySection extends
java.lang.Object
  implements com.albourne.web.interfaces.ReportDisplayInterface,
org.apache.tapestry.runtime.Component,
org.apache.tapestry.runtime.RenderCommand

add default method: public void postRenderCleanup()
<default>

add default method: public void setupRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beginRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderTemplate(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderBody(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRender(org.apache.tapestry.MarkupWriter$1,
org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void cleanupRender(
org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public boolean dispatchComponentEvent(
org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public
org.apache.tapestry.ComponentResourcesgetComponentResources()
<default>

add default method: public void containingPageDidLoad()
<default>

add default method: public void containingPageDidDetach()
<default>

add default method: public void containingPageDidAttach()
<default>

add field: protected final
org.apache.tapestry.internal.InternalComponentResources _$resources;

replace method: public final
org.apache.tapestry.ComponentResourcesgetComponentResources()
return _$resources;

add method: private void _$write_resources_(
org.apache.tapestry.ComponentResources $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.resources_ is
read-only.");

replace write resources_: _$write_resources_();

add method: private void _$write_chartLayout_(
com.albourne.web.components.report.ReportDisplayChartLayout $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.chartLayout_ is
read-only.");

replace write chartLayout_: _$write_chartLayout_();

extend method: public void containingPageDidLoad()
chartLayout_ = (com.albourne.web.components.report.ReportDisplayChartLayout)
_$resources.getEmbeddedComponent("chartlayout");

add method: private void _$write_chart_(com.albourne.web.components.Chart$1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.chart_ is
read-only.");

replace write chart_: _$write_chart_();

extend method: public void containingPageDidLoad()
chart_ = (com.albourne.web.components.Chart)
_$resources.getEmbeddedComponent("chart");

add method: private void _$write_layout_(
com.albourne.web.components.report.ReportDisplayLayout $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.layout_ is
read-only.");

replace write layout_: _$write_layout_();

extend method: public void containingPageDidLoad()
layout_ = (com.albourne.web.components.report.ReportDisplayLayout)
_$resources.getEmbeddedComponent("layout");

add method: private void _$write_tableCollection_(
com.albourne.web.components.report.ReportDisplayTableCollection $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.tableCollection_ is
read-only.");

replace write tableCollection_: _$write_tableCollection_();

extend method: public void containingPageDidLoad()
tableCollection_ = (
com.albourne.web.components.report.ReportDisplayTableCollection)
_$resources.getEmbeddedComponent("tablecollection");

add method: private void _$write_table_(
com.albourne.web.components.HfdbTable $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.table_ is
read-only.");

replace write table_: _$write_table_();

extend method: public void containingPageDidLoad()
table_ = (com.albourne.web.components.HfdbTable)
_$resources.getEmbeddedComponent("table");

add method: private void _$write_text_(
org.apache.tapestry.corelib.components.OutputRaw $1)
throw new java.lang.RuntimeException("Field
com.albourne.web.components.report.ReportDisplaySection.text_ is
read-only.");

replace write text_: _$write_text_();

extend method: public void containingPageDidLoad()
text_ = (org.apache.tapestry.corelib.components.OutputRaw)
_$resources.getEmbeddedComponent("text");

add default method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
<default>

replace method: public void render(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.RenderQueue $2)
_$resources.queueRender($2);

add field: private boolean _$reportInterface__cached;

add field: private
com.albourne.web.interfaces.ReportDisplayInterface_$reportInterface__default;

add field: private boolean _$reportInterface__invariant;

add field: protected final
org.apache.tapestry.services.BindingSource_$bindingSource;

extend method: public void containingPageDidLoad()
{
  if (! _$resources.isBound("reportInterface_"))
    _$resources.bindParameter("reportInterface_",
_$bindingSource.newBinding("default reportInterface_", _$resources, "prop",
"componentResources.container"));
  _$reportInterface__invariant =
_$resources.isInvariant("reportInterface_");
  _$reportInterface__default = reportInterface_;
}


extend method: public void postRenderCleanup()
if (! _$reportInterface__invariant)
{
  reportInterface_ = _$reportInterface__default;
  _$reportInterface__cached = false;
}


add method: private
com.albourne.web.interfaces.ReportDisplayInterface_$read_parameter_reportInterface_()
{
  if (_$reportInterface__cached || ! _$resources.isLoaded() || !
_$resources.isBound("reportInterface_")) return reportInterface_;
  com.albourne.web.interfaces.ReportDisplayInterface result = ($r) ((
com.albourne.web.interfaces.ReportDisplayInterface)
_$resources.readParameter("reportInterface_", "
com.albourne.web.interfaces.ReportDisplayInterface"));
  if (_$reportInterface__invariant || _$resources.isRendering())
  {
    reportInterface_ = result;
    _$reportInterface__cached = true;
  }
  return result;
}


replace read reportInterface_: _$read_parameter_reportInterface_();

add method: private void _$update_parameter_reportInterface_(
com.albourne.web.interfaces.ReportDisplayInterface $1)
{
  if (! _$resources.isLoaded())
  {
    reportInterface_ = $1;
    return;
  }
  if (_$resources.isBound("reportInterface_"))
    _$resources.writeParameter("reportInterface_", ($w)$1);
  reportInterface_ = $1;
  _$reportInterface__cached = _$resources.isRendering();
}


replace write reportInterface_: _$update_parameter_reportInterface_();

replace method: public void setupRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplaySection.setupRender(
org.apache.tapestry.MarkupWriter) (at ReportDisplaySection.java:108)");
    setupRender($1);
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void beginRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplaySection.beginRender() (at
ReportDisplaySection.java:152)");
    if ($2.storeResult(($w) beginRender())) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


replace method: public void afterRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  try
  {
    $2.setMethodDescription("
com.albourne.web.components.report.ReportDisplaySection.afterRender() (at
ReportDisplaySection.java:166)");
    if ($2.storeResult(($w) afterRender())) return;
  }
  catch (RuntimeException ex) { throw ex; }
  catch (Exception ex) { throw new RuntimeException(ex); }
}


extend method: public void postRenderCleanup()
_$resources.postRenderCleanup();

add field: private
com.albourne.reports.component.ReportComponentInterface_$component__default;

extend method: public void containingPageDidLoad()
_$component__default = component_;

extend method: public void containingPageDidDetach()
component_ = _$component__default;

add field: private com.albourne.reports.data.ReportData _$data__default;

extend method: public void containingPageDidLoad()
_$data__default = data_;

extend method: public void containingPageDidDetach()
data_ = _$data__default;

add field: private com.albourne.reports.definitions.ReportNode_$node__default;

extend method: public void containingPageDidLoad()
_$node__default = node_;

extend method: public void containingPageDidDetach()
node_ = _$node__default;

add field: private
com.albourne.reports.definitions.ReportNode_$rootNode__default;

extend method: public void containingPageDidLoad()
_$rootNode__default = rootNode_;

extend method: public void containingPageDidDetach()
rootNode_ = _$rootNode__default;

Checking field read reportInterface_ in method setupRender(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field write data_ in method setupRender(): field not transformed
Checking field read reportInterface_ in method setupRender(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field write rootNode_ in method setupRender(): field not
transformed
Checking field read rootNode_ in method setupRender(): field not transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read data_ in method getComponent(): field not transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read table_ in method getComponent(): field not transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read chart_ in method getComponent(): field not transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read text_ in method getComponent(): field not transformed
Checking field read component_ in method getComponent(): field not
transformed
Checking field read tableCollection_ in method getComponent(): field not
transformed
Checking field read node_ in method getComponent(): field not transformed
Checking field read PAGE_LAYOUT in method getComponent(): field not
transformed
Checking field read layout_ in method getComponent(): field not transformed
Checking field read node_ in method getComponent(): field not transformed
Checking field read CHART_LAYOUT in method getComponent(): field not
transformed
Checking field read chartLayout_ in method getComponent(): field not
transformed
Checking field read node_ in method beginRender(): field not transformed
Checking field read component_ in method beginRender(): field not
transformed
Checking field read component_ in method beginRender(): field not
transformed
Checking field read data_ in method beginRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read PAGE_LAYOUT in method afterRender(): field not
transformed
Checking field read CHART_LAYOUT in method afterRender(): field not
transformed
Checking field read LOOP in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field write node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field write node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read node_ in method afterRender(): field not transformed
Checking field read LOOP in method nextNodeUpTheTree(): field not
transformed
Checking field read data_ in method nextNodeUpTheTree(): field not
transformed
Checking field read data_ in method nextNodeUpTheTree(): field not
transformed
Checking field read rootNode_ in method nextNodeUpTheTree(): field not
transformed
Checking field read node_ in method getNode(): field not transformed
Checking field write node_ in method setNode(): field not transformed
Checking field read node_ in method setNode(): field not transformed
Checking field read LOOP in method setNode(): field not transformed
Checking field read data_ in method setNode(): field not transformed
Checking field read node_ in method setNode(): field not transformed
Checking field write component_ in method setNode(): field not transformed
Checking field read COMPONENT in method setNode(): field not transformed
Checking field write component_ in method setNode(): field not transformed
Checking field read reportInterface_ in method getReportData(): replacing
with $_ = $0._$read_parameter_reportInterface_();
Checking field read reportInterface_ in method getReport(): replacing with
$_ = $0._$read_parameter_reportInterface_();
Checking field read component_ in method getTableModel(): field not
transformed
Checking field read component_ in method getTableModel(): field not
transformed
Checking field read component_ in method getTableModel(): field not
transformed
Checking field read data_ in method getTableModel(): field not transformed
Checking field read data_ in method getData(): field not transformed
Checking field read node_ in method getTitle(): field not transformed
Checking field read data_ in method getTitle(): field not transformed
Checking field read component_ in method getText(): field not transformed
Checking field read component_ in method getText(): field not transformed
Checking field read component_ in method getText(): field not transformed
Checking field read data_ in method getText(): field not transformed
Checking field read resources_ in method getText(): field not transformed
Checking field read reportInterface_ in method getTableName(): replacing
with $_ = $0._$read_parameter_reportInterface_();
Checking field read reportInterface_ in method getWidth(): replacing with $_
= $0._$read_parameter_reportInterface_();
Checking field read _$reportInterface__invariant in method
postRenderCleanup(): added method
Checking field read _$reportInterface__default in method
postRenderCleanup(): added method
Checking field write reportInterface_ in method postRenderCleanup(): added
method
Checking field write _$reportInterface__cached in method
postRenderCleanup(): added method
Checking field read _$resources in method postRenderCleanup(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write chartLayout_ in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write chart_ in method containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write layout_ in method containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write tableCollection_ in method containingPageDidLoad():
added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write table_ in method containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write text_ in method containingPageDidLoad(): added method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$bindingSource in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write _$reportInterface__invariant in method
containingPageDidLoad(): added method
Checking field read reportInterface_ in method containingPageDidLoad():
added method
Checking field write _$reportInterface__default in method
containingPageDidLoad(): added method
Checking field read component_ in method containingPageDidLoad(): added
method
Checking field write _$component__default in method containingPageDidLoad():
added method
Checking field read data_ in method containingPageDidLoad(): added method
Checking field write _$data__default in method containingPageDidLoad():
added method
Checking field read node_ in method containingPageDidLoad(): added method
Checking field write _$node__default in method containingPageDidLoad():
added method
Checking field read rootNode_ in method containingPageDidLoad(): added
method
Checking field write _$rootNode__default in method containingPageDidLoad():
added method
Checking field read _$component__default in method
containingPageDidDetach(): added method
Checking field write component_ in method containingPageDidDetach(): added
method
Checking field read _$data__default in method containingPageDidDetach():
added method
Checking field write data_ in method containingPageDidDetach(): added method
Checking field read _$node__default in method containingPageDidDetach():
added method
Checking field write node_ in method containingPageDidDetach(): added method
Checking field read _$rootNode__default in method containingPageDidDetach():
added method
Checking field write rootNode_ in method containingPageDidDetach(): added
method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method
Checking field read _$reportInterface__cached in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read reportInterface_ in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field read _$reportInterface__invariant in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$read_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$read_parameter_reportInterface_(): added method
Checking field write _$reportInterface__cached in method
_$read_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write reportInterface_ in method
_$update_parameter_reportInterface_(): added method
Checking field read _$resources in method
_$update_parameter_reportInterface_(): added method
Checking field write _$reportInterface__cached in method
_$update_parameter_reportInterface_(): added method

convert default constructor: initializer();

add constructor: com.albourne.web.components.report.ReportDisplaySection(
org.apache.tapestry.internal.InternalComponentResources $1,
org.apache.tapestry.services.BindingSource $2)
{
  _$resources = $1;
resources_ = _$resources;
  _$bindingSource = $2;
  initializer();

}

]
 - org.apache.tapestry.internal.services.ComponentClassTransformerImpl (156)
ERROR - Embedded component(s) chart, chartlayout, layout, table,
tablecollection, text are defined within component class
com.albourne.web.components.report.ReportDisplaySection, but are not present
in the component template.
 - org.apache.tapestry.internal.services.PageLoaderProcessor (461) ERROR -
Processing of request failed with uncaught exception: Could not convert
'title' into a component parameter binding: java.lang.NoClassDefFoundError:
com/albourne/web/components/report/ReportDisplayChartLayout
 - org.apache.tapestry.internal.services.DefaultRequestExceptionHandler (45)
org.apache.tapestry.ioc.internal.util.TapestryException: Could not convert
'title' into a component parameter binding: java.lang.NoClassDefFoundError:
com/albourne/web/components/report/ReportDisplayChartLayout [at
classpath:com/albourne/web/components/report/ReportDisplaySection.tml, line
4, column 21]
    at org.apache.tapestry.internal.services.BindingSourceImpl.newBinding(
BindingSourceImpl.java:79)
    at
$BindingSource_117fa287c4d.newBinding($BindingSource_117fa287c4d.java)
    at
org.apache.tapestry.internal.services.PageElementFactoryImpl.newBinding(
PageElementFactoryImpl.java:305)
    at
$PageElementFactory_117fa287c46.newBinding($PageElementFactory_117fa287c46.java)
    at org.apache.tapestry.internal.services.PageLoaderProcessor.findBinding
(PageLoaderProcessor.java:265)
    at
org.apache.tapestry.internal.services.PageLoaderProcessor.bindParameterFromTemplate
(PageLoaderProcessor.java:171)
    at org.apache.tapestry.internal.services.PageLoaderProcessor.attribute(
PageLoaderProcessor.java:300)
    at
org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForComponent
(PageLoaderProcessor.java:505)
    at
org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQueue
(PageLoaderProcessor.java:808)
    at org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(
PageLoaderProcessor.java:393)
    at org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(
PageLoaderImpl.java:60)
    at $PageLoader_117fa287c44.loadPage($PageLoader_117fa287c44.java)
    at org.apache.tapestry.internal.services.PagePoolCache.checkout(
PagePoolCache.java:188)
    at org.apache.tapestry.internal.services.PagePoolImpl.checkout(
PagePoolImpl.java:107)
    at $PagePool_117fa287c43.checkout($PagePool_117fa287c43.java)
    at org.apache.tapestry.internal.services.RequestPageCacheImpl.get(
RequestPageCacheImpl.java:43)
    at $RequestPageCache_117fa287c42.get($RequestPageCache_117fa287c42.java)
    at $RequestPageCache_117fa287c11.get($RequestPageCache_117fa287c11.java)
    at
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(
PageRenderRequestHandlerImpl.java:48)
    at
$PageRenderRequestHandler_117fa287c39.handle($PageRenderRequestHandler_117fa287c39.java)
    at org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(
PageRenderDispatcher.java:77)
    at $Dispatcher_117fa287c3d.dispatch($Dispatcher_117fa287c3d.java)
    at $Dispatcher_117fa287c2f.dispatch($Dispatcher_117fa287c2f.java)
    at org.apache.tapestry.services.TapestryModule$13.service(
TapestryModule.java:915)
    at com.albourne.web.services.AppModule$1.service(AppModule.java:126)
    at $RequestFilter_117fa287c2e.service($RequestFilter_117fa287c2e.java)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at org.apache.tapestry.internal.services.LocalizationFilter.service(
LocalizationFilter.java:43)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at org.apache.tapestry.services.TapestryModule$3.service(
TapestryModule.java:529)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at org.apache.tapestry.services.TapestryModule$2.service(
TapestryModule.java:504)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at org.apache.tapestry.internal.services.StaticFilesFilter.service(
StaticFilesFilter.java:79)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:93)
    at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
CheckForUpdatesFilter.java:84)
    at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(
ConcurrentBarrier.java:77)
    at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(
CheckForUpdatesFilter.java:106)
    at $RequestHandler_117fa287c30.service($RequestHandler_117fa287c30.java)
    at $RequestHandler_117fa287c28.service($RequestHandler_117fa287c28.java)
    at org.apache.tapestry.services.TapestryModule$12.service(
TapestryModule.java:895)
    at org.apache.tapestry.internal.services.IgnoredPathsFilter.service(
IgnoredPathsFilter.java:62)
    at
$HttpServletRequestFilter_117fa287c27.service($HttpServletRequestFilter_117fa287c27.java)
    at
$HttpServletRequestHandler_117fa287c29.service($HttpServletRequestHandler_117fa287c29.java)
    at
$HttpServletRequestHandler_117fa287c26.service($HttpServletRequestHandler_117fa287c26.java)
    at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:263)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:584)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java
:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.tapestry.ioc.internal.util.TapestryException:
java.lang.NoClassDefFoundError:
com/albourne/web/components/report/ReportDisplayChartLayout [at
classpath:com/albourne/web/components/report/ReportDisplaySection.tml, line
4, column 21]
    at org.apache.tapestry.internal.bindings.PropBindingFactory.newBinding(
PropBindingFactory.java:57)
    at
$BindingFactory_117fa287c61.newBinding($BindingFactory_117fa287c61.java)
    at
$BindingFactory_117fa287c5c.newBinding($BindingFactory_117fa287c5c.java)
    at org.apache.tapestry.internal.services.BindingSourceImpl.newBinding(
BindingSourceImpl.java:75)
    ... 58 more
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError:
com/albourne/web/components/report/ReportDisplayChartLayout
    at
org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(
PropertyAccessImpl.java:97)
    at
org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.getAdapter(
PropertyAccessImpl.java:65)
    at
$PropertyAccess_117fa287c15.getAdapter($PropertyAccess_117fa287c15.java)
    at
org.apache.tapestry.internal.services.PropertyConduitSourceImpl.readInfoForTerm
(PropertyConduitSourceImpl.java:451)
    at
org.apache.tapestry.internal.services.PropertyConduitSourceImpl.writePropertyNavigationCode
(PropertyConduitSourceImpl.java:276)
    at
org.apache.tapestry.internal.services.PropertyConduitSourceImpl.buildGetter(
PropertyConduitSourceImpl.java:216)
    at org.apache.tapestry.internal.services.PropertyConduitSourceImpl.build
(PropertyConduitSourceImpl.java:173)
    at
org.apache.tapestry.internal.services.PropertyConduitSourceImpl.create(
PropertyConduitSourceImpl.java:120)
    at
$PropertyConduitSource_117fa287c60.create($PropertyConduitSource_117fa287c60.java)
    at org.apache.tapestry.internal.bindings.PropBindingFactory.newBinding(
PropBindingFactory.java:48)
    ... 61 more
Caused by: java.lang.NoClassDefFoundError:
com/albourne/web/components/report/ReportDisplayChartLayout
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at java.beans.Introspector$1.run(Introspector.java:1272)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java
:1270)
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1136)
    at java.beans.Introspector.getBeanInfo(Introspector.java:387)
    at java.beans.Introspector.getBeanInfo(Introspector.java:159)
    at
org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(
PropertyAccessImpl.java:85)
    ... 70 more
Feb 8, 2008 7:49:39 PM org.apache.catalina.loader.WebappClassLoaderloadClass
INFO: Illegal access: this web application instance has been stopped
already.  Could not load java.rmi.registry.LocateRegistry.  The eventual
following stack trace is caused by an error thrown for debugging purposes as
well as to attempt to terminate the thread which caused the illegal access,
and has no functional impact.
java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1244)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1204)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at com.albourne.db.cache.CacheManager.updateCache(CacheManager.java:317)
    at com.albourne.db.cache.CacheManager$2.run(CacheManager.java:282)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java
:441)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java
:317)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101
(ScheduledThreadPoolExecutor.java:98)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic
(ScheduledThreadPoolExecutor.java:181)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(
ScheduledThreadPoolExecutor.java:205)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
Feb 8, 2008 7:49:40 PM org.apache.catalina.loader.WebappClassLoaderloadClass
INFO: Illegal access: this web application instance has been stopped
already.  Could not load java.rmi.registry.Registry.  The eventual following
stack trace is caused by an error thrown for debugging purposes as well as
to attempt to terminate the thread which caused the illegal access, and has
no functional impact.
java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1244)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(
WebappClassLoader.java:1204)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at com.albourne.db.cache.CacheManager.updateCache(CacheManager.java:321)
    at com.albourne.db.cache.CacheManager$2.run(CacheManager.java:282)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java
:441)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java
:317)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101
(ScheduledThreadPoolExecutor.java:98)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic
(ScheduledThreadPoolExecutor.java:181)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(
ScheduledThreadPoolExecutor.java:205)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:619)
Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Adriaan Joubert-3
Hi,

I did some more research into this, and the root cause is a a BadBytecode
exception in line 213 in javassist.expr.FieldAccess in the method replace0,
where the error occurs in the insertGap method. It is attempting to insert a
gap of length 11, which looks innocuous enough. I got somewhat lost in the
javassist code beyond that point.

Class: ReportDisplayLayoutChart
FieldName: reportInterface_;
Body: $_ = $0._$read_parameter_reportInterface_();

This is the third replacement in setupRender. At the start of setupRender I
initialise a field

data_ = reportInterface_.getData();

and the third call that is indirectly using reportInterface_ is

data_.pushLoop(...)

The field reportInterface_ is initialised from a parent component and is
declared as follows:

    @Parameter(value = "componentResources.container")
    private ReportDisplayInterface reportInterface_;

    private ReportData data_;


I'd like to help to narrow this down, but am not sure what to look for. The
root cause seems to be the method call.

If there is any more information I can provide to help with this, please let
me know.

Cheers,

Adriaan
Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Adriaan Joubert-3
Hi Howard,

More information. The actual error is

"bad frame_type in StackMapTable"

and is thrown from javassist.bytecode.StackMapTable.stackMapFrames(int,int).
Not sure whether this helps, but it looks as if the stack is messed up.

There is a try {...} finally{..} in the code, and if I remove this it runs
through. I've spent several hours trying to produce a small test case (the
actual site includes a 500k line internal library), and, even though it
looks very similar it runs through fine. I'll continue trying to produce a
test case, but in the meantime is there anything I can do to identify the
cause?

Thanks,

Adriaan
Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Howard Lewis Ship
I don't know about the cause, though you if you are deploying inside
JBoss, you may be seeing a conflict on the version of Javassist.

The workarounds for these cases are to encapsulate the affected
instance variable inside its own (private) accessor methods.  That
simplifies the method that Tapestry instruments.  I had previously
done this a few times before a later release of Javassist fixed the
problem ... or so I thought.

You may also do ok by getting the value from the parameter into a
local variable outside the try ... finally block.  try ... finally
support is a late addition to Javassist and is perhaps buggy.

On Feb 11, 2008 9:58 AM, Adriaan Joubert <[hidden email]> wrote:

> Hi Howard,
>
> More information. The actual error is
>
> "bad frame_type in StackMapTable"
>
> and is thrown from javassist.bytecode.StackMapTable.stackMapFrames(int,int).
> Not sure whether this helps, but it looks as if the stack is messed up.
>
> There is a try {...} finally{..} in the code, and if I remove this it runs
> through. I've spent several hours trying to produce a small test case (the
> actual site includes a 500k line internal library), and, even though it
> looks very similar it runs through fine. I'll continue trying to produce a
> test case, but in the meantime is there anything I can do to identify the
> cause?
>
> Thanks,
>
> Adriaan
>



--
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Class trandformation problems

Adriaan Joubert-3
Thanks for the suggestions! I've checked the javassist versions - I
initially had two different versions of 3.6. I think you are right that this
is more likely a javassist issue than a tapestry issue. I have a workaround
on our development machines (both linux and windows), but the resulting war
still broke on our main server, which made me nervous! If I get a better
understanding of the cause I'll post here.

Thanks again,

Adriaan

On Feb 11, 2008 8:41 PM, Howard Lewis Ship <[hidden email]> wrote:

> I don't know about the cause, though you if you are deploying inside
> JBoss, you may be seeing a conflict on the version of Javassist.
>
> The workarounds for these cases are to encapsulate the affected
> instance variable inside its own (private) accessor methods.  That
> simplifies the method that Tapestry instruments.  I had previously
> done this a few times before a later release of Javassist fixed the
> problem ... or so I thought.
>
> You may also do ok by getting the value from the parameter into a
> local variable outside the try ... finally block.  try ... finally
> support is a late addition to Javassist and is perhaps buggy.
>
> On Feb 11, 2008 9:58 AM, Adriaan Joubert <[hidden email]> wrote:
> > Hi Howard,
> >
> > More information. The actual error is
> >
> > "bad frame_type in StackMapTable"
> >
> > and is thrown from javassist.bytecode.StackMapTable.stackMapFrames
> (int,int).
> > Not sure whether this helps, but it looks as if the stack is messed up.
> >
> > There is a try {...} finally{..} in the code, and if I remove this it
> runs
> > through. I've spent several hours trying to produce a small test case
> (the
> > actual site includes a 500k line internal library), and, even though it
> > looks very similar it runs through fine. I'll continue trying to produce
> a
> > test case, but in the meantime is there anything I can do to identify
> the
> > cause?
> >
> > Thanks,
> >
> > Adriaan
> >
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator Apache Tapestry and Apache HiveMind
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>