Package org.richfaces

Source Code of org.richfaces.SleepFilter

package org.richfaces;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.ProgressListener;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class SleepFilter implements Filter {

  public void destroy() {
    // TODO Auto-generated method stub

  }

  public void doFilter(ServletRequest servletRequest, ServletResponse response,
      FilterChain chain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest)servletRequest;
    if (ServletFileUpload.isMultipartContent(request)) {
      FileItemFactory factory = new DiskFileItemFactory();

      // Create a new file upload handler
      ServletFileUpload upload = new ServletFileUpload(factory);

      //Create a progress listener
      ProgressListener progressListener = new ProgressListener(){
         public void update(long pBytesRead, long pContentLength, int pItems) {
             System.out.println("We are currently reading item " + pItems);
             if (pContentLength == -1) {
                 System.out.println("So far, " + pBytesRead + " bytes have been read.");
             } else {
                 System.out.println("So far, " + pBytesRead + " of " + pContentLength
                                    + " bytes have been read.");
             }
             try {
          Thread.sleep((long)3E3);
        } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
         }
      };
      upload.setProgressListener(progressListener);      // Parse the request
      try {
        List list= upload.parseRequest(request);
        // Process the uploaded items
        Iterator iter = list.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();

            if (item.isFormField()) {
              //  processFormField(item);
            } else {
              String fieldName = item.getFieldName();
                String fileName = item.getName();
                String contentType = item.getContentType();
                boolean isInMemory = item.isInMemory();
                long sizeInBytes = item.getSize();
                System.out.println(fieldName+" "+fileName+" "+contentType+" "+isInMemory+" "+sizeInBytes);
            }
        }
      } catch (FileUploadException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    chain.doFilter(servletRequest, response);
  }

  public void init(FilterConfig filterConfig) throws ServletException {
    // TODO Auto-generated method stub

  }

}
TOP

Related Classes of org.richfaces.SleepFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.