You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org> on 2008/01/24 19:54:34 UTC

[jira] Commented: (TAPESTRY-2083) Using @Inject with a primitive field fails with a "cannot find constructor" transformation error

    [ https://issues.apache.org/jira/browse/TAPESTRY-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562166#action_12562166 ] 

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

10:46:06,531 [DEBUG] ExceptionReport Finished class transformation: InternalClassTransformation[
public org.apache.tapestry.corelib.pages.ExceptionReport extends java.lang.Object
  implements org.apache.tapestry.services.ExceptionReporter, org.apache.tapestry.runtime.Component, org.apache.tapestry.runtime.RenderCommand

add default method: public void postRenderCleanup()
<default>

add default method: public void setupRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beginRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderTemplate(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderTemplate(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void beforeRenderBody(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRenderBody(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void afterRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public void cleanupRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2)
<default>

add default method: public boolean dispatchComponentEvent(org.apache.tapestry.runtime.ComponentEvent $1)
<default>

add default method: public org.apache.tapestry.ComponentResources getComponentResources()
<default>

add default method: public void containingPageDidLoad()
<default>

add default method: public void containingPageDidDetach()
<default>

add default method: public void containingPageDidAttach()
<default>

add field: protected final org.apache.tapestry.internal.InternalComponentResources _$resources;

replace method: public final org.apache.tapestry.ComponentResources getComponentResources()
return _$resources;

add method: private void _$write_analyzer(org.apache.tapestry.ioc.services.ExceptionAnalyzer $1)
throw new java.lang.RuntimeException("Field org.apache.tapestry.corelib.pages.ExceptionReport._analyzer is read-only.");

replace write _analyzer: _$write_analyzer();

add method: private void _$write_productionMode(boolean $1)
throw new java.lang.RuntimeException("Field org.apache.tapestry.corelib.pages.ExceptionReport._productionMode is read-only.");

replace write _productionMode: _$write_productionMode();

add method: private void _$write_request(org.apache.tapestry.services.Request $1)
throw new java.lang.RuntimeException("Field org.apache.tapestry.corelib.pages.ExceptionReport._request is read-only.");

replace write _request: _$write_request();

add default method: public void render(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.RenderQueue $2)
<default>

replace method: public void render(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.RenderQueue $2)
_$resources.queueRender($2);

extend method: public void postRenderCleanup()
_$resources.postRenderCleanup();

add field: private java.lang.String _$attributeName_default;

extend method: public void containingPageDidLoad()
_$attributeName_default = _attributeName;

extend method: public void containingPageDidDetach()
_attributeName = _$attributeName_default;

add field: private org.apache.tapestry.ioc.services.ExceptionInfo _$info_default;

extend method: public void containingPageDidLoad()
_$info_default = _info;

extend method: public void containingPageDidDetach()
_info = _$info_default;

add field: private java.lang.String _$propertyName_default;

extend method: public void containingPageDidLoad()
_$propertyName_default = _propertyName;

extend method: public void containingPageDidDetach()
_propertyName = _$propertyName_default;

add field: private java.lang.Throwable _$rootException_default;

extend method: public void containingPageDidLoad()
_$rootException_default = _rootException;

extend method: public void containingPageDidDetach()
_rootException = _$rootException_default;

add field: private java.util.List _$stack_default;

extend method: public void containingPageDidLoad()
_$stack_default = _stack;

extend method: public void containingPageDidDetach()
_stack = _$stack_default;

Checking field write _rootException in method reportException(): field not transformed
Checking field read _analyzer in method reportException(): field not transformed
Checking field write _stack in method reportException(): field not transformed
Checking field read _stack in method getStack(): field not transformed
Checking field read _info in method getInfo(): field not transformed
Checking field write _info in method setInfo(): field not transformed
Checking field read _propertyName in method getPropertyName(): field not transformed
Checking field write _propertyName in method setPropertyName(): field not transformed
Checking field read _info in method getShowPropertyList(): field not transformed
Checking field read _info in method getShowPropertyList(): field not transformed
Checking field read _info in method getPropertyValue(): field not transformed
Checking field read _propertyName in method getPropertyValue(): field not transformed
Checking field read _request in method getHasSession(): field not transformed
Checking field read _request in method getRequest(): field not transformed
Checking field read _request in method getSession(): field not transformed
Checking field read _attributeName in method getAttributeName(): field not transformed
Checking field write _attributeName in method setAttributeName(): field not transformed
Checking field read _attributeName in method getAttributeValue(): field not transformed
Checking field read _productionMode in method isProductionMode(): field not transformed
Checking field read _rootException in method getRootException(): field not transformed
Checking field read _$resources in method postRenderCleanup(): added method
Checking field read _attributeName in method containingPageDidLoad(): added method
Checking field write _$attributeName_default in method containingPageDidLoad(): added method
Checking field read _info in method containingPageDidLoad(): added method
Checking field write _$info_default in method containingPageDidLoad(): added method
Checking field read _propertyName in method containingPageDidLoad(): added method
Checking field write _$propertyName_default in method containingPageDidLoad(): added method
Checking field read _rootException in method containingPageDidLoad(): added method
Checking field write _$rootException_default in method containingPageDidLoad(): added method
Checking field read _stack in method containingPageDidLoad(): added method
Checking field write _$stack_default in method containingPageDidLoad(): added method
Checking field read _$attributeName_default in method containingPageDidDetach(): added method
Checking field write _attributeName in method containingPageDidDetach(): added method
Checking field read _$info_default in method containingPageDidDetach(): added method
Checking field write _info in method containingPageDidDetach(): added method
Checking field read _$propertyName_default in method containingPageDidDetach(): added method
Checking field write _propertyName in method containingPageDidDetach(): added method
Checking field read _$rootException_default in method containingPageDidDetach(): added method
Checking field write _rootException in method containingPageDidDetach(): added method
Checking field read _$stack_default in method containingPageDidDetach(): added method
Checking field write _stack in method containingPageDidDetach(): added method
Checking field read _$resources in method getComponentResources(): added method
Checking field read _$resources in method render(): added method

convert default constructor: initializer();

add constructor: org.apache.tapestry.corelib.pages.ExceptionReport(org.apache.tapestry.internal.InternalComponentResources $1, org.apache.tapestry.ioc.services.ExceptionAnalyzer $2, boolean $3, org.apache.tapestry.services.Request $4)
{
  _$resources = $1;
  _analyzer = $2;
  _productionMode = $3;
  _request = $4;
  initializer();

}

]
10:46:06,643 [WARN] Integration Test App 1 /BadTemplate: 
org.apache.tapestry.internal.services.TransformationException: Unable to add method org.apache.tapestry.runtime.Component newInstance(org.apache.tapestry.internal.InternalComponentResources) to class $Instantiator_117ad1eeb3e: [source error] cannot find constructor org.apache.tapestry.corelib.pages.ExceptionReport(org.apache.tapestry.internal.InternalComponentResources,org.apache.tapestry.ioc.services.ExceptionAnalyzer,java.lang.Boolean,org.apache.tapestry.services.Request)
	at org.apache.tapestry.internal.services.ComponentClassTransformerImpl.createInstantiator(ComponentClassTransformerImpl.java:174)
	at $ComponentClassTransformer_117ad1eeb0c.createInstantiator($ComponentClassTransformer_117ad1eeb0c.java)
	at org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:225)
	at $ComponentInstantiatorSource_117ad1eeafe.findInstantiator($ComponentInstantiatorSource_117ad1eeafe.java)
	at org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComponentElement(PageElementFactoryImpl.java:257)
	at $PageElementFactory_117ad1eeb2b.newRootComponentElement($PageElementFactory_117ad1eeb2b.java)
	at org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootComponent(PageLoaderProcessor.java:413)
	at org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:391)
	at org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60)
	at $PageLoader_117ad1eeb29.loadPage($PageLoader_117ad1eeb29.java)
	at org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache.java:188)
	at org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:107)
	at $PagePool_117ad1eeb28.checkout($PagePool_117ad1eeb28.java)
	at org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43)
	at $RequestPageCache_117ad1eeb27.get($RequestPageCache_117ad1eeb27.java)
	at $RequestPageCache_117ad1eeafb.get($RequestPageCache_117ad1eeafb.java)
	at org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:52)
	at $RequestExceptionHandler_117ad1eeb14.handleRequestException($RequestExceptionHandler_117ad1eeb14.java)
	at org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:502)
	at $RequestHandler_117ad1eeb19.service($RequestHandler_117ad1eeb19.java)
	at org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:53)
	at $RequestFilter_117ad1eeb16.service($RequestFilter_117ad1eeb16.java)
	at $RequestHandler_117ad1eeb19.service($RequestHandler_117ad1eeb19.java)
	at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
	at $RequestHandler_117ad1eeb19.service($RequestHandler_117ad1eeb19.java)
	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
	at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
	at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
	at $RequestHandler_117ad1eeb19.service($RequestHandler_117ad1eeb19.java)
	at $RequestHandler_117ad1eeb10.service($RequestHandler_117ad1eeb10.java)
	at org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:906)
	at $HttpServletRequestHandler_117ad1eeb0f.service($HttpServletRequestHandler_117ad1eeb0f.java)
	at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
	at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: java.lang.RuntimeException: Unable to add method org.apache.tapestry.runtime.Component newInstance(org.apache.tapestry.internal.InternalComponentResources) to class $Instantiator_117ad1eeb3e: [source error] cannot find constructor org.apache.tapestry.corelib.pages.ExceptionReport(org.apache.tapestry.internal.InternalComponentResources,org.apache.tapestry.ioc.services.ExceptionAnalyzer,java.lang.Boolean,org.apache.tapestry.services.Request)
	at org.apache.tapestry.ioc.internal.services.ClassFabImpl.addMethod(ClassFabImpl.java:218)
	at org.apache.tapestry.internal.services.InternalClassTransformationImpl.createInstantiator(InternalClassTransformationImpl.java:1262)
	at org.apache.tapestry.internal.services.ComponentClassTransformerImpl.createInstantiator(ComponentClassTransformerImpl.java:170)
	... 46 more
