UserImageServlet.java 2.86 KB
package fi.insomnia.bortal.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.List;

import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.UserImage;

/**
 * Servlet implementation class UploadServlet
 */
public class UserImageServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = -3359999630873773508L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public UserImageServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    private static final Logger logger = LoggerFactory.getLogger(UserImageServlet.class);

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @EJB
    private UserBeanLocal userbean;

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String useridStr = request.getParameter("userid");
        String keyhashStr = request.getParameter("hash");
        UserImage image = null;
        if (useridStr != null && "i-AW1Nfzk5KTi8iaLYua".equals(keyhashStr)) {
            int userid = Integer.parseInt(useridStr);
            User usr = userbean.findById(userid);
            if (usr != null) {
                image = usr.getCurrentImage();
            }

        } else {
            String imageidobj = request.getParameter("imageid");

            int imageid = 0;
            if (imageidobj != null) {
                imageid = Integer.parseInt(imageidobj);
            }

            image = userbean.findUserImage(imageid);
        }
        
        
        if (image == null) {
            response.setStatus(HttpServletResponse.SC_NOT_FOUND);
            response.getWriter().append("Not Found");
        } else {
            response.setContentType(image.getMimeType());
            response.getOutputStream().write(image.getImageData());
        }
    }

}