KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > user > avatar > ShowAvatarAction


1 /*
2  * $$Id: ShowAvatarAction.java,v 1.3 2005/06/07 12:32:32 bel70 Exp $$
3  *
4  * ***** BEGIN LICENSE BLOCK *****
5  * The contents of this file are subject to the Mozilla Public License
6  * Version 1.1 (the "License"); you may not use this file except in
7  * compliance with the License. You may obtain a copy of the License
8  * at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS"
11  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
12  * the License for the specific language governing rights and
13  * limitations under the License.
14  *
15  * The Original Code is JGossip forum code.
16  *
17  * The Initial Developer of the Original Code is the JResearch, Org.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  *
21  * Contributor(s):
22  * Dmitry Belov <bel@jresearch.org>
23  *
24  * ***** END LICENSE BLOCK ***** */

25 /*
26  * Created on 18.08.2004
27  *
28  */

29 package org.jresearch.gossip.actions.user.avatar;
30
31 import java.io.IOException JavaDoc;
32
33 import javax.servlet.ServletOutputStream JavaDoc;
34 import javax.servlet.http.HttpServletRequest JavaDoc;
35 import javax.servlet.http.HttpServletResponse JavaDoc;
36
37 import org.apache.struts.action.ActionForm;
38 import org.apache.struts.action.ActionForward;
39 import org.apache.struts.action.ActionMapping;
40 import org.jresearch.gossip.IConst;
41 import org.jresearch.gossip.actions.BaseAction;
42 import org.jresearch.gossip.configuration.Configurator;
43 import org.jresearch.gossip.dao.ForumDAO;
44 import org.jresearch.gossip.exception.JGossipException;
45 import org.jresearch.gossip.exception.SystemException;
46 import org.jresearch.gossip.forms.ProcessUserForm;
47
48 /**
49  * @author dbelov
50  *
51  */

52 public class ShowAvatarAction extends BaseAction {
53
54     /*
55      * (non-Javadoc)
56      *
57      * @see org.jresearch.gossip.actions.BaseAction#process(org.apache.struts.action.ActionMapping,
58      * org.apache.struts.action.ActionForm,
59      * javax.servlet.http.HttpServletRequest,
60      * javax.servlet.http.HttpServletResponse)
61      */

62     protected ActionForward process(ActionMapping mapping, ActionForm form,
63             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
64             throws JGossipException {
65         if (!Configurator.getInstance().getBoolean(IConst.CONFIG.ENABLE_AVATAR)) {
66             return (mapping.findForward(IConst.TOKEN.DENIED));
67         }
68         ProcessUserForm puForm = (ProcessUserForm) form;
69         ForumDAO dao = ForumDAO.getInstance();
70         response.setContentType(IConst.JSP.JPG_CONTENT_TYPE);
71         response.setHeader("Pragma", "no-cache");
72         response.setHeader("Cache-Control", "no-cache");
73         response.setDateHeader("Expires", 0);
74         try {
75             ServletOutputStream JavaDoc out = response.getOutputStream();
76             byte[] data = dao.getAvatar(puForm.getUid());
77             out.write(data);
78         } catch (IOException JavaDoc e) {
79             throw new SystemException(e);
80         }
81         return null;
82     }
83
84 }
Popular Tags