Here is some more information on the problem:

It seems almost like an ordering issue, like the objects are created and
added, but that Tapestry doesn't know that they are components despite
having transformed the classes already.  Below is the log from Tapestry
for the class transformations and also the stack trace for the NPE that
I am getting when tapestry tries to render the menu item for the test
that I have set up.  


Transformation Log:
[DEBUG] MenuBanner Finished class transformation:
InternalClassTransformation[
public com.reged.components.MenuBanner 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
handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public org.apache.tapestry.ComponentResources
getComponentResources()
<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.ComponentResources
getComponentResources()
return _$resources;

add method: private void
_$write_resources(org.apache.tapestry.ComponentResources $1)
throw new java.lang.RuntimeException("Field
com.reged.components.MenuBanner._resources is read-only.");

replace write _resources: _$write_resources();

add method: private void
_$write_pageMenuLink(com.reged.components.nav.PageMenuLink $1)
throw new java.lang.RuntimeException("Field
com.reged.components.MenuBanner.pageMenuLink is read-only.");

replace write pageMenuLink: _$write_pageMenuLink();

extend method: public void containingPageDidLoad()
pageMenuLink = (com.reged.components.nav.PageMenuLink)
_$resources.getEmbeddedComponent("pageMenuLink");

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);

replace method: public void setupRender(org.apache.tapestry.MarkupWriter
$1, org.apache.tapestry.runtime.Event $2)
{
  initialize();
}


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

add field: private com.reged.base.AbstractMenuItem _$item_default;

extend method: public void containingPageDidLoad()
_$item_default = _item;

extend method: public void containingPageDidDetach()
_item = _$item_default;

add field: private java.util.List _$menuItems_default;

extend method: public void containingPageDidLoad()
_$menuItems_default = _menuItems;

extend method: public void containingPageDidDetach()
_menuItems = _$menuItems_default;

Checking field read _menuItems in method getMenuItems(): field not
transformed
Checking field write _menuItems in method setMenuItems(): field not
transformed
Checking field write _item in method setItem(): field not transformed
Checking field read _item in method getItem(): field not transformed
Checking field write _menuItems in method initialize(): field not
transformed
Checking field read _menuItems in method initialize(): field not
transformed
Checking field read _$resources in method postRenderCleanup(): added
method
Checking field read _$resources in method containingPageDidLoad(): added
method
Checking field write pageMenuLink in method containingPageDidLoad():
added method
Checking field read _item in method containingPageDidLoad(): added
method
Checking field write _$item_default in method containingPageDidLoad():
added method
Checking field read _menuItems in method containingPageDidLoad(): added
method
Checking field write _$menuItems_default in method
containingPageDidLoad(): added method
Checking field read _$item_default in method containingPageDidDetach():
added method
Checking field write _item in method containingPageDidDetach(): added
method
Checking field read _$menuItems_default in method
containingPageDidDetach(): added method
Checking field write _menuItems in method containingPageDidDetach():
added method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method

convert default constructor: initializer();

add constructor:
com.reged.components.MenuBanner(org.apache.tapestry.internal.InternalCom
ponentResources $1)
{
  _$resources = $1;
_resources = _$resources;
  initializer();

}

]
[DEBUG] AbstractMenuItem Finished class transformation:
InternalClassTransformation[
public com.reged.base.AbstractMenuItem 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
handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public org.apache.tapestry.ComponentResources
getComponentResources()
<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.ComponentResources
getComponentResources()
return _$resources;

add method: private void
_$write_resouces(org.apache.tapestry.ComponentResources $1)
throw new java.lang.RuntimeException("Field
com.reged.base.AbstractMenuItem._resouces is read-only.");

replace write _resouces: _$write_resouces();

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);

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

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

extend method: public void containingPageDidLoad()
_$displayName_default = _displayName;

extend method: public void containingPageDidDetach()
_displayName = _$displayName_default;

Checking field read _displayName in method getDisplayName(): field not
transformed
Checking field write _displayName in method setDisplayName(): field not
transformed
Checking field read _$resources in method postRenderCleanup(): added
method
Checking field read _displayName in method containingPageDidLoad():
added method
Checking field write _$displayName_default in method
containingPageDidLoad(): added method
Checking field read _$displayName_default in method
containingPageDidDetach(): added method
Checking field write _displayName in method containingPageDidDetach():
added method
Checking field read _$resources in method getComponentResources(): added
method
Checking field read _$resources in method render(): added method

convert default constructor: initializer();

add constructor:
com.reged.base.AbstractMenuItem(org.apache.tapestry.internal.InternalCom
ponentResources $1)
{
  _$resources = $1;
_resouces = _$resources;
  initializer();

}

]
[DEBUG] MenuLink Finished class transformation:
InternalClassTransformation[
public com.reged.base.MenuLink extends com.reged.base.AbstractMenuItem
  implements com.reged.base.ClickableMenuItem

add field: private java.lang.Object[] _$context_default;

extend method: public void containingPageDidLoad()
_$context_default = _context;

extend method: public void containingPageDidDetach()
_context = _$context_default;

add field: private boolean _$popupLink_default;

extend method: public void containingPageDidLoad()
_$popupLink_default = _popupLink;

extend method: public void containingPageDidDetach()
_popupLink = _$popupLink_default;

convert default constructor: initializer_0();

add constructor:
com.reged.base.MenuLink(org.apache.tapestry.internal.InternalComponentRe
sources $1)
{ super($1);
  initializer_0();

}

]
[DEBUG] PageMenuLink Finished class transformation:
InternalClassTransformation[
public com.reged.components.nav.PageMenuLink extends
com.reged.base.MenuLink

add method: private void
_$write_resources(org.apache.tapestry.ComponentResources $1)
throw new java.lang.RuntimeException("Field
com.reged.components.nav.PageMenuLink._resources is read-only.");

replace write _resources: _$write_resources();

add method: public void beginRender(org.apache.tapestry.MarkupWriter $1,
org.apache.tapestry.runtime.Event $2)
{
  super.beginRender($$);
  if ($2.isAborted()) return;
  test();
}


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

extend method: public void containingPageDidLoad()
_$page_default = _page;

extend method: public void containingPageDidDetach()
_page = _$page_default;

Checking field read out in method test(): field not transformed
Checking field read _page in method getPage(): field not transformed
Checking field write _page in method setPage(): field not transformed
Checking field read _page in method containingPageDidLoad(): added
method
Checking field write _$page_default in method containingPageDidLoad():
added method
Checking field read _$page_default in method containingPageDidDetach():
added method
Checking field write _page in method containingPageDidDetach(): added
method

convert default constructor: initializer_1();

add constructor:
com.reged.components.nav.PageMenuLink(org.apache.tapestry.internal.Inter
nalComponentResources $1)
{ super($1);
_resources = _$resources;
  initializer_1();

}

]


StackTrace:
Start Render queue error in
[EMAIL PROTECTED]:
java.lang.NullPointerException
java.lang.NullPointerException
        at com.reged.base.AbstractMenuItem.render(AbstractMenuItem.java)
        at
org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImp
l.java:58)
        at
org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRen
derQueueImpl.java:58)
        at
