JavaServer TM Faces Release Notes
Change Log

Specification Version: 1.2MR1
Implementation Version: 1.2_03-b07 FCS

New Features Added In This Release

We've added two new context initialization parameter since the release of 1.2_02
Paramter Name Description Default Value
com.sun.faces.externalizeJavaScript If true, then the JavaScript that is normally inlined by h:commandLink will instead be rendered as an external reference. This will reduce the number of bytes written to the client and allow the browser to cache the JavaScript. false
com.sun.faces.enableJSStyleHiding If true, inlined JavaScript rendered by the HTML ResponseWriter implementation will be rendered so that the script is hidden from older browser implementations. false

Issues Resolved In This Release

ID Type Pri Plat Owner State Resolution Summary
401 DEFECT P4 All youngm RESOLVED FIXED buff argument in HtmlUnits.writeURL() is never used
402 DEFECT P3 All rlubke RESOLVED FIXED Back button problems between components that submit a form
405 DEFECT P3 All edburns RESOLVED FIXED The testConverterPropertyEditor test case is failing
406 DEFECT P3 All tony_robertson RESOLVED FIXED ConverterPropertyEditor.getValue fails with h:selectOneMenu
410 DEFECT P3 Sun rlubke RESOLVED FIXED HtmlBasicRenderer.augmentIdReference augments when it shouldn't.
411 DEFECT P2 All rlubke RESOLVED FIXED Questionable escaping behavior
413 DEFECT P2 All rlubke RESOLVED FIXED SessionID lost when navigation performs a redirect.
414 DEFECT P2 All rlubke RESOLVED FIXED renderView() method in com.sun.faces.application.ViewHandlerImpl should not only expect getWriter() is always valid
415 DEFECT P3 All rlubke RESOLVED FIXED ConverterPropertyEditorFactory.generateClassNameFor doesn't work for array classes
417 DEFECT P3 All rlubke RESOLVED FIXED <f:view locale="#{pageContext.request.locale}" > StackOverFlow
418 DEFECT P3 All rlubke RESOLVED FIXED leaving itemLabel blank on f:selectItem throws NPE
423 DEFECT P2 All rlubke RESOLVED FIXED *Style attributes on h:message are not rendered
428 DEFECT P2 All rlubke RESOLVED FIXED NPE for injected bean if managed property defined in faces-config accesses injected resource
419 DEFECT P3 All rogerk RESOLVED FIXED HtmlResponseWriter should handle 'escaping' of script and style elements
431 DEFECT P3 Other rlubke RESOLVED FIXED Cross browser JS-issue for CommandLink
437 DEFECT P3 Macintos rlubke RESOLVED FIXED UIComponentClassicTagBase incorrectly handles comment content
438 DEFECT P3 All rlubke RESOLVED FIXED <h:outputLink> is outputting wrong stuff when disabled
443 DEFECT P2 All rlubke RESOLVED FIXED FacesContextImpl.getMaximumSeverity returns wrong variable
446 DEFECT P2 All rlubke RESOLVED FIXED Align ViewHandlerImpl with MR specification
447 DEFECT P2 All rlubke RESOLVED FIXED HtmlResponseWriter changes in conjunction with a4j:log results in duplicate CDATA within inlined scripts.
448 DEFECT P1 All rlubke RESOLVED FIXED Script Accomodations Invalid
442 DEFECT P3 All rlubke RESOLVED FIXED SelectMenu's don't work with mixed type selectItems
450 DEFECT P3 All rlubke RESOLVED FIXED SelectOneMenu returning "" for some null values if no converter used
452 DEFECT P3 Sun rlubke RESOLVED FIXED AssertionError in deploying a JSF war file with -ea in AS
457 DEFECT P3 All edburns RESOLVED FIXED ADF Faces 10.3.0.4 Doesn't run on JSF 1.2_03
460 DEFECT P2 All rlubke RESOLVED FIXED VariableResolverChainWrapper REENTRANT_GUARD is faulty
257 ENHANCEMENT P4 All jdlee RESOLVED FIXED Create ant macro for build.exploded.war
345 ENHANCEMENT P3 All rogerk RESOLVED FIXED NPE and performance improvements for SelectItem
440 FEATURE P3 All rlubke RESOLVED FIXED Remove string reference to java.lang.Enum from the source co
393 TASK P4 All tony_robertson RESOLVED FIXED Cleanup use of generic types
408 TASK P3 All jdlee RESOLVED FIXED Use code generation to create a bootstrapper class for defau
451 TASK P2 All rlubke RESOLVED FIXED Review all sycnronization in code

Updated Service Provider Interfaces (SPIs)

We've updated the InjectionProvider interface in order to separate the @PostConstruct invocation call from the injection call. This change is related to issue 428.
InjectionProvider.java
1    /*
2     * The contents of this file are subject to the terms
3     * of the Common Development and Distribution License
4     * (the License). You may not use this file except in
5     * compliance with the License.
6     *
7     * You can obtain a copy of the License at
8     * http://jsf.java.net/CDDL.html or
9     * legal/CDDLv1.0.txt.
10    * See the License for the specific language governing
11    * permission and limitations under the License.
12    *
13    * When distributing Covered Code, include this CDDL
14    * Header Notice in each file and include the License file
15    * at legal/CDDLv1.0.txt.
16    * If applicable, add the following below the CDDL Header,
17    * with the fields enclosed by brackets [] replaced by
18    * your own identifying information:
19    * "Portions Copyrighted [year] [name of copyright owner]"
20    *
21    * [Name of File] [ver.__] [Date]
22    *
23    * Copyright 2006 Oracle America Inc. All Rights Reserved
24    */
25   
26   package com.sun.faces.spi;
27   
28   /**
29    * <p>This interface defines an integration point for Java EE vendors.
30    * Each vendor will need to provide an implementation of this interface
31    * which will provide the JSF implementation the necessary hooks to
32    * perform resource injection.</p>  
33    *
34    * <p>The implementation of this interface *must* be thread-safe and must
35    * have a no-arg constructor.</p>
36    */
37   public interface InjectionProvider {
38   
39       /**
40        * <p>The implementation of this method must perform the following
41        * steps:
42        *    <ul>
43        *        <li>Inject the supported resources per the Servlet 2.5
44        *           specification into the provided object</li>        
45        *    </ul>
46        * </p>
47        * <p>This method <em>must not</em> invoke any methods
48        * annotated with <code>@PostConstruct</code>
49        * @param managedBean the target managed bean
50        * @throws InjectionProviderException if an error occurs during
51        *  resource injection
52        */
53       public void inject(Object managedBean) throws InjectionProviderException;
54   
55   
56       /**
57        * <p>The implemenation of this method must invoke any
58        * method marked with the <code>@PreDestroy</code> annotation
59        * (per the Common Annotations Specification).
60        * @param managedBean the target managed bean
61        * @throws InjectionProviderException if an error occurs when invoking
62        *  the method annotated by the <code>@PreDestroy</code> annotation
63        */
64       public void invokePreDestroy(Object managedBean)
65       throws InjectionProviderException;
66   
67   
68       /**
69        * <p>The implemenation of this method must invoke any
70        * method marked with the <code>@PostConstruct</code> annotation
71        * (per the Common Annotations Specification).
72        * @param managedBean the target managed bean
73        * @throws InjectionProviderException if an error occurs when invoking
74        *  the method annotated by the <code>@PostConstruct</code> annotation
75        */
76       public void invokePostConstruct(Object managedBean)
77       throws InjectionProviderException;
78   }
79