Hello,
After upgrading from Tapestry 4.0 alpha-2 to alpha-3 ive found a problem
with enhancement.
Im using Spring with Acegi in my application and some beans are proxyed
(config example is attached). When im trying to access those beans from
tapestry by adding "inject" tag in page or component spacification, im
getting an exception org.apache.hivemind.ApplicationRuntimeException
with message "Error adding property 'configurationService' to class
com.ensist.tapestry.pages.site.Home: Unable to lookup $Proxy2: $Proxy2"
Also i have my own InjectWorker (for own bindings like "config:") and
got the same error during adding field with initial value. Looks like
EnhancementOperationImpl.addInjectedField(String, Object) cant determine
required interface for proxyed spring bean, because in alpha-2
EnhancementOperationImpl.addField(String, Class, Object) works
correctly.
Stack trase is also attached
--
Roman Krutyakov
<bean id="configurationServiceTarget"
class="com.ensist.service.impl.ConfigurationServiceImpl">
<property name="moduleDao">
<ref bean="moduleDao"/>
</property>
<property name="preferenceDao">
<ref bean="preferenceDao"/>
</property>
</bean>
<bean id="configurationSecurity"
class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
<property name="authenticationManager"><ref
bean="authenticationManager"/></property>
<property name="accessDecisionManager"><ref
bean="accessDecisionManager"/></property>
<property name="objectDefinitionSource">
<value>
com.ensist.service.ConfigurationService.setPreference=ROLE_ADMIN
</value>
</property>
</bean>
<bean id="configurationService"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.ensist.service.ConfigurationService</value>
</property>
<property name="interceptorNames">
<list>
<value>configurationSecurity</value>
<value>configurationServiceTarget</value>
</list>
</property>
</bean>
Stack Trace:
* javassist.ClassPool.get(ClassPool.java:301)
*
org.apache.hivemind.service.impl.CtClassSource.getCtClass(CtClassSource.java:52)
*
org.apache.hivemind.service.impl.AbstractFab.convertClass(AbstractFab.java:83)
*
org.apache.hivemind.service.impl.ClassFabImpl.addField(ClassFabImpl.java:250)
*
org.apache.tapestry.enhance.EnhancementOperationImpl.addInjectedField(EnhancementOperationImpl.java:259)
*
org.apache.tapestry.enhance.InjectObjectWorker.performEnhancement(InjectObjectWorker.java:60)
*
$InjectEnhancementWorker_103f406927e.performEnhancement($InjectEnhancementWorker_103f406927e.java)
*
$InjectEnhancementWorker_103f406927d.performEnhancement($InjectEnhancementWorker_103f406927d.java)
*
org.apache.tapestry.enhance.DispatchToInjectWorker.invokeWorker(DispatchToInjectWorker.java:63)
*
org.apache.tapestry.enhance.DispatchToInjectWorker.performEnhancement(DispatchToInjectWorker.java:45)
*
$EnhancementWorker_103f4069265.performEnhancement($EnhancementWorker_103f4069265.java)
*
$EnhancementWorker_103f4069264.performEnhancement($EnhancementWorker_103f4069264.java)
*
$EnhancementWorker_103f406927c.performEnhancement($EnhancementWorker_103f406927c.java)
*
$EnhancementWorker_103f406925b.performEnhancement($EnhancementWorker_103f406925b.java)
*
$EnhancementWorker_103f406925a.performEnhancement($EnhancementWorker_103f406925a.java)
*
org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getComponentConstructor(ComponentConstructorFactoryImpl.java:76)
*
$ComponentConstructorFactory_103f4069246.getComponentConstructor($ComponentConstructorFactory_103f4069246.java)
*
$ComponentConstructorFactory_103f4069245.getComponentConstructor($ComponentConstructorFactory_103f4069245.java)
*
org.apache.tapestry.pageload.PageLoader.instantiatePage(PageLoader.java:533)
* org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:563)
* $IPageLoader_103f4069241.loadPage($IPageLoader_103f4069241.java)
* $IPageLoader_103f4069242.loadPage($IPageLoader_103f4069242.java)
* org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:118)
* $IPageSource_103f40691ae.getPage($IPageSource_103f40691ae.java)
* $IPageSource_103f40691ad.getPage($IPageSource_103f40691ad.java)
* org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:252)
* org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:235)
* org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:596)
* org.apache.tapestry.engine.PageService.service(PageService.java:67)
* $IEngineService_103f4069233.service($IEngineService_103f4069233.java)
*
org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:74)
*
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:65)
* org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:240)
*
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
*
$WebRequestServicer_103f406920a.service($WebRequestServicer_103f406920a.java)
*
$WebRequestServicer_103f4069209.service($WebRequestServicer_103f4069209.java)
*
$WebRequestServicer_103f4069206.service($WebRequestServicer_103f4069206.java)
*
$WebRequestServicer_103f4069205.service($WebRequestServicer_103f4069205.java)
*
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
*
$ServletRequestServicer_103f40691ea.service($ServletRequestServicer_103f40691ea.java)
*
$ServletRequestServicer_103f40691e9.service($ServletRequestServicer_103f40691e9.java)
*
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
*
$ServletRequestServicerFilter_103f40691e6.service($ServletRequestServicerFilter_103f40691e6.java)
*
$ServletRequestServicerFilter_103f40691e5.service($ServletRequestServicerFilter_103f40691e5.java)
*
$ServletRequestServicer_103f40691eb.service($ServletRequestServicer_103f40691eb.java)
*
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
*
$ServletRequestServicerFilter_103f40691e4.service($ServletRequestServicerFilter_103f40691e4.java)
*
$ServletRequestServicerFilter_103f40691e3.service($ServletRequestServicerFilter_103f40691e3.java)
*
$ServletRequestServicer_103f40691eb.service($ServletRequestServicer_103f40691eb.java)
*
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
*
$ServletRequestServicerFilter_103f40691e8.service($ServletRequestServicerFilter_103f40691e8.java)
*
$ServletRequestServicerFilter_103f40691e7.service($ServletRequestServicerFilter_103f40691e7.java)
*
$ServletRequestServicer_103f40691eb.service($ServletRequestServicer_103f40691eb.java)
*
$ServletRequestServicer_103f40691de.service($ServletRequestServicer_103f40691de.java)
*
$ServletRequestServicer_103f40691dd.service($ServletRequestServicer_103f40691dd.java)
*
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:145)
* org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:101)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
* 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)
*
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
*
net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305)
*
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
*
net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:225)
*
net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
*
net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
*
net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
*
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.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:145)
*
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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
* org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
* org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
*
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
* org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
*
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
* java.lang.Thread.run(Thread.java:595)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]