You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Gareth <g0...@yahoo.co.uk> on 2006/10/19 23:59:24 UTC

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
$AmendDetails_13@c54654[AmendDetails]:
com.co.ind.model.globals.GlobalModelStore.update(Lcom/co/ind/model/DBO;)V
		
		
		
			binding:
			org.apache.tapestry.binding.ListenerMethodBinding@15b15ab[parameter
action, component=AmendDetails, methodName=onSave,
location=context:/WEB-INF/AmendDetails.page, line 10, column 50]

		
			component:
			$AmendDetails_13@c54654[AmendDetails]

		
			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
$AmendDetails_13@c54654[AmendDetails]:
com.co.ind.model.globals.GlobalModelStore.update(Lcom/co/ind/model/DBO;)V
		
		
		
			component:
			$AmendDetails_13@c54654[AmendDetails]

		
			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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org