You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by CKNY <ch...@web.de> on 2003/04/06 22:14:03 UTC

ApplicationRuntimeExcpetion with Rel 2.4 alpha 5

After a succesful installation of rel-2.4-aplha-5, I get an application
runtime
exception when I am trying to invoke the "inspector" via the icon in both
demo
apps (wb and vlib)

Setup: rel-2.4.-alpha5, W2K, JBoss 3.0.4

Any ideas?

Thanks
CKNY

A) Tapestry gives me the following messages:
--------------------------------------------
org.apache.tapestry.ApplicationRuntimeException
Unable to locate asset 'LOGGING' of component contrib:Inspector/$ViewTabs as
classpath:/org/apache/tapestry/contrib/inspector/Logging_Np1.gif.
component:
org.apache.tapestry.contrib.inspector.ViewTabs$Enhance_24@3abc87[contrib:Ins
pector/$ViewTabs]
location: classpath:/org/apache/tapestry/contrib/inspector/ViewTabs.jwc,
line 31
Stack Trace:
org.apache.tapestry.pageload.PageLoader.findAsset(PageLoader.java:931)
org.apache.tapestry.pageload.PageLoader.convert(PageLoader.java:903)
org.apache.tapestry.pageload.PageLoader.addAssets(PageLoader.java:813)
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
13)
org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j
ava:577)
org.apache.tapestry.BaseComponentTemplateLoader.createImplicitComponent(Base
ComponentTemplateLoader.java:316)
org.apache.tapestry.BaseComponentTemplateLoader.process(BaseComponentTemplat
eLoader.java:278)
org.apache.tapestry.BaseComponentTemplateLoader.process(BaseComponentTemplat
eLoader.java:217)
org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:140)
org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:175)
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
21)
org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:758)
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:193)
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
org.apache.tapestry.contrib.inspector.InspectorButton.trigger(InspectorButto
n.java:105)
org.apache.tapestry.engine.DirectService.service(DirectService.java:211)
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
)
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:293)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
.java:544)
org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
org.mortbay.http.HttpServer.service(HttpServer.java:875)
org.jboss.jetty.Jetty.service(Jetty.java:543)
org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
java.lang.Thread.run(Thread.java:536)

Request:
...
service=direct/0/Home/$Border.$InspectorButton
...

B) JBoss gives me the following messages:
-----------------------------------------

21:05:08,522 ERROR [Digester] Parse Error at line 65 column -1: Attribute
"propertypath" is not declared for element "binding".
org.xml.sax.SAXParseException: Attribute "propertypath" is not declared for
element "binding".
        at org.apache.crimson.parser.Parser2.error(Parser2.java:3160)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1411)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
        at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
        at org.apache.commons.digester.Digester.parse(Digester.java:1543)
        at
org.apache.tapestry.parse.SpecificationParser.parse(SpecificationParser.java
:688)
        at
org.apache.tapestry.parse.SpecificationParser.parsePageSpecification(Specifi
cationParser.java:738)
        at
org.apache.tapestry.engine.DefaultSpecificationSource.parseSpecification(Def
aultSpecificationSource.java:206)
        at
org.apache.tapestry.engine.DefaultSpecificationSource.getPageSpecification(D
efaultSpecificationSource.java:362)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.found(PageSpecificati
onResolver.java:270)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.searchForPage(PageSpe
cificationResolver.java:189)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.resolve(PageSpecifica
tionResolver.java:158)
        at
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
        at
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
        at
org.apache.tapestry.engine.PageService.service(PageService.java:114)
        at
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
        at
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
)
        at
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:293)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
.java:544)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
        at org.jboss.jetty.Jetty.service(Jetty.java:543)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
        at java.lang.Thread.run(Thread.java:536)
21:05:08,642 ERROR [Digester] End event threw exception
org.apache.tapestry.util.xml.DocumentParseException: Element <binding> does
not specify a value for attribute 'expression', or contain
a body value.
        at
org.apache.tapestry.parse.SetExtendedPropertyRule.end(SetExtendedPropertyRul
e.java:123)
        at
org.apache.commons.digester.Digester.endElement(Digester.java:1064)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1536)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
        at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
        at org.apache.commons.digester.Digester.parse(Digester.java:1543)
        at
org.apache.tapestry.parse.SpecificationParser.parse(SpecificationParser.java
:688)
        at
