You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Dave Greggory <da...@yahoo.com> on 2009/10/12 17:18:05 UTC

Tapestry5.1 Upgrade Issue

I'm trying to upgrade to Tapestry 5.1 from 5.0.18. The Select field component is giving me some errors.

I'm using a Spring application context that is externally maintained (tapestry.use-external-spring-context) and have 4 instances of java.util.Locale (named locale_DE,
locale_FR, locale_UK, locale_US) configured in the applicationContext. It seems that Tapestry borks when it tries to inject a Locale to Select component because there are two to choose from. How can I fix this (I cannot remove those 4 Locale configurations, they are required for an existing non-Tapestry application)? Why is Tapestry trying to ask Spring applicationContext for Locale?

Render queue error in
SetupRender[LayoutBlocks:hbflayout]: Exception
assembling root component of page ComponentBlocks:
Exception assembling embedded component 'signupFormComponent' (of type
com.example.components.form.SignupFormComponent, within ComponentBlocks): Failure creating embedded component
'layoutSelectField' of
com.example.components.ComponentEditorPanel:
java.lang.ClassNotFoundException: caught an exception while obtaining a
class file for org.apache.tapestry5.corelib.components.Select

	* java.lang.ClassNotFoundException
caught an exception while obtaining a class file for org.apache.tapestry5.corelib.components.Select
exception
org.apache.tapestry5.internal.services.TransformationException:
Error obtaining injected value for field
org.apache.tapestry5.corelib.components.Select.locale: Spring context
contains 4 beans assignable to type java.util.Locale: locale_DE,
locale_FR, locale_UK, locale_US.
	* org.apache.tapestry5.internal.spring.SpringModuleDef$4$1.provide(SpringModuleDef.java:258) 
	* org.apache.tapestry5.internal.spring.SpringModuleDef$4$2$1.invoke(SpringModuleDef.java:274) 
	* org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) 
	* org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) 
	* org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) 
	* org.apache.tapestry5.internal.spring.SpringModuleDef$4$2.provide(SpringModuleDef.java:268) 
	* org.apache.tapestry5.internal.spring.SpringModuleDef$4$3.provide(SpringModuleDef.java:290) 
	* org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) 
	* org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) 
	* org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) 
	* org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) 
	* org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) 
	* $MasterObjectProvider_1244929e11f.provide($MasterObjectProvider_1244929e11f.java) 
	* org.apache.tapestry5.internal.services.DefaultInjectionProvider.provideInjection(DefaultInjectionProvider.java:58) 
	* $InjectionProvider_1244929e193.provideInjection($InjectionProvider_1244929e193.java) 
	* $InjectionProvider_1244929e18b.provideInjection($InjectionProvider_1244929e18b.java) 
	* org.apache.tapestry5.internal.transform.InjectWorker.transform(InjectWorker.java:57) 
	* $ComponentClassTransformWorker_1244929e191.transform($ComponentClassTransformWorker_1244929e191.java) 
	* $ComponentClassTransformWorker_1244929e187.transform($ComponentClassTransformWorker_1244929e187.java) 
	* org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:170) 
	* $ComponentClassTransformer_1244929e13e.transformComponentClass($ComponentClassTransformer_1244929e13e.java) 
	* org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:205) 
	* javassist.Loader.findClass(Loader.java:340) 
	* org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:94) 
	* javassist.Loader.loadClass(Loader.java:311) 
	* java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
	* org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:296) 



      

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


Re: Tapestry5.1 Upgrade Issue

Posted by Dave Greggory <da...@yahoo.com>.

I created a bug (https://issues.apache.org/jira/browse/TAP5-892).

So when I use tapestry-spring-5.0.18 with Tapestry 5.1.0.5, it works fine. Whatever the problem is, it seems to have been introduced in the new version of tapestry-spring. Hopefully, this can get fixed soon. :)


      

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


Re: Tapestry5.1 Upgrade Issue

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Mon, 12 Oct 2009 17:57:09 -0300, Dave Greggory <da...@yahoo.com>  
escreveu:

> Does any one have any ideas on why this is happening? Shouldn't tapestry  
> be looking at the request to see which Locale it is for?

It does, but Tapestry adds Locale as something that is @Inject'able, not  
explecting to have Locales as beans/services. Please post a JIRA about it,  
at it does seem to me as a bug.

-- 
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

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


Re: Tapestry5.1 Upgrade Issue

Posted by Dave Greggory <da...@yahoo.com>.
Does any one have any ideas on why this is happening? Shouldn't tapestry be looking at the request to see which Locale it is for? Why is it going into Spring's application context? I'm not sure where to even start. 

I'm going try Tap 5.1 with tapestry-spring 5.0.18 to see whether that works. It wouldn't be ideal to only do a partial upgrade but I'll try it until I get any replies.




----- Original Message ----
From: Dave Greggory <da...@yahoo.com>
To: Tapestry users <us...@tapestry.apache.org>
Sent: Mon, October 12, 2009 11:18:05 AM
Subject: Tapestry5.1 Upgrade Issue

I'm trying to upgrade to Tapestry 5.1 from 5.0.18. The Select field component is giving me some errors.

I'm using a Spring application context that is externally maintained (tapestry.use-external-spring-context) and have 4 instances of java.util.Locale (named locale_DE,
locale_FR, locale_UK, locale_US) configured in the applicationContext. It seems that Tapestry borks when it tries to inject a Locale to Select component because there are two to choose from. How can I fix this (I cannot remove those 4 Locale configurations, they are required for an existing non-Tapestry application)? Why is Tapestry trying to ask Spring applicationContext for Locale?

Render queue error in
SetupRender[LayoutBlocks:hbflayout]: Exception
assembling root component of page ComponentBlocks:
Exception assembling embedded component 'signupFormComponent' (of type
com.example.components.form.SignupFormComponent, within ComponentBlocks): Failure creating embedded component
'layoutSelectField' of
com.example.components.ComponentEditorPanel:
java.lang.ClassNotFoundException: caught an exception while obtaining a
class file for org.apache.tapestry5.corelib.components.Select

    * java.lang.ClassNotFoundException
caught an exception while obtaining a class file for org.apache.tapestry5.corelib.components.Select
exception
org.apache.tapestry5.internal.services.TransformationException:
Error obtaining injected value for field
org.apache.tapestry5.corelib.components.Select.locale: Spring context
contains 4 beans assignable to type java.util.Locale: locale_DE,
locale_FR, locale_UK, locale_US.
    * org.apache.tapestry5.internal.spring.SpringModuleDef$4$1.provide(SpringModuleDef.java:258) 
    * org.apache.tapestry5.internal.spring.SpringModuleDef$4$2$1.invoke(SpringModuleDef.java:274) 
    * org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) 
    * org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) 
    * org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) 
    * org.apache.tapestry5.internal.spring.SpringModuleDef$4$2.provide(SpringModuleDef.java:268) 
    * org.apache.tapestry5.internal.spring.SpringModuleDef$4$3.provide(SpringModuleDef.java:290) 
    * org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) 
    * org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) 
    * org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) 
    * org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) 
    * org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) 
    * $MasterObjectProvider_1244929e11f.provide($MasterObjectProvider_1244929e11f.java) 
    * org.apache.tapestry5.internal.services.DefaultInjectionProvider.provideInjection(DefaultInjectionProvider.java:58) 
    * $InjectionProvider_1244929e193.provideInjection($InjectionProvider_1244929e193.java) 
    * $InjectionProvider_1244929e18b.provideInjection($InjectionProvider_1244929e18b.java) 
    * org.apache.tapestry5.internal.transform.InjectWorker.transform(InjectWorker.java:57) 
    * $ComponentClassTransformWorker_1244929e191.transform($ComponentClassTransformWorker_1244929e191.java) 
    * $ComponentClassTransformWorker_1244929e187.transform($ComponentClassTransformWorker_1244929e187.java) 
    * org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:170) 
    * $ComponentClassTransformer_1244929e13e.transformComponentClass($ComponentClassTransformer_1244929e13e.java) 
    * org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:205) 
    * javassist.Loader.findClass(Loader.java:340) 
    * org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:94) 
    * javassist.Loader.loadClass(Loader.java:311) 
    * java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
    * org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:296) 



      

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


      


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