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

          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

            People

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

              Dates

              • Created:
                Updated:
                Resolved: