strange tapestry problem

From: Tore Halset (halse..vv.ntnu.no)
Date: Mon Nov 01 2004 - 07:54:50 EST

  • Next message: Tore Halset: "Re: strange tapestry problem"

    Hello.

    I am having a strange problem with tapestry and some cayenne objects
    that some of you might be able to help me with. I mailed the tapestry
    list about the same problem in june. See attached message.

    I have a realy simple Page called VesselDownloadReport. It has a
    tapestry Insert component that looks like this:
        <span jwcid=..nsert" value="ognl:currentVessel.name"/>

    I have a method in VesselDownloadReport.java named getCurrentVessel()
    that returns a Vessel object. The Vessel object is a cayenne object. In
    its parrent, _Vessel, there are the usual methods for setName(String)
    and getName().

    Rendering the page leads to the errormessage in this screenshot:
    http://www.pvv.ntnu.no/~halset/tmp/propertydescriptor.png and in the
    attached message.

    Howard M. Lewis Ship (tapestry guru) answered "Perhaps you are
    overriding a property provided by a super class", but I have not done
    so.

    Regards,
      - Tore.

    Begin forwarded message:

    > From: Tore Halset <halse..vv.ntnu.no>
    > Date: June 17, 2004 12:58:23 CEST
    > To: "Tapestry users" <tapestry-use..akarta.apache.org>
    > Subject: Re: Internal error while merging PDs?
    > Reply-To: "Tapestry users" <tapestry-use..akarta.apache.org>
    >
    > On Jun 11, 2004, at 18:23, Jamis Buck wrote:
    >
    >> Here's a new one (for me, anyway). I'm now getting the following
    >> error when I run my Tapestry app:
    >>
    >> PropertyDescriptor: internal error while merging PDs: type mismatch
    >> between read and write methods
    >>
    >> Has anyone else seen this? It doesn't say which methods are causing
    >> the problem, or even which object. I've looked at all of my property
    >> accessors (on all of my pages and components) and they all seem to
    >> have consistent types. I'm not sure where else to look.
    >
    > I am getting the same error. The page is realy simple and I have not
    > found a set/get combination with different types. I am using
    > tapestry-3.0 with ognl-2.6.3. Upgrading ognl to 2.6.5 did not fix the
    > problem. Here is the stacktrace:
    >
    > PropertyDescriptor: internal error while merging PDs: type mismatch
    > between read and write methods
    >
    > Stack Trace:
    >
    > • java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:343)
    > •
    > java.beans.Introspector.processPropertyDescriptors(Introspector.java:
    > 649)
    > •
    > java.beans.Introspector.getTargetPropertyInfo(Introspector.java:572)
    > • java.beans.Introspector.getBeanInfo(Introspector.java:372)
    > • java.beans.Introspector.getBeanInfo(Introspector.java:144)
    > • ognl.OgnlRuntime.getPropertyDescriptors(OgnlRuntime.java:1253)
    > • ognl.OgnlRuntime.getPropertyDescriptor(OgnlRuntime.java:1272)
    > • ognl.OgnlRuntime.getIndexedPropertyType(OgnlRuntime.java:1474)
    > • ognl.ASTProperty.getIndexedPropertyType(ASTProperty.java:79)
    > • ognl.ASTChain.getValueBody(ASTChain.java:63)
    > • ognl.SimpleNode.getValue(SimpleNode.java:192)
    > • ognl.Ognl.getValue(Ognl.java:335)
    > • ognl.Ognl.getValue(Ognl.java:310)
    > •
    > org.apache.tapestry.binding.ExpressionBinding.resolveProperty(Expressio
    > nBinding.java:201)
    > •
    > org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBindi
    > ng.java:194)
    > •
    > org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.j
    > ava:208)
    > •
    > org.apache.tapestry.param.AbstractParameterConnector.getBindingValue(Ab
    > stractParameterConnector.java:105)
    > •
    > org.apache.tapestry.param.ObjectParameterConnector.setParameter(ObjectP
    > arameterConnector.java:53)
    > •
    > org.apache.tapestry.param.ParameterManager.setParameters(ParameterManag
    > er.java:105)
    > •
    > org.apache.tapestry.AbstractComponent.prepareForRender(AbstractComponen
    > t.java:898)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 853)
    > •
    > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
    > :624)
    > •
    > org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:
    > 122)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > •
    > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
    > :624)
    > •
    > org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.ja
    > va:45)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > •
    > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
    > :624)
    > • org.apache.tapestry.html.Body.renderComponent(Body.java:269)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > •
    > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
    > :624)
    > • org.apache.tapestry.html.Shell.renderComponent(Shell.java:123)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > •
    > org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
    > 118)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > •
    > org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
    > 118)
    > •
    > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
    > 857)
    > • org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
    > •
    > org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:
    > 371)
    > •
    > org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine
    > .java:732)
    > •
    > org.apache.tapestry.engine.DirectService.service(DirectService.java:
    > 174)
    > •
    > org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:
    > 872)
    > •
    > org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.jav
    > a:197)
    > •
    > org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:
    > 326)
    > • javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    > • javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    >
    > Regards,
    > - Tore.
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: tapestry-user-unsubscrib..akarta.apache.org
    > For additional commands, e-mail: tapestry-user-hel..akarta.apache.org



    This archive was generated by hypermail 2.0.0 : Mon Nov 01 2004 - 07:55:02 EST