Here's the stack:
Using: org.jfree.chart.encoders.SunPNGEncoderAdapter
org.apache.tapestry.BindingException: Error converting value for parameter
javascript: No type converter for type org.apache.tapestry.IAsset is
available. [context:/WEB-INF/tapcomps/Border.jwc, line 29, column 55]
at org.apache.tapestry.binding.AbstractBinding.getObject(
AbstractBinding.java:97)
at $CustomShell_80.getJavascript($CustomShell_80.java)
at com.expd.lib.tapestry_v40.components.CustomShell.renderComponent(
CustomShell.java:111)
at $CustomShell_80.renderComponent($CustomShell_80.java)
at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java
:617)
at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java
:92)
at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java
:617)
at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java
:92)
at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java
:617)
at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java
:366)
at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse
(ResponseRendererImpl.java:71)
at
$ResponseRenderer_108c54f6985.renderResponse($ResponseRenderer_108c54f6985.java)
at org.apache.tapestry.engine.PageService.service(PageService.java:68)
at $IEngineService_108c54f69f8.service($IEngineService_108c54f69f8.java)
at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
EngineServiceOuterProxy.java:66)
at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java
:248)
at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
InvokeEngineTerminator.java:60)
at
$WebRequestServicer_108c54f69cf.service($WebRequestServicer_108c54f69cf.java)
at org.apache.tapestry.services.impl.DisableCachingFilter.service(
DisableCachingFilter.java:48)
at
$WebRequestServicerFilter_108c54f69d1.service($WebRequestServicerFilter_108c54f69d1.java)
at
$WebRequestServicer_108c54f69d3.service($WebRequestServicer_108c54f69d3.java)
at
$WebRequestServicer_108c54f69cb.service($WebRequestServicer_108c54f69cb.java)
at
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(
WebRequestServicerPipelineBridge.java:56)
at
$ServletRequestServicer_108c54f69af.service($ServletRequestServicer_108c54f69af.java)
at org.apache.tapestry.request.DecodedRequestInjector.service(
DecodedRequestInjector.java:55)
at
$ServletRequestServicerFilter_108c54f69ab.service($ServletRequestServicerFilter_108c54f69ab.java)
at
$ServletRequestServicer_108c54f69b1.service($ServletRequestServicer_108c54f69b1.java)
at org.apache.tapestry.multipart.MultipartDecoderFilter.service(
MultipartDecoderFilter.java:52)
at
$ServletRequestServicerFilter_108c54f69a9.service($ServletRequestServicerFilter_108c54f69a9.java)
at
$ServletRequestServicer_108c54f69b1.service($ServletRequestServicer_108c54f69b1.java)
at org.apache.tapestry.services.impl.SetupRequestEncoding.service(
SetupRequestEncoding.java:53)
at
$ServletRequestServicerFilter_108c54f69ad.service($ServletRequestServicerFilter_108c54f69ad.java)
at
$ServletRequestServicer_108c54f69b1.service($ServletRequestServicer_108c54f69b1.java)
at
$ServletRequestServicer_108c54f69a3.service($ServletRequestServicer_108c54f69a3.java)
at org.apache.tapestry.ApplicationServlet.doService(
ApplicationServlet.java:123)
at com.expd.app.expo2.webaccess.ExpoTapestryServlet.doService(
ExpoTapestryServlet.java:52)
at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java
:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java
:2422)
at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(
ErrorDispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:163)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(
StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java
:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection
(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.hivemind.ApplicationRuntimeException: No type
converter for type org.apache.tapestry.IAsset is available.
at org.apache.tapestry.coerce.ValueConverterImpl.coerceValue(
ValueConverterImpl.java:105)
at
$ValueConverter_108c54f6957.coerceValue($ValueConverter_108c54f6957.java)
at org.apache.tapestry.binding.AbstractBinding.getObject(
AbstractBinding.java:91)
... 68 more
On 1/13/06, Jason Suplizio <[EMAIL PROTECTED]> wrote:
>
> Hi!
> I've created a customized version of the Shell component...essentially I
> want to to extend the handling of stylesheet assets to javascripts (write
> <script> tags embedded in the <head > element).
> CustomShell.java adds to the original:
>
> public abstract IAsset getJavascript();
> public abstract Object getJavascripts();
>
> public void renderComponent(IMarkupWriter writer, IRequestCycle cycle) {
> /** added the following **/
> IAsset javascript = getJavascript();
>
> if (javascript != null)
> writeJavascriptScript(writer, cycle, javascript);
>
> Iterator scripts = (Iterator) getValueConverter().coerceValue(
>
> getJavascripts(),
> Iterator.class);
>
> while (scripts.hasNext())
> {
> javascript = (IAsset) i.next();
>
> writeJavascriptScript(writer, cycle, javascript);
> }
> }
> private void writeJavascriptScript(IMarkupWriter writer, IRequestCycle
> cycle, IAsset javascript)
> {
> writer.beginEmpty("script");
> writer.attribute("type", "text/javascript");
> writer.attribute("src", javascript.buildURL());
> writer.closeTag();
> writer.println();
> }
>
> CustomShell.jwc adds these to the original:
> <parameter name="javascript">
> <description>
> If specified, provides an external javascript for the page.
> </description>
> </parameter>
>
> <parameter name="javascripts">
> <description>
> Array or collection of stylesheet assets.
> </description>
> </parameter>
>
>
> However, this isn't working as I'm running into a ValueConverter issue:
>
> Exception: "org.apache.hivemind.ApplicationRuntimeException: No type
> converter for type org.apache.tapestry.IAsset is available.
>
> Borrowing from the Shell.jwc file, I notice that the following service is
> injected - which apparently implements
> org.apache.tapestry.coerce.ValueConverterImpl
>
> <inject property="valueConverter" object="service:
> tapestry.coerce.ValueConverter"/>
>
> What do I need to do to get my custom shell comp to render the script
> assets? Thanks in advance!
> Jason
>
>