org.apache.tapestry.parse.SpecificationParser.parsePageSpecification(Specifi
cationParser.java:738)
        at
org.apache.tapestry.engine.DefaultSpecificationSource.parseSpecification(Def
aultSpecificationSource.java:206)
        at
org.apache.tapestry.engine.DefaultSpecificationSource.getPageSpecification(D
efaultSpecificationSource.java:362)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.found(PageSpecificati
onResolver.java:270)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.searchForPage(PageSpe
cificationResolver.java:189)
        at
org.apache.tapestry.resolver.PageSpecificationResolver.resolve(PageSpecifica
tionResolver.java:158)
        at
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
        at
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
        at
org.apache.tapestry.engine.PageService.service(PageService.java:114)
        at
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
        at
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
)
        at
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:293)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
.java:544)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
        at org.jboss.jetty.Jetty.service(Jetty.java:543)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
        at java.lang.Thread.run(Thread.java:536)



-----Original Message-----
From:
tapestry-user-return-633-christian.kaehlig=web.de@jakarta.apache.org
[mailto:tapestry-user-return-633-christian.kaehlig=web.de@jakarta.apache
.org]On Behalf Of Eric Schneider
Sent: Sunday, April 06, 2003 4:55 PM
To: Tapestry users
Subject: Re: PageDetachListener.detachPage()


Chris,

Thanks.  I looked in the 2.3 examples, and there it was.  You must override
finishLoad() in the component:

protected void finishLoad() {
    getPage().addPageDetachListener(this);
}

public void pageDetached(PageEvent event) {
    // clean up here
}

I've noticed that many of the component examples simply override
cleanupAfterRender() instead of the above scenario.  Is one approach better
than the other in certain situations?

Also, I'm wondering if this exercise is fruitless for components that have
nothing but transient instance variables that are always passed in from the
page.

Thanks,
Eric




----- Original Message -----
From: "Christian Sell" <ch...@netcologne.de>
To: "Tapestry users" <ta...@jakarta.apache.org>
Sent: Sunday, April 06, 2003 3:27 AM
Subject: Re: PageDetachListener.detachPage()


> you probably failed to add the detachListener to the page (in some init
> method, dont remember the details, look at examples). I think in 2.4 the
> framework will automatically do this for you if you implement the
interface
>
> - Chris
>
> Eric Schneider wrote:
> > Hi,
> >
> > I was wondering if someone could shed some light on some behavior I'm
> > seeing.  As a general rule of thumb, all of my components implement the
> > PageDetachListener interface.  It wasn't until recently I added some
> > debugging output pageDetached() method in one of my components did I
release
> > this method never seems to get called.
> >
> > Am I missing something silly?  Not sure if my component instance
variables
> > are actually being reset.
> >
> > Thanks,
> > Eric
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: ApplicationRuntimeExcpetion with Rel 2.4 alpha 5

Posted by Reinier Mostert <re...@clabo.co.za>.
Hi,

it seems these images were not included in the release of alpha-5.  I
got it to work by making a org/apache/tapestry/contrib/inspector
hierarchy in my project, and copying some of the images from the jar,
renaming them as I went.

This is of course not the "Right" solution, but it is a quick
workaround.

Good luck
reinier

On Sun, 2003-04-06 at 22:14, CKNY wrote:
> After a succesful installation of rel-2.4-aplha-5, I get an application
> runtime
> exception when I am trying to invoke the "inspector" via the icon in both
> demo
> apps (wb and vlib)
> 
> Setup: rel-2.4.-alpha5, W2K, JBoss 3.0.4
> 
> Any ideas?
> 
> Thanks
> CKNY
> 
> A) Tapestry gives me the following messages:
> --------------------------------------------
> org.apache.tapestry.ApplicationRuntimeException
> Unable to locate asset 'LOGGING' of component contrib:Inspector/$ViewTabs as
> classpath:/org/apache/tapestry/contrib/inspector/Logging_Np1.gif.
> component:
> org.apache.tapestry.contrib.inspector.ViewTabs$Enhance_24@3abc87[contrib:Ins
> pector/$ViewTabs]
> location: classpath:/org/apache/tapestry/contrib/inspector/ViewTabs.jwc,
> line 31
> Stack Trace:
> org.apache.tapestry.pageload.PageLoader.findAsset(PageLoader.java:931)
> org.apache.tapestry.pageload.PageLoader.convert(PageLoader.java:903)
> org.apache.tapestry.pageload.PageLoader.addAssets(PageLoader.java:813)
> org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
> 13)
> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j
> ava:577)
> org.apache.tapestry.BaseComponentTemplateLoader.createImplicitComponent(Base
> ComponentTemplateLoader.java:316)
> org.apache.tapestry.BaseComponentTemplateLoader.process(BaseComponentTemplat
> eLoader.java:278)
> org.apache.tapestry.BaseComponentTemplateLoader.process(BaseComponentTemplat
> eLoader.java:217)
> org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:140)
> org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:175)
> org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
> 21)
> org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:758)
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:193)
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
> org.apache.tapestry.contrib.inspector.InspectorButton.trigger(InspectorButto
> n.java:105)
> org.apache.tapestry.engine.DirectService.service(DirectService.java:211)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
> )
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
> er.java:293)
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
> org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
> .java:544)
> org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
> org.mortbay.http.HttpServer.service(HttpServer.java:875)
> org.jboss.jetty.Jetty.service(Jetty.java:543)
> org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
> java.lang.Thread.run(Thread.java:536)
> 
> Request:
> ...
> service=direct/0/Home/$Border.$InspectorButton
> ...
> 
> B) JBoss gives me the following messages:
> -----------------------------------------
> 
> 21:05:08,522 ERROR [Digester] Parse Error at line 65 column -1: Attribute
> "propertypath" is not declared for element "binding".
> org.xml.sax.SAXParseException: Attribute "propertypath" is not declared for
> element "binding".
>         at org.apache.crimson.parser.Parser2.error(Parser2.java:3160)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1411)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>         at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>         at
> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1543)
>         at
> org.apache.tapestry.parse.SpecificationParser.parse(SpecificationParser.java
> :688)
>         at
> org.apache.tapestry.parse.SpecificationParser.parsePageSpecification(Specifi
> cationParser.java:738)
>         at
> org.apache.tapestry.engine.DefaultSpecificationSource.parseSpecification(Def
> aultSpecificationSource.java:206)
>         at
> org.apache.tapestry.engine.DefaultSpecificationSource.getPageSpecification(D
> efaultSpecificationSource.java:362)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.found(PageSpecificati
> onResolver.java:270)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.searchForPage(PageSpe
> cificationResolver.java:189)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.resolve(PageSpecifica
> tionResolver.java:158)
>         at
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
>         at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
>         at
> org.apache.tapestry.engine.PageService.service(PageService.java:114)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
> )
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
> er.java:293)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
>         at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
> .java:544)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:875)
>         at org.jboss.jetty.Jetty.service(Jetty.java:543)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
>         at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
>         at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
>         at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
>         at java.lang.Thread.run(Thread.java:536)
> 21:05:08,642 ERROR [Digester] End event threw exception
> org.apache.tapestry.util.xml.DocumentParseException: Element <binding> does
> not specify a value for attribute 'expression', or contain
> a body value.
>         at
> org.apache.tapestry.parse.SetExtendedPropertyRule.end(SetExtendedPropertyRul
> e.java:123)
>         at
> org.apache.commons.digester.Digester.endElement(Digester.java:1064)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1536)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>         at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>         at
> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1543)
>         at
> org.apache.tapestry.parse.SpecificationParser.parse(SpecificationParser.java
> :688)
>         at
> org.apache.tapestry.parse.SpecificationParser.parsePageSpecification(Specifi
> cationParser.java:738)
>         at
> org.apache.tapestry.engine.DefaultSpecificationSource.parseSpecification(Def
> aultSpecificationSource.java:206)
>         at
> org.apache.tapestry.engine.DefaultSpecificationSource.getPageSpecification(D
> efaultSpecificationSource.java:362)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.found(PageSpecificati
> onResolver.java:270)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.searchForPage(PageSpe
> cificationResolver.java:189)
>         at
> org.apache.tapestry.resolver.PageSpecificationResolver.resolve(PageSpecifica
> tionResolver.java:158)
>         at
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
>         at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
>         at
> org.apache.tapestry.engine.PageService.service(PageService.java:114)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
> )
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
> er.java:293)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
>         at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
> .java:544)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:875)
>         at org.jboss.jetty.Jetty.service(Jetty.java:543)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
>         at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
>         at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
>         at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
>         at java.lang.Thread.run(Thread.java:536)
> 
> 
> 
> -----Original Message-----
> From:
> tapestry-user-return-633-christian.kaehlig=web.de@jakarta.apache.org
> [mailto:tapestry-user-return-633-christian.kaehlig=web.de@jakarta.apache
> .org]On Behalf Of Eric Schneider
> Sent: Sunday, April 06, 2003 4:55 PM
> To: Tapestry users
> Subject: Re: PageDetachListener.detachPage()
> 
> 
> Chris,
> 
> Thanks.  I looked in the 2.3 examples, and there it was.  You must override
> finishLoad() in the component:
> 
> protected void finishLoad() {
>     getPage().addPageDetachListener(this);
> }
> 
> public void pageDetached(PageEvent event) {
>     // clean up here
> }
> 
> I've noticed that many of the component examples simply override
> cleanupAfterRender() instead of the above scenario.  Is one approach better
> than the other in certain situations?
> 
> Also, I'm wondering if this exercise is fruitless for components that have
> nothing but transient instance variables that are always passed in from the
> page.
> 
> Thanks,
> Eric
> 
> 
> 
> 
> ----- Original Message -----
> From: "Christian Sell" <ch...@netcologne.de>
> To: "Tapestry users" <ta...@jakarta.apache.org>
> Sent: Sunday, April 06, 2003 3:27 AM
> Subject: Re: PageDetachListener.detachPage()
> 
> 
> > you probably failed to add the detachListener to the page (in some init
> > method, dont remember the details, look at examples). I think in 2.4 the
> > framework will automatically do this for you if you implement the
> interface
> >
> > - Chris
> >
> > Eric Schneider wrote:
> > > Hi,
> > >
> > > I was wondering if someone could shed some light on some behavior I'm
> > > seeing.  As a general rule of thumb, all of my components implement the
> > > PageDetachListener interface.  It wasn't until recently I added some
> > > debugging output pageDetached() method in one of my components did I
> release
> > > this method never seems to get called.
> > >
> > > Am I missing something silly?  Not sure if my component instance
> variables
> > > are actually being reset.
> > >
> > > Thanks,
> > > Eric
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> > >
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> 
-- 
------------------------------------------------------------------------------
     reinier.mostert@bigfoot.com      Linux - choice of a GNU
