jsr372-experts@javaserverfaces-spec-public.java.net

[jsr372-experts] URGENT [1416] javax.faces.ENABLE_CDI_RESOLVER_CHAIN replaced by @FacesConfig

From: Edward Burns <edward.burns_at_oracle.com>
Date: Fri, 13 Jan 2017 11:29:43 -0800

>>>>> On Thu, 12 Jan 2017 23:51:34 +0100, arjan tijms <arjan.tijms_at_gmail.com> said:

AT> Some more detail about @FacesConfig and why this replaced (instead of
AT> augmented) javax.faces.ENABLE_CDI_RESOLVER_CHAIN.

>>>>> On Fri, 13 Jan 2017 10:41:46 -0800, Edward Burns <edward.burns_at_oracle.com> said:

EB> I discussed this with Arjan over IM and we agreed on the following
EB> action plan.

EB> 1. Ed will remove the ContextParameter part of FacesConfig.

EB> 2. Ed will specify the version portion of FacesConfig.

EB> 3. Ed will commit his (currently failing due to incomplete
EB> implementation) automated test, but not hook it up to the build.

EB> 4. Bauke and or Arjan will perform the implementation work to make that
EB> test pass and also add some other tests, wiring all those tests to the
EB> build.

After discussing this with Manfred, I need to make a change on parts 3
and 4. We have decided to scale back the ambition of @FacesConfig for
JSF 2.3. Here is the specification for 2.3:

/**
 * <p class="changed_added_2_3">The presence of this annotation on a managed
 * bean deployed within an application causes version specific features
 * to be enabled as specified in the enum {_at_see Version}</p>
 */

@Qualifier
@Target(TYPE)
@Retention(RUNTIME)
public @interface FacesConfig {

    public static enum Version {

        /**
         * <p clss="changed_added_2_3">This value indicates CDI should be used
         * for EL resolution as well as enabling JSF CDI injection, as specified
         * in Section 5.6.3 "CDI for EL Resolution" and Section 5.9 "CDI Integration".</p>
         */
        JSF_2_3

    }

    /**
     * <p class="changed_added_2_3">The value of this attribute indicates that
     * features corresponding to this version must be enabled for this application.</p>
     * @return the spec version for which the features must be enabled.
     */
    @Nonbinding Version version() default Version.JSF_2_3;

}

I am going to remove the test I added in step 3. We can completely drop
step 4. I will make the necessary changes to the spec FrameMaker
document.

Ed

-- 
| edward.burns_at_oracle.com | office: +1 407 458 0017
|  6 business days until planned start of JSF 2.3 Public Review
| 26 business days until DevNexus 2017
| 51 business days until JavaLand 2017