[
https://issues.jboss.org/browse/SEAMFACES-165?page=com.atlassian.jira.plu...
]
Christian Kaltepoth commented on SEAMFACES-165:
-----------------------------------------------
I did some more research on this. Actually this seems to be a bug in Weld 1.1.0 and not in
Seam Faces. Let me explain:
{{SeamApplicationWrapper}} waits for the {{PostConstructApplicationEvent}} and then
obtains the {{ApplicationFactory}} from the {{FactoryFinder}}. Then it calls
{{ApplicationFactory.setApplication()}} to install the Seam Faces wrapper.
With MyFaces the {{SeamApplicationWrapper}} gets the {{WeldApplicationFactory}} from the
{{FactoryFinder}}. Unfortunately {{SeamApplicationWrapper}} ignores calls to
{{setApplication()}} and simply delegates them to the underlying {{ApplicationFactory}}.
The problem here is that {{SeamApplicationWrapper}} already holds a reference to the
{{Application}} instance that it returns for {{getApplication()}} and doesn't update
this reference when {{setApplication()}} is called. Therefore {{SeamApplicationWrapper}}
will return the old {{Application}} instance on future calls to {{getApplication()}}.
See the code of {{WeldApplicationFactory}}:
https://github.com/weld/core/blob/master/environments/servlet/core/src/ma...
For Mojarra the situation is a bit different. When using Mojarra Seam Faces calls
{{setApplication()}} on Mohjarra's {{InjectionApplicationFactory}}, which wraps
{{SeamApplicationWrapper}}. As {{InjectionApplicationFactory}} implements
{{setApplication()}} correctly, the bug doesn't occur on Mojarra.
Does this sound reasonable? If you agree to my explanation I could open a ticket for Weld
regarding this.
@Inject for Validators doesn't work with MyFaces
------------------------------------------------
Key: SEAMFACES-165
URL:
https://issues.jboss.org/browse/SEAMFACES-165
Project: Seam Faces
Issue Type: Bug
Components: Validation & Conversion
Affects Versions: 3.0.1
Environment: Tomcat 7.0.8, MyFaces 2.0.5, Weld 1.1.0
Reporter: Christian Kaltepoth
@Inject doesn't work for validators when using MyFaces. The fields are always null.
If I run the application with Mojarra instead of MyFaces everything works fine.
I'm note completely sure if it is a Seam Faces or a MyFaces issue.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira