[
https://jira.jboss.org/jira/browse/RF-6947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12465619#action_12465619
]
Nick Belaevski commented on RF-6947:
------------------------------------
File upload code has been reworked to store data in application-scoped bean to
avoid serialization happening in clustered environments. Filter puts it there
when request comes and removes, when request is processed.
FacesContext.getCurrentInstance() can be null in filter because request has not
reached Faces Servlet. Probably, all file data got read before FacesContext
appeared, I'll add call to setupProgressData() in parseRequest() so that it
will be 100% called when FacesContext is available.
> NullPointerException when uploading with rich:fileUpload
> --------------------------------------------------------
>
> Key: RF-6947
> URL: https://jira.jboss.org/jira/browse/RF-6947
> Project: RichFaces
> Issue Type: Bug
> Affects Versions: 3.3.1
> Environment: tomcat 6.0.18
> facelets 1.1.14
> myfaces 1.2.6
> Reporter: Jan Ziegler
> Assignee: Nick Belaevski
> Fix For: 3.3.1
>
>
> When using rich:fileUpload in the current 3.3.1 Snapshot (20090427) a
> nullpinter occurs when performing the upload:
> javax.faces.FacesException: Exception while decoding component :
> {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId:
> /examples/fileUpload/index.xhtml][Class:
> org.richfaces.component.html.HtmlTabPanel,Id: j_id71][Class:
> org.richfaces.component.html.HtmlTab,Id: j_id72][Class:
> javax.faces.component.html.HtmlForm,Id: j_id74][Class:
> org.richfaces.component.html.HtmlFileUpload,Id: j_id75]}
> at
> javax.faces.component.UIComponentBase.decode(UIComponentBase.java:583)
> at javax.faces.component.UIInput.decode(UIInput.java:231)
> at
> javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:709)
> at javax.faces.component.UIInput.processDecodes(UIInput.java:149)
> at javax.faces.component.UIForm.processDecodes(UIForm.java:65)
> at
> javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:705)
> at
> org.richfaces.component.UISwitchablePanel.processDecodes(UISwitchablePanel.java:170)
> at
> org.richfaces.component.UITabPanel.processDecodes(UITabPanel.java:155)
> at
> org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:392)
> at
> org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
> at
> org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
> at
> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> de.solseit.framework.base.lifecyle.FrameworkFilter.doFilter(FrameworkFilter.java:265)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:344)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
> at
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:347)
> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at
> org.richfaces.renderkit.FileUploadRendererBase.doDecode(FileUploadRendererBase.java:140)
> at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:75)
> at
> javax.faces.component.UIComponentBase.decode(UIComponentBase.java:579)
> ... 45 more
> the component is used in this very simple way (no listener-binding, for
> simplicity):
> <rich:fileUpload
> maxFilesQuantity="3"
> immediateUpload="false"
> acceptedTypes="jpg" />
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues