Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0.1, EE-3.0.0.GA
-
Fix Version/s: 3.3
-
Component/s: ACE-Components
-
Labels:None
-
Environment:All
-
Assignee Priority:P1
-
Workaround Exists:Yes
-
Workaround Description:Use invalidate=false and then manually call FacesContext.getCurrentInstance().validationFailed().
Description
This is a similar issue with FileInfo.updateStatus that was found in ICE-7712:
http://jira.icesoft.org/browse/ICE-7712?focusedCommentId=38411&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-38411
The fix to that was predicated on the file upload processing happening in the FileEntryPhaseListener during RestoreView phase. Afterwards, forICE-7931, the processing was moved to happen in FileEntryResourceHandler, to better work with Glassfish 3.1.2. As a side effect, the processing is no longer happening within a phase, but before them when the current phase is null, which didn't work with the ICE-7712 test, so we still end up with a NPE and updateStatus not working properly.
http://jira.icesoft.org/browse/ICE-7712?focusedCommentId=38411&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-38411
The fix to that was predicated on the file upload processing happening in the FileEntryPhaseListener during RestoreView phase. Afterwards, for
The invalidate parameter has limited utility since the fileEntry will still use its immediateValidation validation property to do validation in processDecodes or processValidators, and use the FileInfo.isSaved() to determine if it's valid or not, and call FacesContext's validationFailed() and renderResponse() methods if not.