[
https://jira.jboss.org/jira/browse/RF-6947?page=com.atlassian.jira.plugin...
]
Jan Ziegler commented on RF-6947:
---------------------------------
It´s really hard to show the code because it is spread over several classes. I tried to
isolate the specific code - sorry, no success for the moment!
All I can say is that on one request when I call (indirectly by the filter)
httpSession.setAttribute("ourFramework_frameworkSession", ourSessionObj) the
error occurs afterwards. Without setting the object in session it does not occure. But I
cannot say clearly if this is the reason for the problem, because if this attribute is
set, some other things may be done and therfore other reasons may exist. I have to do
further invesigations...
Then I tried to figure out, why MultipartRequest.lookupRequest(context, uid) is failing
and did some debugging in my scenario. The reason for this is that the sessionMap never
contains "FileUploadConstants.REQUEST_KEYS_BEAN_NAME", so the
requestKeys-Variable is always null.
I also debugged MultipartRequest.setupProgressData() where this attribute is supposed to
be set initially (right?): This seems to be the key of our problem.
FacesContext.getCurrentInstance() always returns null here !? ...so the initial init of
the session concerning the fileUpload-Parameter never happens.
Can you imaging how this can be? Our Filter / PhaseListeners really don´t remove or
overwrite the current FacesContext-Threadlocal...
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: Tsikhon Kuprevich
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