You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Tobias Frech <to...@frech.info> on 2003/06/16 22:48:44 UTC
ApplicationRuntimeException: Unable to convert 'null' to a property
type.
Hi!
I am using Tapestry (now version 3.0beta1a) together with JBoss. Worked
pretty well until now. But right now I am stuck. I created a new
component that needs 5 parameters (all required). If I declare/use that
componenten in a .page file the misery starts (if the declaration is
comment out everything works again). The following exceptions are thrown:
18:31:10,309 INFO [AbstractEngine] Uncaught exception
org.apache.tapestry.ApplicationRuntimeException: Unable to convert
'null' to a property type.
at
org.apache.tapestry.enhance.ComponentClassFactory.convertPropertyType(ComponentClassFactory.java:291)
at
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterProperty(ComponentClassFactory.java:651)
at
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterEnhancements(ComponentClassFactory.java:592)
at
org.apache.tapestry.enhance.ComponentClassFactory.scanForEnhancements(ComponentClassFactory.java:568)
at
org.apache.tapestry.enhance.ComponentClassFactory.needsEnhancement(ComponentClassFactory.java:236)
at
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.constructComponentClass(DefaultComponentClassEnhancer.java:1
58)
at
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.getEnhancedClass(DefaultComponentClassEnhancer.java:118)
at
org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:681)
at
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:562)
at
org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:835)
at
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:194)
at
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
at
org.apache.tapestry.engine.HomeService.service(HomeService.java:100)
at
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:879)
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)
...
The error above is printed a second time and the third error looks like
this:
Exceptions:
18:31:11,656 ERROR [STDERR]
org.apache.tapestry.ApplicationRuntimeException: Unable to convert
'null' to a property type.
18:31:11,656 ERROR [STDERR] location:
classpath:/app/components/selector.jwc, line 9, column 63
18:31:11,657 ERROR [STDERR]
org.apache.tapestry.ApplicationRuntimeException: Could not load class
null from org.mortbay.http.Cont
extLoader(file:/var/tmp/Jetty_0_0_0_0_8080__fe/webapp/WEB-INF/classes/)
/ java.net.FactoryURLClassLoader@14ed400: null
18:31:11,657 ERROR [STDERR] java.lang.NullPointerException
18:31:11,657 ERROR [STDERR] java.lang.Class.forName0(Native Method)
18:31:11,657 ERROR [STDERR] java.lang.Class.forName(Class.java:217)
18:31:11,658 ERROR [STDERR]
org.apache.tapestry.util.DefaultResourceResolver.findClass(DefaultResourceResolver.java:144)
18:31:11,658 ERROR [STDERR]
org.apache.tapestry.enhance.ComponentClassFactory.convertPropertyType(ComponentClassFactory.java:287)
18:31:11,658 ERROR [STDERR]
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterProperty(ComponentClassFactory.java
:651)
18:31:11,658 ERROR [STDERR]
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterEnhancements(ComponentClassFactory.
java:592)
18:31:11,658 ERROR [STDERR]
org.apache.tapestry.enhance.ComponentClassFactory.scanForEnhancements(ComponentClassFactory.java:568)
18:31:11,659 ERROR [STDERR]
org.apache.tapestry.enhance.ComponentClassFactory.needsEnhancement(ComponentClassFactory.java:236)
18:31:11,659 ERROR [STDERR]
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.constructComponentClass(DefaultComponentCla
ssEnhancer.java:158)
18:31:11,659 ERROR [STDERR]
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.getEnhancedClass(DefaultComponentClassEnhan
cer.java:118)
18:31:11,659 ERROR [STDERR]
org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:681)
18:31:11,659 ERROR [STDERR]
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:562)
18:31:11,660 ERROR [STDERR]
org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:835)
18:31:11,660 ERROR [STDERR]
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:194)
18:31:11,660 ERROR [STDERR]
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
18:31:11,660 ERROR [STDERR]
org.apache.tapestry.engine.HomeService.service(HomeService.java:100)
18:31:11,660 ERROR [STDERR]
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:879)
18:31:11,661 ERROR [STDERR]
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238)
18:31:11,661 ERROR [STDERR]
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
18:31:11,661 ERROR [STDERR]
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
...
There are more errors of this type and even NPEs after these errors, but
I think the errors above are the main cause for the rest of them.
The selector.jwc file mentioned in one error above start like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE component-specification PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<component-specification class="info.frech.components.selector">
<parameter name="relevant" direction="in" required="yes"/>
<parameter name="selected" direction="in" required="yes"/>
<parameter name="deselected" direction="in" required="yes"/>
<parameter name="included" direction="in" required="yes"/>
<parameter name="excluded" direction="in" required="yes"/>
...
Line numer 9 is the line with "deselected" in it.
Why do I see these errors ?
What does the error message mean ?
How can I resolve it ?
Thanks a lot for any help and ideas.
Cheers,
Tobias
Re: ApplicationRuntimeException: Unable to convert 'null' to a property
type.
Posted by Tobias Frech <to...@frech.info>.
Hi!
Mindbridge wrote:
> I believe the culprit is in the parameter definitions:
>
>> <parameter name="relevant" direction="in" required="yes"/>
>> <parameter name="selected" direction="in" required="yes"/>
>> <parameter name="deselected" direction="in" required="yes"/>
>> <parameter name="included" direction="in" required="yes"/>
>> <parameter name="excluded" direction="in" required="yes"/>
>
>
> You would need to define the type of the parameter in those definitions, for
> example:
> <parameter name="relevant" type="boolean" direction="in" required="yes"/>
>
> This should fix it, I believe.
Adding type="java.util.Collection" to the tags solved the problem.
Thanks a lot ! ;-)
> This should not occur in the release version. If you would like to add a
> bug, it will be much appreciated.
Is the 'type="..."' part optional ?
About what should I complain in the bug report ? Should
java.util.Collection be "auto-detected" ?
Ciao,
Tobias
Re: ApplicationRuntimeException: Unable to convert 'null' to a property type.
Posted by Mindbridge <mi...@yahoo.com>.
Hi,
I believe the culprit is in the parameter definitions:
> <parameter name="relevant" direction="in" required="yes"/>
> <parameter name="selected" direction="in" required="yes"/>
> <parameter name="deselected" direction="in" required="yes"/>
> <parameter name="included" direction="in" required="yes"/>
> <parameter name="excluded" direction="in" required="yes"/>
You would need to define the type of the parameter in those definitions, for
example:
<parameter name="relevant" type="boolean" direction="in" required="yes"/>
This should fix it, I believe.
This should not occur in the release version. If you would like to add a
bug, it will be much appreciated.
Best regards,
-mb
----- Original Message -----
From: "Tobias Frech" <to...@frech.info>
To: "Tapestry users" <ta...@jakarta.apache.org>
Sent: Monday, June 16, 2003 11:48 PM
Subject: ApplicationRuntimeException: Unable to convert 'null' to a property
type.
> Hi!
> I am using Tapestry (now version 3.0beta1a) together with JBoss. Worked
> pretty well until now. But right now I am stuck. I created a new
> component that needs 5 parameters (all required). If I declare/use that
> componenten in a .page file the misery starts (if the declaration is
> comment out everything works again). The following exceptions are thrown:
>
> 18:31:10,309 INFO [AbstractEngine] Uncaught exception
> org.apache.tapestry.ApplicationRuntimeException: Unable to convert
> 'null' to a property type.
> at
>
org.apache.tapestry.enhance.ComponentClassFactory.convertPropertyType(Compon
entClassFactory.java:291)
> at
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterProperty(C
omponentClassFactory.java:651)
> at
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterEnhancemen
ts(ComponentClassFactory.java:592)
> at
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForEnhancements(Compon
entClassFactory.java:568)
> at
>
org.apache.tapestry.enhance.ComponentClassFactory.needsEnhancement(Component
ClassFactory.java:236)
> at
>
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.constructComponent
Class(DefaultComponentClassEnhancer.java:1
> 58)
> at
>
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.getEnhancedClass(D
efaultComponentClassEnhancer.java:118)
> at
>
org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java
:681)
> at
>
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
62)
> at
> org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:835)
> at
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:194)
> at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
> at
> org.apache.tapestry.engine.HomeService.service(HomeService.java:100)
> at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:879)
> 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)
> ...
> The error above is printed a second time and the third error looks like
> this:
>
> Exceptions:
> 18:31:11,656 ERROR [STDERR]
> org.apache.tapestry.ApplicationRuntimeException: Unable to convert
> 'null' to a property type.
> 18:31:11,656 ERROR [STDERR] location:
> classpath:/app/components/selector.jwc, line 9, column 63
> 18:31:11,657 ERROR [STDERR]
> org.apache.tapestry.ApplicationRuntimeException: Could not load class
> null from org.mortbay.http.Cont
> extLoader(file:/var/tmp/Jetty_0_0_0_0_8080__fe/webapp/WEB-INF/classes/)
> / java.net.FactoryURLClassLoader@14ed400: null
> 18:31:11,657 ERROR [STDERR] java.lang.NullPointerException
> 18:31:11,657 ERROR [STDERR] java.lang.Class.forName0(Native Method)
> 18:31:11,657 ERROR [STDERR] java.lang.Class.forName(Class.java:217)
> 18:31:11,658 ERROR [STDERR]
>
org.apache.tapestry.util.DefaultResourceResolver.findClass(DefaultResourceRe
solver.java:144)
> 18:31:11,658 ERROR [STDERR]
>
org.apache.tapestry.enhance.ComponentClassFactory.convertPropertyType(Compon
entClassFactory.java:287)
> 18:31:11,658 ERROR [STDERR]
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterProperty(C
omponentClassFactory.java
> :651)
> 18:31:11,658 ERROR [STDERR]
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForParameterEnhancemen
ts(ComponentClassFactory.
> java:592)
> 18:31:11,658 ERROR [STDERR]
>
org.apache.tapestry.enhance.ComponentClassFactory.scanForEnhancements(Compon
entClassFactory.java:568)
> 18:31:11,659 ERROR [STDERR]
>
org.apache.tapestry.enhance.ComponentClassFactory.needsEnhancement(Component
ClassFactory.java:236)
> 18:31:11,659 ERROR [STDERR]
>
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.constructComponent
Class(DefaultComponentCla
> ssEnhancer.java:158)
> 18:31:11,659 ERROR [STDERR]
>
org.apache.tapestry.enhance.DefaultComponentClassEnhancer.getEnhancedClass(D
efaultComponentClassEnhan
> cer.java:118)
> 18:31:11,659 ERROR [STDERR]
>
org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java
:681)
> 18:31:11,659 ERROR [STDERR]
>
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:5
62)
> 18:31:11,660 ERROR [STDERR]
> org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:835)
> 18:31:11,660 ERROR [STDERR]
> org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:194)
> 18:31:11,660 ERROR [STDERR]
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:236)
> 18:31:11,660 ERROR [STDERR]
> org.apache.tapestry.engine.HomeService.service(HomeService.java:100)
> 18:31:11,660 ERROR [STDERR]
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:879)
> 18:31:11,661 ERROR [STDERR]
>
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238
)
> 18:31:11,661 ERROR [STDERR]
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199)
> 18:31:11,661 ERROR [STDERR]
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> ...
>
> There are more errors of this type and even NPEs after these errors, but
> I think the errors above are the main cause for the rest of them.
>
> The selector.jwc file mentioned in one error above start like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE component-specification PUBLIC
> "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
> "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
>
> <component-specification class="info.frech.components.selector">
> <parameter name="relevant" direction="in" required="yes"/>
> <parameter name="selected" direction="in" required="yes"/>
> <parameter name="deselected" direction="in" required="yes"/>
> <parameter name="included" direction="in" required="yes"/>
> <parameter name="excluded" direction="in" required="yes"/>
> ...
>
> Line numer 9 is the line with "deselected" in it.
>
> Why do I see these errors ?
> What does the error message mean ?
> How can I resolve it ?
>
> Thanks a lot for any help and ideas.
>
> Cheers,
> Tobias
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org