[ 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

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to