ICEfaces
  1. ICEfaces
  2. ICE-3533

Make inputFile work with state saving

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8DR#1
    • Fix Version/s: 1.8DR#2, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      Because of state saving, and the component tree not persisting, we have to come up with a strategy to make the inputFile component function. And hopefully address some of its current short-comings.

      Right now the UploadServer (servlet) assumes it can just lookup the appropriate View, and get the UIViewRoot (component tree) from there, and maintain state about the uploading within the InputFile component. Since we won't have a component tree sitting around anymore, we'll need to maintain the uploading state elsewhere, and then have a mechanism of initiating a lifecycle, in which the InputFile component will exist, and any beans will be accessible, and then do progress notifications.

        Issue Links

          Activity

          Mark Collette created issue -
          Mark Collette made changes -
          Field Original Value New Value
          Assignee Mark Collette [ mark.collette ]
          Mark Collette made changes -
          Summary Make inputFile work Make inputFile work with state saving
          Ken Fyten made changes -
          Fix Version/s 1.8DR#2 [ 10142 ]
          Ken Fyten made changes -
          Link This issue blocks ICE-3442 [ ICE-3442 ]
          Deryk Sinotte made changes -
          Link This issue is duplicated by ICE-3694 [ ICE-3694 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #17982 Thu Dec 04 15:23:02 MST 2008 mark.collette ICE-3533 : Make inputFile work with state saving
          Files Changed
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/UploadConfig.java
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/FileUploadInvalidNamePatternException.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/inputfile/InputFile.java
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/FileUploadPhaseListener.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/conf/META-INF/faces-config.xml
          Commit graph DEL /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/FileUploadComponent.java
          Commit graph ADD /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/inputfile/InputFileSetFileEvent.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/conf/just-ice/faces-config.xml
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile
          Commit graph MODIFY /icefaces/trunk/icefaces/samples/component-showcase/common-web/WEB-INF/includes/examples/custom/inputFile.jspx
          Commit graph MODIFY /icefaces/trunk/icefaces/samples/component-showcase/common-src/org/icefaces/application/showcase/view/bean/examples/component/inputFile/InputFileController.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/core/UploadServer.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/UploadStateHolder.java
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/FileInfo.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/inputfile/InputFileRenderer.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/resources/messages.properties
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/common/standard/StringContentHandler.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/resources/messages_fr.properties
          Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/component/inputfile/FileUploadUnspecifiedNameException.java
          Commit graph MODIFY /icefaces/trunk/icefaces/samples/component-showcase/common-src/org/icefaces/application/showcase/view/bean/examples/component/inputFile/InputFileData.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/resources/messages_es.properties
          Commit graph DEL /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/inputfile/FileInfo.java
          Commit graph MODIFY /icefaces/trunk/icefaces/component-metadata/src/main/resources/conf/ice_cust_properties/cust-inputFile-props.xml
          Hide
          Mark Collette added a comment -

          Now, all accesses to the inputFile component, to update its state, fire its listeners, are done within JSF Lifecycles, to function with a non-persistent component tree when using state saving, as well as to better work in Seam/Spring environments.

          For documentation, we should note the addition of the com.icesoft.faces.uniqueFolder context param, with a default value of false, which mirros the attribute on the inputFile component. The context-param sets a global default value, which the inputFile attribute can override.

          There's an outstanding bug, ICE-3842, which is being worked on right now. So if a regression is found, that should be looked at first.

          Subversion 17982
          icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-inputFile-props.xml
          icefaces\component\src\com\icesoft\faces\component\inputfile\InputFile.java
          icefaces\component\src\com\icesoft\faces\component\inputfile\InputFileRenderer.java
          icefaces\component\src\com\icesoft\faces\component\inputfile\InputFileSetFileEvent.java
          icefaces\component\src\com\icesoft\faces\component\inputfile\FileInfo.java
          icefaces\component\src\com\icesoft\faces\resources\messages.properties
          icefaces\component\src\com\icesoft\faces\resources\messages_es.properties
          icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties
          icefaces\core\conf\just-ice\faces-config.xml
          icefaces\core\conf\META-INF\faces-config.xml
          icefaces\core\src\com\icesoft\faces\component\inputfile\FileInfo.java
          icefaces\core\src\com\icesoft\faces\component\FileUploadComponent.java
          icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadInvalidNamePatternException.java
          icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadPhaseListener.java
          icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadUnspecifiedNameException.java
          icefaces\core\src\com\icesoft\faces\component\inputfile\UploadConfig.java
          icefaces\core\src\com\icesoft\faces\component\inputfile\UploadStateHolder.java
          icefaces\core\src\com\icesoft\faces\webapp\http\core\UploadServer.java
          icefaces\core\src\com\icesoft\faces\webapp\xmlhttp\PersistentFacesState.java
          icefaces\core\src\com\icesoft\faces\webapp\http\common\standard\StringContentHandler.java
          icefaces\samples\component-showcase\common-src\org\icefaces\application\showcase\view\bean\examples\component\inputFile\InputFileController.java
          icefaces\samples\component-showcase\common-src\org\icefaces\application\showcase\view\bean\examples\component\inputFile\InputFileData.java
          icefaces\samples\component-showcase\common-web\WEB-INF\includes\examples\custom\inputFile.jspx

          Show
          Mark Collette added a comment - Now, all accesses to the inputFile component, to update its state, fire its listeners, are done within JSF Lifecycles, to function with a non-persistent component tree when using state saving, as well as to better work in Seam/Spring environments. For documentation, we should note the addition of the com.icesoft.faces.uniqueFolder context param, with a default value of false, which mirros the attribute on the inputFile component. The context-param sets a global default value, which the inputFile attribute can override. There's an outstanding bug, ICE-3842 , which is being worked on right now. So if a regression is found, that should be looked at first. Subversion 17982 icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-inputFile-props.xml icefaces\component\src\com\icesoft\faces\component\inputfile\InputFile.java icefaces\component\src\com\icesoft\faces\component\inputfile\InputFileRenderer.java icefaces\component\src\com\icesoft\faces\component\inputfile\InputFileSetFileEvent.java icefaces\component\src\com\icesoft\faces\component\inputfile\FileInfo.java icefaces\component\src\com\icesoft\faces\resources\messages.properties icefaces\component\src\com\icesoft\faces\resources\messages_es.properties icefaces\component\src\com\icesoft\faces\resources\messages_fr.properties icefaces\core\conf\just-ice\faces-config.xml icefaces\core\conf\META-INF\faces-config.xml icefaces\core\src\com\icesoft\faces\component\inputfile\FileInfo.java icefaces\core\src\com\icesoft\faces\component\FileUploadComponent.java icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadInvalidNamePatternException.java icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadPhaseListener.java icefaces\core\src\com\icesoft\faces\component\inputfile\FileUploadUnspecifiedNameException.java icefaces\core\src\com\icesoft\faces\component\inputfile\UploadConfig.java icefaces\core\src\com\icesoft\faces\component\inputfile\UploadStateHolder.java icefaces\core\src\com\icesoft\faces\webapp\http\core\UploadServer.java icefaces\core\src\com\icesoft\faces\webapp\xmlhttp\PersistentFacesState.java icefaces\core\src\com\icesoft\faces\webapp\http\common\standard\StringContentHandler.java icefaces\samples\component-showcase\common-src\org\icefaces\application\showcase\view\bean\examples\component\inputFile\InputFileController.java icefaces\samples\component-showcase\common-src\org\icefaces\application\showcase\view\bean\examples\component\inputFile\InputFileData.java icefaces\samples\component-showcase\common-web\WEB-INF\includes\examples\custom\inputFile.jspx
          Mark Collette made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Affects [Documentation (User Guide, Ref. Guide, etc.)]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 1.8 [ 10161 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Mark Collette [ mark.collette ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Collette
            • Votes:
              3 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: