[ 
https://issues.apache.org/jira/browse/MYFACES-3786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794325#comment-13794325
 ] 

Leonardo Uribe commented on MYFACES-3786:
-----------------------------------------

In this case, since all injected artifacts are managed by JSF, it is defined 
beforehand the scope of the objects, so there is no need of update more than 
the necessary between major versions of JSF. For JSF 2.2, injection will be 
used for JSF artifacts that are application scope. 

Really say "... all implementations have to support all possible jsf-scopes 
..." is not accurate. Instead " ... CDI have to support all possible jsf-scopes 
..." because after all things are working the way they are right now. The case 
we want to solve is the injection of dependant beans, right?. Also, we are 
providing an InjectionProvider specifically designed for CDI to deal with that 
logic, so in the long term, we will be able to update the integration code.

I think it is important to keep the responsibilities in the right place. Who 
holds the instances? JSF. Who hold the context of the injected bean? CDI. What 
happen if there is no context? Things will keep working, because the context is 
only relevant for the bean container. Yes, it is true dependant beans will not 
work as expected, but all the rest will do it just fine.

In my opinion it is not a disadvantage, it is just something that belongs to 
the logic of the injection provider and specifically in the context of 
injection from a bean container, in this case CDI. 

Really in this issue we have some constraints that limits the options we have 
at hand. The best is "get married" with CDI and give it the control over JSF 
artifacts, but we already know that this is not possible o feasible, at least 
for now.

> Web Container injection support should be provided for additional lifecycle 
> artifacts (not just managed beans)
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3786
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3786
>             Project: MyFaces Core
>          Issue Type: Task
>          Components: JSR-344
>            Reporter: Leonardo Uribe
>            Assignee: Leonardo Uribe
>             Fix For: 2.2.0
>
>         Attachments: cdiELresolverWeb.zip, cdiELResolver.zip, 
> cdiPartialViewContext.war, cdiPartialViewContext.zip, cdi.patch, 
> cdiphaselistener1.patch, cdiphaselistener2.patch, cdirevised.patch, 
> cdiValidatorSource.zip, cdiValidator.war, MYFACES-3786-1.patch, 
> MYFACES-3786-2.patch
>
>
>  This issue is all about how to inject beans into jsf artifacts.
> See JSF 2.2 section 5.4.1
> The problem here is in some point we need to give the control to the 
> underlying environment to inject beans into the artifacts, but we don't know 
> much about how to properly do it, so we need to try with examples.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to