$PageRenderQueue_11779b5a65c.render($PageRenderQueue_11779b5a65c.java)
        at
$PageRenderQueue_11779b5a65a.render($PageRenderQueue_11779b5a65a.java)
        at
org.apache.tapestry.services.TapestryModule$18.renderMarkup(TapestryModu
le.java:1320)
        at
org.apache.tapestry.services.TapestryModule$22.renderMarkup(TapestryModu
le.java:1431)
        at
$MarkupRenderer_11779b5a660.renderMarkup($MarkupRenderer_11779b5a660.jav
a)
        at
org.apache.tapestry.services.TapestryModule$21.renderMarkup(TapestryModu
le.java:1412)
        at
$MarkupRenderer_11779b5a660.renderMarkup($MarkupRenderer_11779b5a660.jav
a)
        at
org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModu
le.java:1394)
        at
$MarkupRenderer_11779b5a660.renderMarkup($MarkupRenderer_11779b5a660.jav
a)
        at
org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModu
le.java:1376)
        at
$MarkupRenderer_11779b5a660.renderMarkup($MarkupRenderer_11779b5a660.jav
a)
        at
$MarkupRenderer_11779b5a659.renderMarkup($MarkupRenderer_11779b5a659.jav
a)
        at
org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageM
arkup(PageMarkupRendererImpl.java:55)
        at
