Details

    • Type: Task Task
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2.0-m10
    • Component/s: facelets
    • Labels:
      None

      Description

      This is the task to track implementation work for JAVASERVERFACES_SPEC_PUBLIC-971

        Issue Links

          Activity

          Ed Burns logged work - 14/Nov/12 4:00 AM
          • Time Spent:
            1 hour
             
            checkpoint.
          Ed Burns logged work - 15/Nov/12 9:55 PM
          • Time Spent:
            4 hours, 20 minutes
             
            Snapshot.
          Ed Burns logged work - 16/Nov/12 3:53 AM
          • Time Spent:
            1 hour, 13 minutes
             
            SECTION: Modified Files
            ----------------------------
            M jsf-api/src/main/java/javax/faces/application/ResourceHandler.java

            - Add context param to customize the name of the directory in the webapp
              root for resource library contracts.

            M jsf-ri/src/main/java/com/sun/faces/application/ApplicationAssociate.java

            - In PostConstructApplicationListener, eagerly create the
              ViewDeclarationLanguage impl for facelets. This is necessary because
              the ctor for our ViewDeclarationLanguage now needs to become aware of
              the resource library contracts data structure.

            - Add getResourceLibraryContracts(), which will eventually return the mappings
              as read from the application configuration resources.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java

            - Implement the part of the spec that requires first looking in
              contracts/<contractName> for every specified contract.

            M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java

            - Implement the most basic of the requirements for createView()

            - In initialize(), now guaranteed to be called at startup, become aware
              of the resource library contracts data structure.

            M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

            - In doPostBuildActions(), which will only be called if the application
              configuration resources parsed successfully, implement the webapp root
              portion of the spec wrt contracts. Also implements the resource
              library contracts data structure requirements, but I can't test this
              yet because I don't have the code tha parses the relevant XML written
              yet.

            M jsf-ri/src/main/java/com/sun/faces/config/InitFacesContext.java

            - Make sure the viewroot of the initfacescontext has a viewid.

            M test/agnostic/vdl/facelets/pom.xml
            A test/agnostic/vdl/facelets/contracts
            A test/agnostic/vdl/facelets/contracts/basic
            A test/agnostic/vdl/facelets/contracts/basic/nbactions.xml
            A test/agnostic/vdl/facelets/contracts/basic/src
            A test/agnostic/vdl/facelets/contracts/basic/src/test
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            A test/agnostic/vdl/facelets/contracts/basic/src/main
            A test/agnostic/vdl/facelets/contracts/basic/src/main/java
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/default.css
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/cssLayout.css
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/leftNav_foo.xhtml
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/topNav_Template.xhtml
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/index.xhtml
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF/web.xml
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF/glassfish-web.xml
            A test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/page2.xhtml
            A test/agnostic/vdl/facelets/contracts/basic/pom.xml
            A test/agnostic/vdl/facelets/contracts/pom.xml
            A test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic/Issue2511IT.java

            - New test content.

            Sending jsf-api/src/main/java/javax/faces/application/ResourceHandler.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/ApplicationAssociate.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java
            Sending jsf-ri/src/main/java/com/sun/faces/config/InitFacesContext.java
            Sending jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java
            Adding test/agnostic/vdl/facelets/contracts
            Adding test/agnostic/vdl/facelets/contracts/basic
            Adding test/agnostic/vdl/facelets/contracts/basic/nbactions.xml
            Adding test/agnostic/vdl/facelets/contracts/basic/pom.xml
            Adding test/agnostic/vdl/facelets/contracts/basic/src
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/java
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF/glassfish-web.xml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/WEB-INF/web.xml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/cssLayout.css
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/default.css
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/leftNav_foo.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/topNav_Template.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/index.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/page2.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic
            Adding test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic/Issue2511IT.java
            Adding test/agnostic/vdl/facelets/contracts/pom.xml
            Sending test/agnostic/vdl/facelets/pom.xml
            Transmitting file data ...................
            Committed revision 11015.
          Ed Burns logged work - 16/Nov/12 9:21 PM
          • Time Spent:
            3 hours, 25 minutes
             

            - Make it so resources declared in contracts get resolved correctly. For example

            This file is:

            M test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/topNav_Template.xhtml

            <html xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:ui="http://java.sun.com/jsf/facelets"
                  xmlns:h="http://java.sun.com/jsf/html">

                <h:head>
                    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                    <h:outputStylesheet id="default" name="default.css" />
                    <h:outputStylesheet name="cssLayout.css" />
                    <title><ui:insert name="title"></ui:insert></title>
                </h:head>

                <h:body>

                    <div id="top" class="top">
                        <p>Top Navigation Menu</p>
                        <ui:insert name="nav">Nav content</ui:insert>
                    </div>

                    <div id="content" class="center_content">
                        <ui:insert name="content">Content</ui:insert>
                    </div>

                </h:body>

            </html>

            And now those stylesheets work.

            SECTION: Modified Files
            ----------------------------
            M jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java

            - Make this class package private, no longer public.

            - Add

            + public abstract String getBaseContractsPath();

            - Modify findResource() to work with contracts.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceHelper.java

            - Make this class package private, no longer public.

            - Add

            + public abstract String getBaseContractsPath();

            - When constructing a ClientResourceInfo(), pass the in the contract (null or not)

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceInfo.java
            M jsf-ri/src/main/java/com/sun/faces/application/resource/ClientResourceInfo.java

            - Make this class package private, no longer public.

            - Account for contract ivar.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceImpl.java

            - in getRequestPath(), implement the tagging on of the con= query
              param. This is what makes resource rendering work when the resource is
              in a contract.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java

            - Pass out the contract Id from findResourceInfoConsideringContracts().
              This is necessary so we can pass it into the FaceletResourceInfo.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletResourceInfo.java

            - Make this class package private, no longer public.
            M jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java

            - Account for ctor changes.

            M test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic/Issue2511IT.java
            M test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/topNav_Template.xhtml

            - New test content, including loading and inspecting the actual CSS.

            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClientResourceInfo.java
            Adding jsf-ri/src/main/java/com/sun/faces/application/resource/ContractInfo.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletResourceInfo.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceImpl.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceInfo.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java
            Sending test/agnostic/vdl/facelets/contracts/basic/src/main/webapp/contracts/siteLayout/topNav_Template.xhtml
            Sending test/agnostic/vdl/facelets/contracts/basic/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic/Issue2511IT.java
            Transmitting file data ...........
            Committed revision 11021.
          Ed Burns logged work - 21/Nov/12 8:24 AM
          • Time Spent:
            1 hour, 8 minutes
             
            Loading contracts from zip works


            SECTION: Modified Files
            ----------------------------
            M jsf-api/src/main/java/javax/faces/application/ResourceHandler.java

            - Add new constant:

                /**
                 * <p class="changed_modified_2_2">The name of the marker file that
                 * the implementation must scan for, within sub-directories
                 * <code>META-INF/contracts</code>, to identify the set of available
                 * resource library contracts.</p>

                 * @since 2.2
                 */

                public static final String RESOURCE_CONTRACT_XML = "javax.faces.template.xml";

            M jsf-ri/src/main/java/com/sun/faces/facelets/util/Classpath.java

            - Performance optimization: make it possible for the caller to terminate
              the search on first match. By default the search finds all matches.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            M jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

            - Changes necessary for loading facelets from contracr jars

            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/nbactions.xml
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar/Issue2511IT.java
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/java
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/resources
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/index.xhtml
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF/web.xml
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF/glassfish-web.xml
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/page2.xhtml
            A test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/pom.xml
            M test/agnostic/vdl/facelets/contracts/pom.xml
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/javax.faces.template.xml
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/default.css
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/cssLayout.css
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/leftNav_foo.xhtml
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/topNav_Template.xhtml
            A test/agnostic/vdl/facelets/contracts/basic_contract_jar/pom.xml

            - New test content

            Sending jsf-api/src/main/java/javax/faces/application/ResourceHandler.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/util/Classpath.java
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/nbactions.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/pom.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/java
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/resources
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF/glassfish-web.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/WEB-INF/web.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/index.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/main/webapp/page2.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_in_jar/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/basic_in_jar/Issue2511IT.java
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/pom.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/cssLayout.css
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/default.css
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/javax.faces.template.xml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/leftNav_foo.xhtml
            Adding test/agnostic/vdl/facelets/contracts/basic_contract_jar/src/main/resources/META-INF/contracts/siteLayout/topNav_Template.xhtml
            Sending test/agnostic/vdl/facelets/contracts/pom.xml
            Transmitting file data ...................
            Committed revision 11026.
          Ed Burns logged work - 21/Nov/12 3:58 PM
          • Time Spent:
            15 minutes
             

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java

            PMD
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java
            Transmitting file data ..
            Committed revision 11033.
          Ed Burns logged work - 11/Dec/12 8:46 PM
          • Time Spent:
            3 hours, 30 minutes
             
            Author: Frank Caputo and Ed Burns

            Frank, it's very important that we tie up the loose ends you have
            flagged with FCAPUTO in this code. I've surrounded each of them with
            PENDING() to match our convention.

            SECTION: API Changes
            --------------------

            M jsf-api/src/main/java/javax/faces/component/UIViewRoot.java
            M jsf-api/src/main/java/javax/faces/context/FacesContext.java
            M jsf-api/src/main/java/javax/faces/context/FacesContextWrapper.java
            M integrationWithFacelets.fm
            M applicationIntegration.fm

            - At Frank's suggestion, move the resourceLibraryContracts property from
              being on the UIViewRoot to being on the FacesContext.

            M jsf-api/src/main/java/javax/faces/application/ViewHandler.java

            - Update section references to account for new head2 section on
              FlowHandler in chapter 7.

            M jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java

            - Flag createView() as having changed in 2.2.

            M jsf-api/src/main/java/javax/faces/webapp/FacesServlet.java

            - Instead of "starts with" now use "contains" with respect to WEB-INF
              and META-INF in the path.


            SECTION: Modified Files
            ----------------------------
            M jsf-ri/src/main/java/com/sun/faces/facelets/impl/DefaultFaceletFactory.java

            - has now a cache per contracts (i.e. the cache key is the complete list).

            - relativeLocations are no longer cached (see my comment in the code).

            - the cache per contracts doesn't honor
              com.sun.faces.config.WebConfiguration.WebContextInitParameter#FaceletCache
              (it uses FaceletCacheFactory)

            - needsToBeRefreshed returns true if any cache doesn't have the facelet (I'm sure this is wrong)

            M jsf-ri/src/main/java/com/sun/faces/facelets/impl/DefaultFacelet.java

            - relativeLocations are no longer cached.

            M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java

            - Don't just call my calculateResourceLibraryContracts(). Instead, get
              the VDL from the VH and call that, which may be the same thing, but
              will not be in the case that method is decorated.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceManager.java

            - Make it so the contracts are considered for caching.

            M jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceCache.java

            - The keys of MultiKeyConcurrentHashMap are now Object, because Frank
              added List<String> as the fourth cache key.

            M jsf-ri/src/main/java/com/sun/faces/context/FacesContextImpl.java
            M jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            M jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java
            M jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java

            - Account for the new home of the resourceLibraryContracts property.

            A test/agnostic/vdl/facelets/contracts/vhosts
            A test/agnostic/vdl/facelets/contracts/vhosts/src
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/vhosts
            A test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/vhosts/Issue2511IT.java
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts/vhosts
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts/vhosts/VDLFactory.java
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host2
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host2/template.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host3
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host3/index.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host4
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host4/index.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/header.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/css
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/css/layout.css
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/index.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/header.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/template.xhtml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/faces-config.xml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/web.xml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/glassfish-web.xml
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources/css
            A test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources/css/layout.css
            A test/agnostic/vdl/facelets/contracts/vhosts/pom.xml
            A test/agnostic/vdl/facelets/contracts/pom.xml

            - new test content.

            Sending jsf-api/src/main/java/javax/faces/application/ViewHandler.java
            Sending jsf-api/src/main/java/javax/faces/component/UIViewRoot.java
            Sending jsf-api/src/main/java/javax/faces/context/FacesContext.java
            Sending jsf-api/src/main/java/javax/faces/context/FacesContextWrapper.java
            Sending jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java
            Sending jsf-api/src/main/java/javax/faces/webapp/FacesServlet.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/FaceletWebappResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceCache.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceManager.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java
            Sending jsf-ri/src/main/java/com/sun/faces/context/FacesContextImpl.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/impl/DefaultFacelet.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/impl/DefaultFaceletFactory.java
            Sending test/agnostic/vdl/facelets/contracts/pom.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/nbactions.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/pom.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts/vhosts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/java/com/sun/faces/test/vdl/facelets/contracts/vhosts/VDLFactory.java
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/faces-config.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/glassfish-web.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/WEB-INF/web.xml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/css
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/css/layout.css
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host1/header.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host2
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host2/template.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host3
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host3/index.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host4
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/contracts/host4/index.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/header.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/index.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources/css
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/resources/css/layout.css
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/main/webapp/template.xhtml
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/vhosts
            Adding test/agnostic/vdl/facelets/contracts/vhosts/src/test/java/com/sun/faces/test/agnostic/vdl/facelets/contracts/vhosts/Issue2511IT.java
            Transmitting file data ................................
            Committed revision 11161.
          Ed Burns logged work - 14/Dec/12 6:31 PM
          • Time Spent:
            10 minutes
             
            M jsf-ri/src/main/java/com/sun/faces/context/FacesContextImpl.java

            - Doug's testing regime noted that {get,set}ResourceLibraryContracts()
              does not assertNotReleased().
            Sending jsf-ri/src/main/java/com/sun/faces/context/FacesContextImpl.java
            Transmitting file data .
            Committed revision 11175.
          Ed Burns logged work - 24/Jan/13 8:43 PM
          • Time Spent:
            40 minutes
             
            M jsf-api/doc/web-facesconfig_2_2.xsd

            - Manfred noticed a cardinality error for the contract-mapping within
              resource-library-contracts. It should be 1..*.

            M jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java

            - Fix spec section number.
            Sending jsf-api/doc/web-facesconfig_2_2.xsd
            Sending jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java
            Transmitting file data ..
            Committed revision 11451.
          Ed Burns logged work - 24/Jan/13 9:12 PM
          • Time Spent:
            40 minutes
             
            M applicationIntegration.fm

            - 7.7.2.2 calculateResourceLibraryContracts() specify ordering.

            M usingFacesInWebapps.fm

            - 11.4.2.1 specify valid contents of <url-pattern>
            Sending applicationIntegration.fm
            Sending usingFacesInWebapps.fm
            Transmitting file data ..
            Committed revision 1106.
          Ed Burns logged work - 25/Jan/13 2:58 PM
          • Time Spent:
            15 minutes
             
            M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java

            - modify calculateResourceLibraryContracts() to return the empty list if
              no contracts have been configured.

            M jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java

            - in calculateResourceLibraryContracts() clarify that if there is no
              match, the empty list is returned.
            Sending jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java
            Sending jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java
            Transmitting file data ..
            Committed revision 11455.

            People

            • Assignee:
              Ed Burns
              Reporter:
              Ed Burns
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 3 days Original Estimate - 3 days
                3d
                Remaining:
                Time Spent - 16 hours, 36 minutes Remaining Estimate - 3 days
                3d
                Logged:
                Time Spent - 16 hours, 36 minutes Remaining Estimate - 3 days
                16h 36m