I have looked at the source for PropertyDescriptor (PD) and Introspector and do not see where the problem might be. I have sun's jdk 1.3.0. you might want to look for yourself. PD should only throw that exception in the case where you have
Foo getFoo() and the only setter it is able to find is void setFoo(Bar foo) if it can find a void setFoo(Foo foo) it will be the one selected. john mcnally Filippos Slavik wrote: > > At 06:16 �� 2/1/2002 -0800, you wrote: > >PropertyDescriptor contains the logic to determine the correct setter > >according to the return type of the getter, so it should not be a > >problem. What is the exception? stacktrace? > > [Thu Jan 03 04:21:34 GMT+02:00 2002] -- ERROR -- > Exception: java.beans.IntrospectionException: type mismatch > between read and write methods > Stack Trace follows: > java.beans.IntrospectionException: type mismatch between read and > write methods > java.lang.Throwable(java.lang.String) > java.lang.Exception(java.lang.String) > java.beans.IntrospectionException(java.lang.String) > void java.beans.PropertyDescriptor.findPropertyType() > java.beans.PropertyDescriptor(java.lang.String, java.lang.Class) > java.lang.reflect.Method > >org.apache.turbine.services.intake.TurbineIntakeService.getFieldSetter(java.lang.String, > java.lang.String) > java.lang.reflect.Method > org.apache.turbine.services.intake.TurbineIntake.getFieldSetter(java.lang.String, > java.lang.String) > >org.apache.turbine.services.intake.model.Field(org.apache.turbine.services.intake.xmlmodel.XmlField, > org.apache.turbine.services.intake.model.Group) > >org.apache.turbine.services.intake.model.NumberKeyField(org.apache.turbine.services.intake.xmlmodel.XmlField, > org.apache.turbine.services.intake.model.Group) > org.apache.turbine.services.intake.model.Field > >org.apache.turbine.services.intake.model.FieldFactory$5.getInstance(org.apache.turbine.services.intake.xmlmodel.XmlField, > org.apache.turbine.services.intake.model.Group) > org.apache.turbine.services.intake.model.Field > >org.apache.turbine.services.intake.model.FieldFactory.getInstance(org.apache.turbine.services.intake.xmlmodel.XmlField, > org.apache.turbine.services.intake.model.Group) > >org.apache.turbine.services.intake.model.Group(org.apache.turbine.services.intake.xmlmodel.XmlGroup) > org.apache.turbine.services.intake.model.Group > org.apache.turbine.services.intake.TurbineIntakeService.getGroup(java.lang.String) > org.apache.turbine.services.intake.model.Group > org.apache.turbine.services.intake.TurbineIntake.getGroup(java.lang.String) > void > org.apache.turbine.services.intake.IntakeTool.init(java.lang.Object) > void > >org.apache.turbine.services.pull.TurbinePullService.populateWithRequestTools(org.apache.velocity.context.Context, > org.apache.turbine.util.RunData) > void > >org.apache.turbine.services.pull.TurbinePullService.populateContext(org.apache.velocity.context.Context, > org.apache.turbine.util.RunData) > void > >org.apache.turbine.services.pull.TurbinePull.populateContext(org.apache.velocity.context.Context, > org.apache.turbine.util.RunData) > org.apache.velocity.context.Context > >org.apache.turbine.services.velocity.TurbineVelocityService.getContext(org.apache.turbine.util.RunData) > org.apache.velocity.context.Context > >org.apache.turbine.services.velocity.TurbineVelocity.getContext(org.apache.turbine.util.RunData) > void > >org.apache.turbine.util.velocity.VelocityActionEvent.perform(org.apache.turbine.util.RunData) > void > >org.apache.turbine.modules.actions.VelocityAction.perform(org.apache.turbine.util.RunData) > void > org.apache.turbine.modules.ActionLoader.exec(org.apache.turbine.util.RunData, > java.lang.String) > void > org.apache.turbine.Turbine.doGet(javax.servlet.http.HttpServletRequest, > javax.servlet.http.HttpServletResponse) > void > javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, > javax.servlet.http.HttpServletResponse) > void > javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, > javax.servlet.ServletResponse) > void > org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, > org.apache.tomcat.core.Response) > void > org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, > org.apache.tomcat.core.Response) > void > org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, > org.apache.tomcat.core.Response) > void > org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, > org.apache.tomcat.core.Response) > void > org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, > org.apache.tomcat.core.Response) > void > >org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, > java.lang.Object []) > void > org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object []) > void org.apache.tomcat.util.ThreadPool$ControlRunnable.run() > void java.lang.Thread.run() > > JRE 1.2.2 :) > > Best Regards > Filippos Slavik > > >john mcnally > > > >Filippos Slavik wrote: > > > > > > At 05:49 �� 2/1/2002 -0800, you wrote: > > > >See the archives. A reasonable though not ideal fix is in cvs. And the > > > >problem is not with PropertyDescriptor, I am pretty sure it contains the > > > >correct logic. The bug occurs in BeanInfo or Introspector. > > > > > > Can you bee a bit more precise ? I 'm using Turbine 2 CVS HEAD (should't be > > > the fix there ?) > > > > > > I got the exception in the following line: > > > > > > pd = new PropertyDescriptor(propName, Class.forName(className)); > > > > > > in the ::getFieldSetter of TurbineIntakeService.. > > > > > > >john mcnally > > > > > > Best Regards > > > Filippos Slavik > > > > > > >Filippos Slavik wrote: > > > > > > > > > > Dear all I have the following problem with TurbineIntakeService (2.x, > > > > > version 1.3) > > > > > > > > > > I have the following table column defined in my database xml file: > > > > > > > > > > <column javaName="DiskPlatformID" name="DIGITAL_LARGE_DISKPLATFORM_ID" > > > > > type="INTEGER"/> > > > > > > > > > > Torque (the one distirbuted with TDK2.1) generates in the Base OM > > object > > > > > one getter: > > > > > > > > > > public NumberKey getDiskPlatformID() > > > > > > > > > > and two setters: > > > > > > > > > > public void setDiskPlatformID(NumberKey v ) throws Exception > > > > > public void setDiskPlatformID(String v ) throws Exception > > > > > > > > > > So far so good. My inputs.xml contains an entry to handle the above > > field: > > > > > > > > > > <field name="DiskPlatformID" key="diskplatformid" type="NumberKey" > > > > > mapToProperty="DiskPlatformID"/> > > > > > > > > > > The problem is that TurbineIntakeService fails to select the > > correct (?) > > > > > setter for the concrete field/property. From the exception thrown the > > > > > reason is obvious. The IntakseService uses the > > > > > java.bean.PropertyDescriptor class to get the setter and getter for the > > > > > property, but it fails since there are two setters for the property > > with > > > > > different parameter types. > > > > > > > > > > I'm stuck :( Due to this exception I'm not able to map my "form > > data" to > > > > > the appropriate OM instances and store them to the database > > backend. Once > > > > > again let me state that I'm using turbine 2.x CVS HEAD (TDK2.1 for the > > > > > generation of OM sources) - JRE 1.2.2 (Visual Age 4.0 for Java)... > > > > > > > > > > Any help ? :) > > > > > > > > > > Thanks :) > > > > > Slavikos > > > > > > > > > > ################################################################ > > > > > Filippos Slavik > > > > > FORTHnet R&D, Heraklion, Greece > > > > > e-mail : [EMAIL PROTECTED] > > > > > phone : (+3) 081 391230 > > > > > ################################################################ > > > > > > > > > > "The software said 'runs on Win95 or better,' so I installed it > > > > > on Linux..." > > > > > > > > > > -- > > > > > To unsubscribe, > > > > e-mail: <mailto:[EMAIL PROTECTED]> > > > > > For additional commands, e-mail: > > > > <mailto:[EMAIL PROTECTED]> > > > > > > > >-- > > > >To unsubscribe, > > e-mail: <mailto:[EMAIL PROTECTED]> > > > >For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > ################################################################ > > > Filippos Slavik > > > FORTHnet R&D, Heraklion, Greece > > > e-mail : [EMAIL PROTECTED] > > > phone : (+3) 081 391230 > > > ################################################################ > > > > > > "The software said 'runs on Win95 or better,' so I installed it > > > on Linux..." > > > > > > -- > > > To unsubscribe, > > e-mail: <mailto:[EMAIL PROTECTED]> > > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > >-- > >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > ################################################################ > Filippos Slavik > FORTHnet R&D, Heraklion, Greece > e-mail : [EMAIL PROTECTED] > phone : (+3) 081 391230 > ################################################################ > > "The software said 'runs on Win95 or better,' so I installed it > on Linux..." > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
