I've answered my own question following "sleeping on it"...

The serialVersionUIDs hadn't been updated for a couple of files, meaning that 
they wern't recognised as being new - presumably something got serialized at 
some point....!

Am installing the ant task serialver to automate the process of updating them 
for the future!



----- Original Message ----
From: Gareth <[EMAIL PROTECTED]>
To: Tapestry users <users@tapestry.apache.org>
Sent: Thursday, 19 October, 2006 10:59:24 PM
Subject: Support for Java 5 - Generics in Tapestry 4.0.2

Hi,

I've been having fun writing a page in Tapestry, but I could see a lot of 
duplication about, so I introduced generics, with various objects that get 
injected by hivemind also extending generic objects.... big mistake.

The problem is... I am now getting errors to the effect of "method doesnt exist 
methodName(path.to.BaseGenericClass);"...  This is a little concerning as I 
don't really want to have lots of duplication everywhere unless I absolutely 
have to.

Is this a known problem with Tapestry 4.0 that is fixed in 4.1?

Thanks

Gareth

Exception stack below:

Note:  DBO is my Base generic object, which an LDO object extends, which in 
turn is extended by my 'ModelObject'.





An exception has occurred.


You may continue by restarting the session.









    
        
            org.apache.tapestry.BindingException
        
        
        
            Exception
invoking listener method onSave of component AmendDetails: Failure
invoking listener method 'public java.lang.String
com.co.ind.gui.pages.AmendDetails.onSave()' on
[EMAIL PROTECTED]:
com.co.ind.model.globals.GlobalModelStore.update(Lcom/co/ind/model/DBO;)V
        
        
        
            binding:
            [EMAIL PROTECTED]
action, component=AmendDetails, methodName=onSave,
location=context:/WEB-INF/AmendDetails.page, line 10, column 50]

        
            component:
            [EMAIL PROTECTED]

        
            location:
            context:/WEB-INF/AmendDetails.page, line 10, column 50
5<page-specification>
6

7<component id="form" type="Form"/>
8

9<component id="save" type="Submit">
10    <binding name="action" value="listener:onSave"/>
11</component>
12

13<!-- PERSONAL INFO -->
14<component id="username" type="TextField">
15    <binding name="value" value="person.username"/>

        

        
             

    
 

    
        
            org.apache.hivemind.ApplicationRuntimeException
        
        
        
            Failure
invoking listener method 'public java.lang.String
com.co.ind.gui.pages.AmendDetails.onSave()' on
[EMAIL PROTECTED]:
com.co.ind.model.globals.GlobalModelStore.update(Lcom/co/ind/model/DBO;)V
        
        
        
            component:
            [EMAIL PROTECTED]

        
            location:
            context:/WEB-INF/AmendDetails.page, line 5, column 21
1<?xml version="1.0"?>
2<!DOCTYPE page-specification PUBLIC
3  "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
4  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";;>
5<page-specification>
6

7<component id="form" type="Form"/>
8

9<component id="save" type="Submit">
10    <binding name="action" value="listener:onSave"/>

        

        
             

    
 

    
        
            java.lang.NoSuchMethodError
        
        
        
            
com.co.ind.model.globals.GlobalModelStore.update(Lcom/co/ind/model/DBO;)V
        
        
        

        
    

        
            Stack Trace:
        

        
            
                com.extsys.ind.gui.pages.AmendDetails.onSave(Unknown Source)
                    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:585)
                    
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
                    
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
                    
org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
                    
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:65)
                    
org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
                    
org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
                    
org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
                    
$ListenerInvoker_10e6290fc74.invokeListener($ListenerInvoker_10e6290fc74.java)
                    
org.apache.tapestry.form.AbstractSubmit$1.run(AbstractSubmit.java:88)
                    
org.apache.tapestry.form.FormSupportImpl.runDeferredRunnables(FormSupportImpl.java:608)
                    
org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:589)
                    org.apache.tapestry.form.Form.renderComponent(Form.java:226)
                    $Form_4.renderComponent($Form_4.java)
                    
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
                    org.apache.tapestry.form.Form.rewind(Form.java:327)
                    
org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:439)
                    org.apache.tapestry.form.Form.trigger(Form.java:338)
                    
org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146)
                    
org.apache.tapestry.engine.DirectService.service(DirectService.java:132)
                    
$IEngineService_10e6290fccc.service($IEngineService_10e6290fccc.java)
                    
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
                    
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
                    
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
                    
$WebRequestServicer_10e6290fca8.service($WebRequestServicer_10e6290fca8.java)
                    
$WebRequestServicer_10e6290fca4.service($WebRequestServicer_10e6290fca4.java)
                    
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
                    
$ServletRequestServicer_10e6290fc8a.service($ServletRequestServicer_10e6290fc8a.java)
                    
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
                    
$ServletRequestServicerFilter_10e6290fc86.service($ServletRequestServicerFilter_10e6290fc86.java)
                    
$ServletRequestServicer_10e6290fc8c.service($ServletRequestServicer_10e6290fc8c.java)
                    
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
                    
$ServletRequestServicerFilter_10e6290fc84.service($ServletRequestServicerFilter_10e6290fc84.java)
                    
$ServletRequestServicer_10e6290fc8c.service($ServletRequestServicer_10e6290fc8c.java)
                    
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
                    
$ServletRequestServicerFilter_10e6290fc88.service($ServletRequestServicerFilter_10e6290fc88.java)
                    
$ServletRequestServicer_10e6290fc8c.service($ServletRequestServicer_10e6290fc8c.java)
                    
$ServletRequestServicer_10e6290fc7e.service($ServletRequestServicer_10e6290fc7e.java)
                    
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
                    
org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168)
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
                    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:213)
                    
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:869)
                    
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                    
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                    
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:595)
                    



        
___________________________________________________________ 
Yahoo! Messenger - with free PC-PC calling and photo sharing. 
http://uk.messenger.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





Send instant messages to your online friends http://uk.messenger.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to