[richfaces-issues] [JBoss JIRA] Closed: (RF-3821) fileUpload: f:validator doesn't work under myfaces.
Mikhail Vitenkov (JIRA)
jira-events at lists.jboss.org
Sat Jun 28 07:59:31 EDT 2008
[ http://jira.jboss.com/jira/browse/RF-3821?page=all ]
Mikhail Vitenkov closed RF-3821.
--------------------------------
Resolution: Done
Assignee: Mikhail Vitenkov (was: Nick Belaevski)
Myfaces bug.
> fileUpload: f:validator doesn't work under myfaces.
> ---------------------------------------------------
>
> Key: RF-3821
> URL: http://jira.jboss.com/jira/browse/RF-3821
> Project: RichFaces
> Issue Type: Bug
> Affects Versions: 3.2.2
> Environment: IE,FF,Opera, Safari(myfaces)
> Reporter: Mikhail Vitenkov
> Assigned To: Mikhail Vitenkov
>
> Step 1. Add f:validator for the rich:fileUpload:
> <f:validator validatorId="fileUploadValidator"/>(don't forget register validator in faces-config).
> Step 2. See code of FileUploadValidator.class validate method:
> public void validate(FacesContext context, UIComponent component,
> Object value) throws ValidatorException {
>
> UploadItem upload = (UploadItem)value;
>
> if (upload.isTempFile()) {
> File file = upload.getFile();
> String name = file.getName();
> System.out.println("fileName: " + name);
> if (name == "ExadelMinsk.avi") {
> throw new ValidatorException(new FacesMessage("Test validator: ExadelMinsk.avi file is restricted!"));
> }
> } else {
> ByteArrayOutputStream b = new ByteArrayOutputStream();
> try {
> b.write(upload.getData());
> } catch (IOException e) {
> e.printStackTrace();
> }
> }
> }
> Step 3. Upload any file through the "Upload" component's control.
> Actual behavior:
> Validator isn't invoked & following exception appears:
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Unknown Source)
> at org.apache.myfaces.taglib.core.ValidatorImplTag.createValidator(ValidatorImplTag.java:69)
> at javax.faces.webapp.ValidatorELTag.doStartTag(ValidatorELTag.java:47)
> at org.apache.jsp.FileUpload.FileUpload_jsp._jspx_meth_f_005fvalidator_005f0(FileUpload_jsp.java:521)
> at org.apache.jsp.FileUpload.FileUpload_jsp._jspx_meth_rich_005ffileUpload_005f0(FileUpload_jsp.java:381)
> at org.apache.jsp.FileUpload.FileUpload_jsp._jspx_meth_f_005fsubview_005f0(FileUpload_jsp.java:161)
> at org.apache.jsp.FileUpload.FileUpload_jsp._jspService(FileUpload_jsp.java:124)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
> at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
> at org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fpanelGroup_005f0(Rich_jsp.java:716)
> at org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fpanelGrid_005f0(Rich_jsp.java:658)
> at org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fform_005f0(Rich_jsp.java:235)
> at org.apache.jsp.pages.Rich.Rich_jsp._jspService(Rich_jsp.java:144)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:338)
> at org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:480)
> at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:334)
> at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
> at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:191)
> at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:265)
> at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:341)
> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:503)
> 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:175)
> 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:844)
> 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(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list