You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Hugo Palma <hp...@digitalis.pt> on 2005/03/01 13:15:47 UTC
Re: Error creating implicit component in 3.1
Ok, i think i might have hidden the real problem with some not very
pretty code.
After some debugging i think that the problem is that the property
componentResolver of the PageLoader class doesn't get initialized.
In my code i have:
IPageLoader loader = new PageLoader();
Location location = getLocation();
Block block = (Block) loader.createImplicitComponent(cycle, this, id,
BLOCK, location);
with this i get a NPE in
org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
because the componentResolver property is NULL.
It's only when i do this:
IPageLoader loader = new PageLoader();
loader.setComponentResolver(new ComponentSpecificationResolverImpl());
Location location = getLocation();
Block block = (Block) loader.createImplicitComponent(cycle, this, id,
BLOCK, location);
that i get the exception from the previous post. That exception comes
from the fact that the log property of the
ComponentSpecificationResolverImpl class is NULL.
Hope this helps.
Hugo
Howard Lewis Ship wrote:
> Try enabling logging for Logger org.apache.tapestry.resolver
>
> I think the component's namespace, or namespace location, must be null
> to cause an NPE.
>
> I've been adding more defensive programming checks for this throughout
> Tapestry. I hate NPEs that don't describe what's wrong!
>
> I really appreciate you doing early 3.1 alpha testing!
>
>
> On Mon, 28 Feb 2005 16:52:35 +0000, Hugo Palma <hp...@digitalis.pt> wrote:
>
>>I have a component that calls the method createImplicitComponent. It
>>worked fine in 3.0.2 but now i'm getting an exception in 3.1.
>>The stack trace is:
>>
>>java.lang.NullPointerException
>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.searchForComponent(ComponentSpecificationResolverImpl.java:65)
>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:56)
>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:40)
>>org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:43)
>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:34)
>>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>java.lang.reflect.Method.invoke(Method.java:324)
>>ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>>ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
>>ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>>ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
>>ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>>ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>>ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>>ognl.SimpleNode.getValue(SimpleNode.java:213)
>>ognl.Ognl.getValue(Ognl.java:333)
>>ognl.Ognl.getValue(Ognl.java:310)
>>org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
>>$ExpressionEvaluator_10259d67d0c.readCompiled($ExpressionEvaluator_10259d67d0c.java)
>>org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
>>org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
>>org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
>>$RenderBlock_4.getBlock($RenderBlock_4.java)
>>org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>org.apache.tapestry.html.Body.renderComponent(Body.java:235)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
>>org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
>>org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
>>$ResponseRenderer_10259d67c92.renderResponse($ResponseRenderer_10259d67c92.java)
>>$ResponseRenderer_10259d67c91.renderResponse($ResponseRenderer_10259d67c91.java)
>>org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
>>org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
>>org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
>>$RequestServicer_10259d67c6b.service($RequestServicer_10259d67c6b.java)
>>$RequestServicer_10259d67c6a.service($RequestServicer_10259d67c6a.java)
>>org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
>>$RequestServicerFilter_10259d67c6d.service($RequestServicerFilter_10259d67c6d.java)
>>$RequestServicerFilter_10259d67c6c.service($RequestServicerFilter_10259d67c6c.java)
>>$RequestServicer_10259d67c6e.service($RequestServicer_10259d67c6e.java)
>>$RequestServicer_10259d67c65.service($RequestServicer_10259d67c65.java)
>>$RequestServicer_10259d67c64.service($RequestServicer_10259d67c64.java)
>>org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
>>org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
>>javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>>javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>>java.lang.Thread.run(Thread.java:534)
>>
>>Any ideas ?
>>
>>Thanks
>>
>>Hugo
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>
>>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
Re: Error creating implicit component in 3.1
Posted by Hugo Palma <hp...@digitalis.pt>.
Ok, i finally figured it out.
I had to call the createImplicitComponent method from inside the
overloaded finishLoad method just before i call the super
implementation. This made it work. Not sure if this kind of implemented
is intented, but it made it work.
Thanks again for the precious help.
Hugo
Hugo Palma wrote:
> I had already tried that, but then i got another error and i just
> started looking for other options. At least i know i'm on the right
> track now.
> Ok, so the error now is a java.lang.UnsupportedOperationException:
>
> Component Home/$Border.menu is active and its configuration state may
> not be changed.
> Stack Trace:
>
> org.apache.tapestry.AbstractComponent.checkActiveLock(AbstractComponent.java:751)
>
> org.apache.tapestry.AbstractComponent.addComponent(AbstractComponent.java:158)
>
> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:430)
>
> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
>
> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:44)
>
> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:29)
>
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> java.lang.reflect.Method.invoke(Method.java:324)
> ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>
> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
> ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
> ognl.ASTProperty.getValueBody(ASTProperty.java:96)
> ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
> ognl.SimpleNode.getValue(SimpleNode.java:213)
> ognl.Ognl.getValue(Ognl.java:333)
> ognl.Ognl.getValue(Ognl.java:310)
> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
>
> $ExpressionEvaluator_1025ebef1f1.readCompiled($ExpressionEvaluator_1025ebef1f1.java)
>
> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
>
> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
>
> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
>
> $RenderBlock_4.getBlock($RenderBlock_4.java)
> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
>
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>
> org.apache.tapestry.html.Body.renderComponent(Body.java:235)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>
> org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
> org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
>
> $ResponseRenderer_1025ebef177.renderResponse($ResponseRenderer_1025ebef177.java)
>
> $ResponseRenderer_1025ebef176.renderResponse($ResponseRenderer_1025ebef176.java)
>
> org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
>
> $RequestServicer_1025ebef150.service($RequestServicer_1025ebef150.java)
> $RequestServicer_1025ebef14f.service($RequestServicer_1025ebef14f.java)
> org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
>
> $RequestServicerFilter_1025ebef152.service($RequestServicerFilter_1025ebef152.java)
>
> $RequestServicerFilter_1025ebef151.service($RequestServicerFilter_1025ebef151.java)
>
> $RequestServicer_1025ebef153.service($RequestServicer_1025ebef153.java)
> $RequestServicer_1025ebef14a.service($RequestServicer_1025ebef14a.java)
> $RequestServicer_1025ebef149.service($RequestServicer_1025ebef149.java)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
>
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
>
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
>
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>
> java.lang.Thread.run(Thread.java:534)
>
>
> Thanks again
>
> Hugo
>
> Howard Lewis Ship wrote:
>
>> DO NOT create a page loader instance; of course its not nearly
>> configured!
>>
>> If you override the publid finishLoad() method, it will be provided to
>> you.
>>
>> Alternately, you should be able to have it injected into your
>> component class.
>>
>> Changing the structure of the page at render time is uncharted
>> territory in Tapestry.
>>
>>
>> On Tue, 01 Mar 2005 12:15:47 +0000, Hugo Palma <hp...@digitalis.pt>
>> wrote:
>>
>>> Ok, i think i might have hidden the real problem with some not very
>>> pretty code.
>>> After some debugging i think that the problem is that the property
>>> componentResolver of the PageLoader class doesn't get initialized.
>>> In my code i have:
>>>
>>> IPageLoader loader = new PageLoader();
>>> Location location = getLocation();
>>> Block block = (Block) loader.createImplicitComponent(cycle, this, id,
>>> BLOCK, location);
>>>
>>> with this i get a NPE in
>>> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
>>>
>>> because the componentResolver property is NULL.
>>>
>>> It's only when i do this:
>>>
>>> IPageLoader loader = new PageLoader();
>>> loader.setComponentResolver(new ComponentSpecificationResolverImpl());
>>> Location location = getLocation();
>>> Block block = (Block) loader.createImplicitComponent(cycle, this, id,
>>> BLOCK, location);
>>>
>>> that i get the exception from the previous post. That exception comes
>>> from the fact that the log property of the
>>> ComponentSpecificationResolverImpl class is NULL.
>>>
>>> Hope this helps.
>>>
>>>
>>> Hugo
>>>
>>> Howard Lewis Ship wrote:
>>>
>>>> Try enabling logging for Logger org.apache.tapestry.resolver
>>>>
>>>> I think the component's namespace, or namespace location, must be null
>>>> to cause an NPE.
>>>>
>>>> I've been adding more defensive programming checks for this throughout
>>>> Tapestry. I hate NPEs that don't describe what's wrong!
>>>>
>>>> I really appreciate you doing early 3.1 alpha testing!
>>>>
>>>>
>>>> On Mon, 28 Feb 2005 16:52:35 +0000, Hugo Palma <hp...@digitalis.pt>
>>>> wrote:
>>>>
>>>>
>>>>> I have a component that calls the method createImplicitComponent. It
>>>>> worked fine in 3.0.2 but now i'm getting an exception in 3.1.
>>>>> The stack trace is:
>>>>>
>>>>> java.lang.NullPointerException
>>>>> org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.searchForComponent(ComponentSpecificationResolverImpl.java:65)
>>>>>
>>>>> org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:56)
>>>>>
>>>>> org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:40)
>>>>>
>>>>> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
>>>>>
>>>>> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
>>>>>
>>>>> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:43)
>>>>>
>>>>> pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:34)
>>>>>
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>
>>>>> java.lang.reflect.Method.invoke(Method.java:324)
>>>>> ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>>>>> ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
>>>>> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>>>>>
>>>>> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
>>>>>
>>>>> ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>>>>> ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>>>>> ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>>>>> ognl.SimpleNode.getValue(SimpleNode.java:213)
>>>>> ognl.Ognl.getValue(Ognl.java:333)
>>>>> ognl.Ognl.getValue(Ognl.java:310)
>>>>> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
>>>>>
>>>>> $ExpressionEvaluator_10259d67d0c.readCompiled($ExpressionEvaluator_10259d67d0c.java)
>>>>>
>>>>> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
>>>>>
>>>>> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
>>>>>
>>>>> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
>>>>>
>>>>> $RenderBlock_4.getBlock($RenderBlock_4.java)
>>>>> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>>>>
>>>>> org.apache.tapestry.html.Body.renderComponent(Body.java:235)
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>>>>
>>>>> org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>>
>>>>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>>
>>>>> org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
>>>>> org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
>>>>>
>>>>> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
>>>>>
>>>>> $ResponseRenderer_10259d67c92.renderResponse($ResponseRenderer_10259d67c92.java)
>>>>>
>>>>> $ResponseRenderer_10259d67c91.renderResponse($ResponseRenderer_10259d67c91.java)
>>>>>
>>>>> org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
>>>>> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
>>>>>
>>>>> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
>>>>>
>>>>> $RequestServicer_10259d67c6b.service($RequestServicer_10259d67c6b.java)
>>>>>
>>>>> $RequestServicer_10259d67c6a.service($RequestServicer_10259d67c6a.java)
>>>>>
>>>>> org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
>>>>>
>>>>> $RequestServicerFilter_10259d67c6d.service($RequestServicerFilter_10259d67c6d.java)
>>>>>
>>>>> $RequestServicerFilter_10259d67c6c.service($RequestServicerFilter_10259d67c6c.java)
>>>>>
>>>>> $RequestServicer_10259d67c6e.service($RequestServicer_10259d67c6e.java)
>>>>>
>>>>> $RequestServicer_10259d67c65.service($RequestServicer_10259d67c65.java)
>>>>>
>>>>> $RequestServicer_10259d67c64.service($RequestServicer_10259d67c64.java)
>>>>>
>>>>> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
>>>>>
>>>>> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
>>>>>
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>>>>>
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>>>>
>>>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
>>>>>
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>>>>>
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>>>>
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>>
>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>>
>>>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>>>>>
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>>
>>>>> org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>>
>>>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>>
>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>>
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>>
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>>
>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>>
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>>
>>>>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>>
>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>>
>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>>>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>>>>
>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>>>>>
>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>>>>>
>>>>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>>>>>
>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>>>>>
>>>>> java.lang.Thread.run(Thread.java:534)
>>>>>
>>>>> Any ideas ?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Hugo
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>>>> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>>
>>>
>>
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
Re: Error creating implicit component in 3.1
Posted by Hugo Palma <hp...@digitalis.pt>.
I had already tried that, but then i got another error and i just
started looking for other options. At least i know i'm on the right
track now.
Ok, so the error now is a java.lang.UnsupportedOperationException:
Component Home/$Border.menu is active and its configuration state may
not be changed.
Stack Trace:
org.apache.tapestry.AbstractComponent.checkActiveLock(AbstractComponent.java:751)
org.apache.tapestry.AbstractComponent.addComponent(AbstractComponent.java:158)
org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:430)
pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:44)
pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:29)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
ognl.ASTProperty.getValueBody(ASTProperty.java:96)
ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
ognl.SimpleNode.getValue(SimpleNode.java:213)
ognl.Ognl.getValue(Ognl.java:333)
ognl.Ognl.getValue(Ognl.java:310)
org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
$ExpressionEvaluator_1025ebef1f1.readCompiled($ExpressionEvaluator_1025ebef1f1.java)
org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
$RenderBlock_4.getBlock($RenderBlock_4.java)
org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
org.apache.tapestry.html.Body.renderComponent(Body.java:235)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
$ResponseRenderer_1025ebef177.renderResponse($ResponseRenderer_1025ebef177.java)
$ResponseRenderer_1025ebef176.renderResponse($ResponseRenderer_1025ebef176.java)
org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
$RequestServicer_1025ebef150.service($RequestServicer_1025ebef150.java)
$RequestServicer_1025ebef14f.service($RequestServicer_1025ebef14f.java)
org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
$RequestServicerFilter_1025ebef152.service($RequestServicerFilter_1025ebef152.java)
$RequestServicerFilter_1025ebef151.service($RequestServicerFilter_1025ebef151.java)
$RequestServicer_1025ebef153.service($RequestServicer_1025ebef153.java)
$RequestServicer_1025ebef14a.service($RequestServicer_1025ebef14a.java)
$RequestServicer_1025ebef149.service($RequestServicer_1025ebef149.java)
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)
Thanks again
Hugo
Howard Lewis Ship wrote:
> DO NOT create a page loader instance; of course its not nearly configured!
>
> If you override the publid finishLoad() method, it will be provided to you.
>
> Alternately, you should be able to have it injected into your component class.
>
> Changing the structure of the page at render time is uncharted
> territory in Tapestry.
>
>
> On Tue, 01 Mar 2005 12:15:47 +0000, Hugo Palma <hp...@digitalis.pt> wrote:
>
>>Ok, i think i might have hidden the real problem with some not very
>>pretty code.
>>After some debugging i think that the problem is that the property
>>componentResolver of the PageLoader class doesn't get initialized.
>>In my code i have:
>>
>>IPageLoader loader = new PageLoader();
>>Location location = getLocation();
>>Block block = (Block) loader.createImplicitComponent(cycle, this, id,
>>BLOCK, location);
>>
>>with this i get a NPE in
>>org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
>>because the componentResolver property is NULL.
>>
>>It's only when i do this:
>>
>>IPageLoader loader = new PageLoader();
>>loader.setComponentResolver(new ComponentSpecificationResolverImpl());
>>Location location = getLocation();
>>Block block = (Block) loader.createImplicitComponent(cycle, this, id,
>>BLOCK, location);
>>
>>that i get the exception from the previous post. That exception comes
>>from the fact that the log property of the
>>ComponentSpecificationResolverImpl class is NULL.
>>
>>Hope this helps.
>>
>>
>>Hugo
>>
>>Howard Lewis Ship wrote:
>>
>>>Try enabling logging for Logger org.apache.tapestry.resolver
>>>
>>>I think the component's namespace, or namespace location, must be null
>>>to cause an NPE.
>>>
>>>I've been adding more defensive programming checks for this throughout
>>>Tapestry. I hate NPEs that don't describe what's wrong!
>>>
>>>I really appreciate you doing early 3.1 alpha testing!
>>>
>>>
>>>On Mon, 28 Feb 2005 16:52:35 +0000, Hugo Palma <hp...@digitalis.pt> wrote:
>>>
>>>
>>>>I have a component that calls the method createImplicitComponent. It
>>>>worked fine in 3.0.2 but now i'm getting an exception in 3.1.
>>>>The stack trace is:
>>>>
>>>>java.lang.NullPointerException
>>>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.searchForComponent(ComponentSpecificationResolverImpl.java:65)
>>>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:56)
>>>>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:40)
>>>>org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
>>>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
>>>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:43)
>>>>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:34)
>>>>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>java.lang.reflect.Method.invoke(Method.java:324)
>>>>ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>>>>ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
>>>>ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
>>>>ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
>>>>ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
>>>>ognl.ASTProperty.getValueBody(ASTProperty.java:96)
>>>>ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
>>>>ognl.SimpleNode.getValue(SimpleNode.java:213)
>>>>ognl.Ognl.getValue(Ognl.java:333)
>>>>ognl.Ognl.getValue(Ognl.java:310)
>>>>org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
>>>>$ExpressionEvaluator_10259d67d0c.readCompiled($ExpressionEvaluator_10259d67d0c.java)
>>>>org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
>>>>org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
>>>>org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
>>>>$RenderBlock_4.getBlock($RenderBlock_4.java)
>>>>org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>>>org.apache.tapestry.html.Body.renderComponent(Body.java:235)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
>>>>org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
>>>>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
>>>>org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
>>>>org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
>>>>org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
>>>>$ResponseRenderer_10259d67c92.renderResponse($ResponseRenderer_10259d67c92.java)
>>>>$ResponseRenderer_10259d67c91.renderResponse($ResponseRenderer_10259d67c91.java)
>>>>org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
>>>>org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
>>>>org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
>>>>$RequestServicer_10259d67c6b.service($RequestServicer_10259d67c6b.java)
>>>>$RequestServicer_10259d67c6a.service($RequestServicer_10259d67c6a.java)
>>>>org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
>>>>$RequestServicerFilter_10259d67c6d.service($RequestServicerFilter_10259d67c6d.java)
>>>>$RequestServicerFilter_10259d67c6c.service($RequestServicerFilter_10259d67c6c.java)
>>>>$RequestServicer_10259d67c6e.service($RequestServicer_10259d67c6e.java)
>>>>$RequestServicer_10259d67c65.service($RequestServicer_10259d67c65.java)
>>>>$RequestServicer_10259d67c64.service($RequestServicer_10259d67c64.java)
>>>>org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
>>>>org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>>>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>>>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
>>>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>>>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>>>>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>>>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>>>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>>>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>>>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>>>>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>>>>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>>>>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>>>>java.lang.Thread.run(Thread.java:534)
>>>>
>>>>Any ideas ?
>>>>
>>>>Thanks
>>>>
>>>>Hugo
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>>>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>
>>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
Re: Error creating implicit component in 3.1
Posted by Howard Lewis Ship <hl...@gmail.com>.
DO NOT create a page loader instance; of course its not nearly configured!
If you override the publid finishLoad() method, it will be provided to you.
Alternately, you should be able to have it injected into your component class.
Changing the structure of the page at render time is uncharted
territory in Tapestry.
On Tue, 01 Mar 2005 12:15:47 +0000, Hugo Palma <hp...@digitalis.pt> wrote:
> Ok, i think i might have hidden the real problem with some not very
> pretty code.
> After some debugging i think that the problem is that the property
> componentResolver of the PageLoader class doesn't get initialized.
> In my code i have:
>
> IPageLoader loader = new PageLoader();
> Location location = getLocation();
> Block block = (Block) loader.createImplicitComponent(cycle, this, id,
> BLOCK, location);
>
> with this i get a NPE in
> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
> because the componentResolver property is NULL.
>
> It's only when i do this:
>
> IPageLoader loader = new PageLoader();
> loader.setComponentResolver(new ComponentSpecificationResolverImpl());
> Location location = getLocation();
> Block block = (Block) loader.createImplicitComponent(cycle, this, id,
> BLOCK, location);
>
> that i get the exception from the previous post. That exception comes
> from the fact that the log property of the
> ComponentSpecificationResolverImpl class is NULL.
>
> Hope this helps.
>
>
> Hugo
>
> Howard Lewis Ship wrote:
> > Try enabling logging for Logger org.apache.tapestry.resolver
> >
> > I think the component's namespace, or namespace location, must be null
> > to cause an NPE.
> >
> > I've been adding more defensive programming checks for this throughout
> > Tapestry. I hate NPEs that don't describe what's wrong!
> >
> > I really appreciate you doing early 3.1 alpha testing!
> >
> >
> > On Mon, 28 Feb 2005 16:52:35 +0000, Hugo Palma <hp...@digitalis.pt> wrote:
> >
> >>I have a component that calls the method createImplicitComponent. It
> >>worked fine in 3.0.2 but now i'm getting an exception in 3.1.
> >>The stack trace is:
> >>
> >>java.lang.NullPointerException
> >>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.searchForComponent(ComponentSpecificationResolverImpl.java:65)
> >>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:56)
> >>org.apache.tapestry.resolver.ComponentSpecificationResolverImpl.resolve(ComponentSpecificationResolverImpl.java:40)
> >>org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:417)
> >>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.constructBlock(DynamicBlock.java:81)
> >>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.findBlockForComponentNamed(DynamicBlock.java:43)
> >>pt.digitalis.dif.view.components.dynamicblock.DynamicBlock.getBlock(DynamicBlock.java:34)
> >>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>java.lang.reflect.Method.invoke(Method.java:324)
> >>ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> >>ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:904)
> >>ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:54)
> >>ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:122)
> >>ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1616)
> >>ognl.ASTProperty.getValueBody(ASTProperty.java:96)
> >>ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:171)
> >>ognl.SimpleNode.getValue(SimpleNode.java:213)
> >>ognl.Ognl.getValue(Ognl.java:333)
> >>ognl.Ognl.getValue(Ognl.java:310)
> >>org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:84)
> >>$ExpressionEvaluator_10259d67d0c.readCompiled($ExpressionEvaluator_10259d67d0c.java)
> >>org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:110)
> >>org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:103)
> >>org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:87)
> >>$RenderBlock_4.getBlock($RenderBlock_4.java)
> >>org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:54)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
> >>org.apache.tapestry.html.Body.renderComponent(Body.java:235)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:428)
> >>org.apache.tapestry.html.Shell.renderComponent(Shell.java:114)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
> >>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:606)
> >>org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:280)
> >>org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:351)
> >>org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:53)
> >>$ResponseRenderer_10259d67c92.renderResponse($ResponseRenderer_10259d67c92.java)
> >>$ResponseRenderer_10259d67c91.renderResponse($ResponseRenderer_10259d67c91.java)
> >>org.apache.tapestry.engine.HomeService.service(HomeService.java:67)
> >>org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:358)
> >>org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:57)
> >>$RequestServicer_10259d67c6b.service($RequestServicer_10259d67c6b.java)
> >>$RequestServicer_10259d67c6a.service($RequestServicer_10259d67c6a.java)
> >>org.apache.tapestry.services.impl.RequestGlobalsInitializer.service(RequestGlobalsInitializer.java:52)
> >>$RequestServicerFilter_10259d67c6d.service($RequestServicerFilter_10259d67c6d.java)
> >>$RequestServicerFilter_10259d67c6c.service($RequestServicerFilter_10259d67c6c.java)
> >>$RequestServicer_10259d67c6e.service($RequestServicer_10259d67c6e.java)
> >>$RequestServicer_10259d67c65.service($RequestServicer_10259d67c65.java)
> >>$RequestServicer_10259d67c64.service($RequestServicer_10259d67c64.java)
> >>org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:128)
> >>org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:94)
> >>javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> >>javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> >>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> >>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> >>org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> >>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> >>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> >>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> >>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> >>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> >>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >>org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> >>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >>org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> >>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> >>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> >>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> >>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> >>java.lang.Thread.run(Thread.java:534)
> >>
> >>Any ideas ?
> >>
> >>Thanks
> >>
> >>Hugo
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> >>
> >>
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>
--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
Professional Tapestry training, mentoring, support
and project work. http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org