KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > message > attachment > GetAttachThumbnailAction


1 /*
2  * Created on 06.07.2004
3  *
4  */

5 package org.jresearch.gossip.actions.message.attachment;
6
7 import java.awt.image.BufferedImage JavaDoc;
8 import java.io.ByteArrayInputStream JavaDoc;
9
10 import javax.imageio.ImageIO JavaDoc;
11 import javax.servlet.ServletOutputStream JavaDoc;
12 import javax.servlet.http.HttpServletRequest JavaDoc;
13 import javax.servlet.http.HttpServletResponse JavaDoc;
14 import javax.servlet.http.HttpSession JavaDoc;
15
16 import org.apache.struts.action.Action;
17 import org.apache.struts.action.ActionForm;
18 import org.apache.struts.action.ActionForward;
19 import org.apache.struts.action.ActionMapping;
20 import org.jresearch.gossip.IConst;
21 import org.jresearch.gossip.beans.forum.attachment.FileData;
22 import org.jresearch.gossip.beans.user.User;
23 import org.jresearch.gossip.configuration.Configurator;
24 import org.jresearch.gossip.dao.ForumDAO;
25 import org.jresearch.gossip.exception.SystemException;
26 import org.jresearch.gossip.forms.ProcessAttachForm;
27 import org.jresearch.gossip.util.PictureGenerator;
28
29 /**
30  * @author dbelov
31  *
32  */

33 public class GetAttachThumbnailAction extends Action {
34
35     /*
36      * (non-Javadoc)
37      *
38      * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
39      * org.apache.struts.action.ActionForm,
40      * javax.servlet.http.HttpServletRequest,
41      * javax.servlet.http.HttpServletResponse)
42      */

43     public ActionForward execute(ActionMapping mapping, ActionForm form,
44             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
45             throws Exception JavaDoc {
46         HttpSession JavaDoc session = request.getSession();
47         User user = (User) session.getAttribute(IConst.SESSION.USER_KEY);
48         ForumDAO dao = ForumDAO.getInstance();
49         ProcessAttachForm paForm = (ProcessAttachForm) form;
50         if (Configurator.getInstance().getBoolean(
51                 IConst.CONFIG.ENABLE_FILE_UPLOAD)) {
52             FileData fData = dao
53                     .getAttachment(Integer.parseInt(paForm.getId()));
54             response.setContentType(IConst.JSP.JPG_CONTENT_TYPE);
55             ServletOutputStream JavaDoc out = response.getOutputStream();
56             ByteArrayInputStream JavaDoc b = new ByteArrayInputStream JavaDoc(fData.getData());
57             BufferedImage JavaDoc img = ImageIO.read(b);
58             if (img == null) {
59                 throw new SystemException("Unable to parse image");
60             }
61             PictureGenerator.getInstance().prepareImageThumbnail(img, out);
62         } else {
63             return (mapping.findForward(IConst.TOKEN.DENIED));
64         }
65
66         return null;
67     }
68 }
Popular Tags