tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <tapestry-...@jakarta.apache.org>
Subject [jira] Commented: (TAPESTRY-344) Unimplemented abstract method check broken
Date Sat, 01 Oct 2005 17:18:49 GMT
    [ http://issues.apache.org/jira/browse/TAPESTRY-344?page=comments#action_12331027 ] 

Howard M. Lewis Ship commented on TAPESTRY-344:
-----------------------------------------------

I've been experimenting with beta-9.  What I've seen is that when a method is inherited from
an interface, the check is broken.  It doesn't matter whether the class extends the interface,
or whether a super-class extends the interface.

Worse, when the listener gets invoked, the unhandled Error (not Exception) bypasses Tapestry's
exception reporting.

java.lang.AbstractMethodError: $UnimplementedAbstractMethod_9.doClick()V
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
	at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:65)
	at org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
	at org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
	at org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
	at $ListenerInvoker_106ad2e2d8e.invokeListener($ListenerInvoker_106ad2e2d8e.java)
	at $ListenerInvoker_106ad2e2d8d.invokeListener($ListenerInvoker_106ad2e2d8d.java)
	at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
	at org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:144)
	at org.apache.tapestry.engine.DirectService.service(DirectService.java:130)
	at $IEngineService_106ad2e2de6.service($IEngineService_106ad2e2de6.java)
	at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:65)
	at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
	at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
	at $WebRequestServicer_106ad2e2dc3.service($WebRequestServicer_106ad2e2dc3.java)
	at org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48)
	at $WebRequestServicerFilter_106ad2e2dc5.service($WebRequestServicerFilter_106ad2e2dc5.java)
	at $WebRequestServicer_106ad2e2dc7.service($WebRequestServicer_106ad2e2dc7.java)
	at $WebRequestServicer_106ad2e2dbf.service($WebRequestServicer_106ad2e2dbf.java)
	at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
	at $ServletRequestServicer_106ad2e2da3.service($ServletRequestServicer_106ad2e2da3.java)
	at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
	at $ServletRequestServicerFilter_106ad2e2d9f.service($ServletRequestServicerFilter_106ad2e2d9f.java)
	at $ServletRequestServicer_106ad2e2da5.service($ServletRequestServicer_106ad2e2da5.java)
	at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
	at $ServletRequestServicerFilter_106ad2e2d9d.service($ServletRequestServicerFilter_106ad2e2d9d.java)
	at $ServletRequestServicer_106ad2e2da5.service($ServletRequestServicer_106ad2e2da5.java)
	at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
	at $ServletRequestServicerFilter_106ad2e2da1.service($ServletRequestServicerFilter_106ad2e2da1.java)
	at $ServletRequestServicer_106ad2e2da5.service($ServletRequestServicer_106ad2e2da5.java)
	at $ServletRequestServicer_106ad2e2d97.service($ServletRequestServicer_106ad2e2d97.java)
	at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:141)
	at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:97)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
	at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
	at org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:103)
	at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
	at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)

> Unimplemented abstract method check broken
> ------------------------------------------
>
>          Key: TAPESTRY-344
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-344
>      Project: Tapestry
>         Type: Bug
>   Components: Framework
>     Versions: 4.0
>     Reporter: Howard M. Lewis Ship
>     Assignee: Howard M. Lewis Ship

>
> Inadventently left off the implementation of a method (specified by an interface).  I
should have gotten an early exception about the unimplemented method, but instead, got a late
exception when attempting to invoke the missing method:
> org.apache.hivemind.ApplicationRuntimeException
> Failure invoking listener method 'public void com.vaisala.ww.ui.components.WizardForm.doFormSubmit()'
on $WizardForm_72@17af46e[regwiz/RegistrationWizard/wizardForm]: $Credentials_83.validateSubmission(Lorg/apache/tapestry/valid/IValidationDelegate;)V
> component: 	$WizardForm_72@17af46e[regwiz/RegistrationWizard/wizardForm]
> location: 	context:/regwiz/RegistrationWizard.html, line 3
> 1	<html jwcid="@Border">
> 2	
> 3	<div jwcid="wizardForm@WizardForm"
> 4	pageNames="regwiz/Credentials,regwiz/Contact,regwiz/Billing"/>
> 5	
> 6	</html>
>  
> java.lang.AbstractMethodError
> $Credentials_83.validateSubmission(Lorg/apache/tapestry/valid/IValidationDelegate;)V
> Stack Trace:
>     * com.vaisala.ww.ui.components.WizardForm.doFormSubmit(WizardForm.java:84)
>     * 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:183)
>     * org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:151)
>     * org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:122)
>     * org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:63)
>     * org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
>     * org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
>     * $ListenerInvoker_1047d032c35.invokeListener($ListenerInvoker_1047d032c35.java)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Mime
View raw message