KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > web > actions > AbstractAction


1 /*
2  * $Id: AbstractAction.java,v 1.3 2004/12/17 16:51:27 michelson Exp $
3  *
4  * Copyright (c) 2004 j2biz Group, http://www.j2biz.com
5  * Koeln / Duesseldorf , Germany
6  *
7  * @author Max Kalina
8  *
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */

25
26 package com.j2biz.blogunity.web.actions;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30 import javax.servlet.http.HttpSession JavaDoc;
31
32 import org.apache.commons.lang.StringUtils;
33 import org.apache.commons.logging.Log;
34 import org.apache.commons.logging.LogFactory;
35
36 import com.j2biz.blogunity.IConstants;
37 import com.j2biz.blogunity.exception.BlogunityException;
38 import com.j2biz.blogunity.web.IActionResult;
39 import com.j2biz.blogunity.web.NavigationStack;
40
41 /**
42  * @author michelson
43  * @version $$
44  * @since 0.1
45  *
46  *
47  */

48 public abstract class AbstractAction {
49     /**
50      * Logger for this class
51      */

52     private static final Log log = LogFactory.getLog(AbstractAction.class);
53
54     protected NavigationStack navigationStack;
55     
56     protected String JavaDoc currentActionPath;
57
58     public void init(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response, String JavaDoc currentActionPath)
59             throws BlogunityException {
60         if (log.isDebugEnabled()) {
61             log.debug("Trying to get navigation-navigationStack for the current user.");
62         }
63         
64         String JavaDoc query = request.getQueryString();
65         if (StringUtils.isNotEmpty(query)){
66             currentActionPath += "?" + query;
67         }
68         
69         this.currentActionPath = currentActionPath;
70         
71         HttpSession JavaDoc session = request.getSession();
72         navigationStack = (NavigationStack) session.getAttribute(IConstants.Session.NAVIGATION_STACK);
73         
74         if (navigationStack == null) {
75             if (log.isDebugEnabled()) {
76                 log.debug("Navigation-navigationStack not found -> create new one.");
77             }
78             navigationStack = new NavigationStack();
79             session.setAttribute(IConstants.Session.NAVIGATION_STACK, navigationStack);
80         }
81         
82         
83         if (log.isDebugEnabled()) {
84             log.debug("Setting not-cacheable response...");
85         }
86        
87         
88     }
89
90     /**
91      * @param request
92      * @param response
93      * @return
94      * @throws BlogException
95      */

96     public abstract IActionResult execute(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
97             throws BlogunityException;
98
99 }
Popular Tags