Package com.itstherules.mediacentre

Source Code of com.itstherules.mediacentre.ImageServlet

package com.itstherules.mediacentre;

import java.io.IOException;
import java.net.URLDecoder;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.itstherules.image.AWTImage;
import com.itstherules.image.IImage;

public class ImageServlet extends HttpServlet {

  private static final int FLASH_PIXEL_HARD_LIMIT = 2880;
  private static final long serialVersionUID = 6347391321899093805L;

  private int getIntParameter(ServletConfig request, String key) {
    try{
      return Integer.parseInt(request.getInitParameter(key));
    } catch (NumberFormatException e) {
      return 0;
    }
  }
 
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
    String imageName = request.getServletPath();
    imageName = URLDecoder.decode(imageName, "utf8");
    String baseDirectory = getServletContext().getInitParameter("directory");
    String noImageImage = getServletConfig().getInitParameter("noImageImage");
    int width = getIntParameter(getServletConfig(), "width");
    int height = getIntParameter(getServletConfig(), "height");
    try {
      IImage image = new AWTImage(PathResolver.resolve(baseDirectory+imageName, ImageServlet.class));
          if(width!=0 || height != 0){
              image.scale(width, height, true, true);
          }
          if(image.getWidth() > FLASH_PIXEL_HARD_LIMIT || image.getHeight() > FLASH_PIXEL_HARD_LIMIT){
            image.scale(FLASH_PIXEL_HARD_LIMIT, FLASH_PIXEL_HARD_LIMIT, true, true);
          }
          image.streamTo(resp.getOutputStream());
        } catch(Exception e){
      IImage image = new AWTImage(PathResolver.resolve("com/itstherules/mediacentre"+noImageImage, ImageServlet.class));
           image.streamTo(resp.getOutputStream());
        }
  }

}
TOP

Related Classes of com.itstherules.mediacentre.ImageServlet

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.