generation!  

Coach: Can I draw you a beer, Norm?
Norm:  No, I know what they look like.  Just pour me one.
        -- Cheers, No Help Wanted


RE: ApplicationRuntimeExcpetion with Rel 2.4 alpha 5

Posted by "Howard M. Lewis Ship" <hl...@attbi.com>.
This bug has already been reported and fixed.  Look forward to the beta.

--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry



> -----Original Message-----
> From: christian.kaehlig@web.de [mailto:christian.kaehlig@web.de] 
> Sent: Sunday, April 06, 2003 4:14 PM
> To: Tapestry users
> Subject: ApplicationRuntimeExcpetion with Rel 2.4 alpha 5
> 
> 
> After a succesful installation of rel-2.4-aplha-5, I get an 
> application runtime exception when I am trying to invoke the 
> "inspector" via the icon in both demo apps (wb and vlib)
> 
> Setup: rel-2.4.-alpha5, W2K, JBoss 3.0.4
> 
> Any ideas?
> 
> Thanks
> CKNY
> 
> A) Tapestry gives me the following messages:
> --------------------------------------------
> org.apache.tapestry.ApplicationRuntimeException
> Unable to locate asset 'LOGGING' of component 
> contrib:Inspector/$ViewTabs as 
> classpath:/org/apache/tapestry/contrib/inspector/Logging_Np1.gif.
> component: 
> org.apache.tapestry.contrib.inspector.ViewTabs$Enhance_24@3abc
> 87[contrib:Ins
> pector/$ViewTabs]
> location: 
> classpath:/org/apache/tapestry/contrib/inspector/ViewTabs.jwc,
> line 31
> Stack Trace:
> org.apache.tapestry.pageload.PageLoader.findAsset(PageLoader.java:931)
> org.apache.tapestry.pageload.PageLoader.convert(PageLoader.java:903)
> org.apache.tapestry.pageload.PageLoader.addAssets(PageLoader.java:813)
> org.apache.tapestry.pageload.PageLoader.constructComponent(Pag
> eLoader.java:5
> 13) 
> org.apache.tapestry.pageload.PageLoader.createImplicitComponen
> t(PageLoader.j
> ava:577) 
> org.apache.tapestry.BaseComponentTemplateLoader.createImplicit
> Component(Base
> ComponentTemplateLoader.java:316) 
> org.apache.tapestry.BaseComponentTemplateLoader.process(BaseCo
> mponentTemplat
> eLoader.java:278) 
> org.apache.tapestry.BaseComponentTemplateLoader.process(BaseCo
> mponentTemplat
> eLoader.java:217)
> org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:140)
> org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:175)
> org.apache.tapestry.pageload.PageLoader.constructComponent(Pag
> eLoader.java:5
> 21)
> org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:758)
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:193)
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
> org.apache.tapestry.contrib.inspector.InspectorButton.trigger(
> InspectorButto
> n.java:105)
> org.apache.tapestry.engine.DirectService.service(DirectService
> .java:211)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngi
> ne.java:878)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationSe
> rvlet.java:238
> )
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServle
> t.java:199)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebAp
> plicationHandl
> er.java:293)
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler
> .java:581)
> org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebAppl
> icationContext
> .java:544)
> org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
> org.mortbay.http.HttpServer.service(HttpServer.java:875)
> org.jboss.jetty.Jetty.service(Jetty.java:543)
> org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
> org.mortbay.http.SocketListener.handleConnection(SocketListene
> r.java:203)
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
> java.lang.Thread.run(Thread.java:536)
> 
> Request:
> ...
> service=direct/0/Home/$Border.$InspectorButton
> ...
> 
> B) JBoss gives me the following messages:
> -----------------------------------------
> 
> 21:05:08,522 ERROR [Digester] Parse Error at line 65 column 
> -1: Attribute "propertypath" is not declared for element "binding".
> org.xml.sax.SAXParseException: Attribute "propertypath" is 
> not declared for element "binding".
>         at org.apache.crimson.parser.Parser2.error(Parser2.java:3160)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1411)
>         at 
> org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at 
> org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at 
> org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>         at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>         at
> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>         at 
> org.apache.commons.digester.Digester.parse(Digester.java:1543)
>         at 
> org.apache.tapestry.parse.SpecificationParser.parse(Specificat
> ionParser.java
> :688)
>         at 
> org.apache.tapestry.parse.SpecificationParser.parsePageSpecifi
> cation(Specifi
> cationParser.java:738)
>         at 
> org.apache.tapestry.engine.DefaultSpecificationSource.parseSpe
> cification(Def
> aultSpecificationSource.java:206)
>         at 
> org.apache.tapestry.engine.DefaultSpecificationSource.getPageS
> pecification(D
> efaultSpecificationSource.java:362)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.found(P
> ageSpecificati
> onResolver.java:270)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.searchF
> orPage(PageSpe
> cificationResolver.java:189)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.resolve
> (PageSpecifica
> tionResolver.java:158)
>         at
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
>         at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
>         at
> org.apache.tapestry.engine.PageService.service(PageService.java:114)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngi
> ne.java:878)
>         at 
> org.apache.tapestry.ApplicationServlet.doService(ApplicationSe
> rvlet.java:238
> )
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServle
> t.java:199)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebAp
> plicationHandl
> er.java:293)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler
> .java:581)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
>         at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebAppl
> icationContext
> .java:544)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:875)
>         at org.jboss.jetty.Jetty.service(Jetty.java:543)
>         at 
> org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
>         at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
>         at 
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
>         at
> org.mortbay.http.SocketListener.handleConnection(SocketListene
> r.java:203)
>         at 
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
>         at 
> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
>         at java.lang.Thread.run(Thread.java:536)
> 21:05:08,642 ERROR [Digester] End event threw exception
> org.apache.tapestry.util.xml.DocumentParseException: Element 
> <binding> does not specify a value for attribute 
> 'expression', or contain a body value.
>         at 
> org.apache.tapestry.parse.SetExtendedPropertyRule.end(SetExten
> dedPropertyRul
> e.java:123)
>         at
> org.apache.commons.digester.Digester.endElement(Digester.java:1064)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1536)
>         at 
> org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at 
> org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at 
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at 
> org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>         at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>         at
> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>         at 
> org.apache.commons.digester.Digester.parse(Digester.java:1543)
>         at 
> org.apache.tapestry.parse.SpecificationParser.parse(Specificat
> ionParser.java
> :688)
>         at 
> org.apache.tapestry.parse.SpecificationParser.parsePageSpecifi
> cation(Specifi
> cationParser.java:738)
>         at 
> org.apache.tapestry.engine.DefaultSpecificationSource.parseSpe
> cification(Def
> aultSpecificationSource.java:206)
>         at 
> org.apache.tapestry.engine.DefaultSpecificationSource.getPageS
> pecification(D
> efaultSpecificationSource.java:362)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.found(P
> ageSpecificati
> onResolver.java:270)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.searchF
> orPage(PageSpe
> cificationResolver.java:189)
>         at 
> org.apache.tapestry.resolver.PageSpecificationResolver.resolve
> (PageSpecifica
> tionResolver.java:158)
>         at
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:183)
>         at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
>         at
> org.apache.tapestry.engine.PageService.service(PageService.java:114)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngi
> ne.java:878)
>         at 
> org.apache.tapestry.ApplicationServlet.doService(ApplicationSe
> rvlet.java:238
> )
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServle
> t.java:199)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebAp
> plicationHandl
> er.java:293)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler
> .java:581)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
>         at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebAppl
> icationContext
> .java:544)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:875)
>         at org.jboss.jetty.Jetty.service(Jetty.java:543)
>         at 
> org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
>         at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
>         at 
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
>         at
> org.mortbay.http.SocketListener.handleConnection(SocketListene
> r.java:203)
>         at 
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
>         at 
> org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
>         at java.lang.Thread.run(Thread.java:536)
> 
> 
> 
> -----Original Message-----
> From: 
> tapestry-user-return-633-christian.kaehlig=web.de@jakarta.apache.org
> [mailto:tapestry-user-return-633-christian.kaehlig=web.de@jaka
> rta.apache
> .org]On Behalf Of Eric Schneider
> Sent: Sunday, April 06, 2003 4:55 PM
> To: Tapestry users
> Subject: Re: PageDetachListener.detachPage()
> 
> 
> Chris,
> 
> Thanks.  I looked in the 2.3 examples, and there it was.  You 
> must override
> finishLoad() in the component:
> 
> protected void finishLoad() {
>     getPage().addPageDetachListener(this);
> }
> 
> public void pageDetached(PageEvent event) {
>     // clean up here
> }
> 
> I've noticed that many of the component examples simply override
> cleanupAfterRender() instead of the above scenario.  Is one 
> approach better than the other in certain situations?
> 
> Also, I'm wondering if this exercise is fruitless for 
> components that have nothing but transient instance variables 
> that are always passed in from the page.
> 
> Thanks,
> Eric
> 
> 
> 
> 
> ----- Original Message -----
> From: "Christian Sell" <ch...@netcologne.de>
> To: "Tapestry users" <ta...@jakarta.apache.org>
> Sent: Sunday, April 06, 2003 3:27 AM
> Subject: Re: PageDetachListener.detachPage()
> 
> 
> > you probably failed to add the detachListener to the page (in some 
> > init method, dont remember the details, look at examples). 
> I think in 
> > 2.4 the framework will automatically do this for you if you 
> implement 
> > the
> interface
> >
> > - Chris
> >
> > Eric Schneider wrote:
> > > Hi,
> > >
> > > I was wondering if someone could shed some light on some behavior 
> > > I'm seeing.  As a general rule of thumb, all of my components 
> > > implement the PageDetachListener interface.  It wasn't until 
> > > recently I added some debugging output pageDetached() 
> method in one 
> > > of my components did I
> release
> > > this method never seems to get called.
> > >
> > > Am I missing something silly?  Not sure if my component instance
> variables
> > > are actually being reset.
> > >
> > > Thanks,
> > > Eric
> > >
> > >
> > >
> > > 
> --------------------------------------------------------------------
> > > -
> > > To unsubscribe, e-mail: 
> tapestry-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: 
> tapestry-user-help@jakarta.apache.org
> > >
> > >
> >
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: 
> tapestry-user-help@jakarta.apache.org
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>