$PageMarkupRenderer_11779b5a657.renderPageMarkup($PageMarkupRenderer_117
79b5a657.java)
        at
org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPag
eResponse(PageResponseRendererImpl.java:51)
        at
$PageResponseRenderer_11779b5a613.renderPageResponse($PageResponseRender
er_11779b5a613.java)
        at
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handl
e(PageRenderRequestHandlerImpl.java:87)
        at
$PageRenderRequestHandler_11779b5a60f.handle($PageRenderRequestHandler_1
1779b5a60f.java)
        at
org.apache.tapestry.internal.services.RootPathDispatcher.dispatch(RootPa
thDispatcher.java:52)
        at
$Dispatcher_11779b5a611.dispatch($Dispatcher_11779b5a611.java)
        at
$Dispatcher_11779b5a605.dispatch($Dispatcher_11779b5a605.java)
        at
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.ja
va:938)
        at
org.apache.tapestry.internal.services.LocalizationFilter.service(Localiz
ationFilter.java:43)
        at
$RequestHandler_11779b5a606.service($RequestHandler_11779b5a606.java)
        at
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.jav
a:520)
        at
$RequestHandler_11779b5a606.service($RequestHandler_11779b5a606.java)
        at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFi
lesFilter.java:79)
        at
$RequestHandler_11779b5a606.service($RequestHandler_11779b5a606.java)
        at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
ckForUpdatesFilter.java:94)
        at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
ckForUpdatesFilter.java:85)
        at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurr
entBarrier.java:77)
        at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(Chec
kForUpdatesFilter.java:107)
        at
$RequestHandler_11779b5a606.service($RequestHandler_11779b5a606.java)
        at
$RequestHandler_11779b5a5fe.service($RequestHandler_11779b5a5fe.java)
        at
org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.ja
va:921)
        at
com.reged.traxtools.services.TraxToolsServiceFilter.service(TraxToolsSer
viceFilter.java:34)
        at
$HttpServletRequestFilter_11779b5a5fd.service($HttpServletRequestFilter_
11779b5a5fd.java)
        at
$HttpServletRequestHandler_11779b5a5ff.service($HttpServletRequestHandle
r_11779b5a5ff.java)
        at
com.reged.services.JaasTapestryFilter$RegedPrivilegedAction.run(JaasTape
stryFilter.java:66)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
        at
com.reged.security.AbstractPrivilegedSecurityManager.doAsPrivileged(Abst
ractPrivilegedSecurityManager.java:74)
        at
com.reged.services.JaasTapestryFilter.service(JaasTapestryFilter.java:27
)
        at
$HttpServletRequestFilter_11779b5a5fc.service($HttpServletRequestFilter_
11779b5a5fc.java)
        at
$HttpServletRequestHandler_11779b5a5ff.service($HttpServletRequestHandle
r_11779b5a5ff.java)
        at
$HttpServletRequestHandler_11779b5a5fb.service($HttpServletRequestHandle
r_11779b5a5fb.java)
        at
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:174)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
51)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
4)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:665)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:528)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:81)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:689)
        at java.lang.Thread.run(Thread.java:595)

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

Reply via email to