Caused by: javassist.CannotCompileException: [source error] cannot find constructor org.apache.tapestry.corelib.pages.ExceptionReport(org.apache.tapestry.internal.InternalComponentResources,org.apache.tapestry.ioc.services.ExceptionAnalyzer,java.lang.Boolean,org.apache.tapestry.services.Request)
	at javassist.CtBehavior.setBody(CtBehavior.java:367)
	at javassist.CtBehavior.setBody(CtBehavior.java:334)
	at org.apache.tapestry.ioc.internal.services.ClassFabImpl.addMethod(ClassFabImpl.java:211)
	... 48 more
Caused by: compile error: cannot find constructor org.apache.tapestry.corelib.pages.ExceptionReport(org.apache.tapestry.internal.InternalComponentResources,org.apache.tapestry.ioc.services.ExceptionAnalyzer,java.lang.Boolean,org.apache.tapestry.services.Request)
	at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
	at javassist.compiler.TypeChecker.atNewExpr(TypeChecker.java:148)
	at javassist.compiler.ast.NewExpr.accept(NewExpr.java:72)
	at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
	at javassist.compiler.CodeGen.compileExpr(CodeGen.java:228)
	at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:597)
	at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424)
	at javassist.compiler.CodeGen.atStmnt(CodeGen.java:362)
	at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
	at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:291)
	at javassist.compiler.Javac.compileBody(Javac.java:222)
	at javassist.CtBehavior.setBody(CtBehavior.java:360)
	... 50 more

> Using @Inject with a primitive field fails with a "cannot find constructor" transformation error
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2083
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2083
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.9
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>
> Found this while working on TAPESTRY-1843, and its related to TAPESTRY-2049.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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