001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * ---------------------------------------------------------
005: * ivata groupware may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * ---------------------------------------------------------
030: * $Log: NoSetupAction.java,v $
031: * Revision 1.4 2005/10/11 18:57:17 colinmacleod
032: * Fixed some checkstyle and javadoc issues.
033: *
034: * Revision 1.3 2005/10/03 10:21:15 colinmacleod
035: * Fixed some style and javadoc issues.
036: *
037: * Revision 1.2 2005/10/02 14:08:59 colinmacleod
038: * Added/improved log4j logging.
039: *
040: * Revision 1.1 2005/09/29 13:06:06 colinmacleod
041: * First version of setting subproject.
042: * Existing classes restructured, new setting user interface created.
043: * Flexible XML UI configuration makes it easy to reuse the same web pages in
044: * other projects.
045: * Web files work as stand-alone webapp for testing.
046: *
047: * Revision 1.7 2005/09/15 10:23:26 colinmacleod
048: * Upgraded Maven to 1.1 (beta-2).
049: * Upgraded Hibernate to 3.0.5.
050: *
051: * Revision 1.6 2005/09/14 16:00:16 colinmacleod
052: * Made database paths more flexible, to suit ivata cms.
053: * Removed unused local and class variables.
054: * Added serialVersionUID.
055: *
056: * Revision 1.5 2005/05/10 20:07:14 colinmacleod
057: * Workaround for tomcat 5.0.x (creates
058: * copy of 'res' HSQLDB).
059: *
060: * Revision 1.4 2005/04/30 13:02:36 colinmacleod
061: * Added checking and removal of previous
062: * hibernate lock file.
063: *
064: * Revision 1.3 2005/04/28 18:47:06 colinmacleod
065: * Fixed XHMTL, styles and resin compatibility.
066: * Added support for URL rewriting.
067: *
068: * Revision 1.2 2005/04/22 09:34:21 colinmacleod
069: * Added setup action interface so that
070: * the hibernate action can reset/delete all
071: * actions when the container is reloaded.
072: *
073: * Revision 1.1 2005/04/11 10:03:43 colinmacleod
074: * Added setup feature.
075: *
076: * ---------------------------------------------------------
077: */
078: package com.ivata.groupware.admin.struts;
079:
080: import javax.servlet.ServletContext;
081: import javax.servlet.http.HttpServletRequest;
082: import javax.servlet.http.HttpServletResponse;
083: import javax.servlet.http.HttpSession;
084:
085: import org.apache.log4j.Logger;
086: import org.apache.struts.action.ActionForm;
087: import org.apache.struts.action.ActionMapping;
088: import org.sourceforge.clientsession.ClientSession;
089:
090: import com.ivata.groupware.container.persistence.hibernate.HibernateSetupConstants;
091: import com.ivata.mask.MaskFactory;
092: import com.ivata.mask.util.SystemException;
093: import com.ivata.mask.web.struts.MaskAction;
094: import com.ivata.mask.web.struts.MaskAuthenticator;
095:
096: /**
097: * This is a dummy setup action which clears the flag causing the program to go
098: * into setup mode. It is useful if you want a webapp which uses the default
099: * DB (for example to test).
100: *
101: * @since ivata groupware 1.0 (2005-09-20)
102: * @author Colin MacLeod
103: * <a href='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com</a>
104: * @version $Revision: 1.4 $
105: */
106: public class NoSetupAction extends MaskAction {
107: /**
108: * Logger for this class.
109: */
110: private static final Logger logger = Logger
111: .getLogger(NoSetupAction.class);
112:
113: /**
114: * Constructor. This is normally called by <code>PicoContainer</code>.
115: *
116: * @param maskFactoryParam {@inheritDoc}
117: * @param authenticatorParam {@inheritDoc}
118: */
119: public NoSetupAction(final MaskFactory maskFactoryParam,
120: final MaskAuthenticator authenticatorParam) {
121: super (maskFactoryParam, authenticatorParam);
122: }
123:
124: /**
125: * Clear the setup flag and return success.
126: *
127: * @param mappingParam {@inheritDoc}
128: * @param formParam {@inheritDoc}
129: * @param requestParam {@inheritDoc}
130: * @param responseParam {@inheritDoc}
131: * @param session {@inheritDoc}
132: * @param clientSession {@inheritDoc}
133: * @return {@inheritDoc}
134: * @throws SystemException Not thrown by this implementation.
135: */
136: public String execute(final ActionMapping mappingParam,
137: final ActionForm formParam,
138: final HttpServletRequest requestParam,
139: final HttpServletResponse responseParam,
140: final HttpSession session, final ClientSession clientSession)
141: throws SystemException {
142: if (logger.isDebugEnabled()) {
143: logger.debug("execute(ActionMapping mappingParam = "
144: + mappingParam + ", ActionForm formParam = "
145: + formParam
146: + ", HttpServletRequest requestParam = "
147: + requestParam
148: + ", HttpServletResponse responseParam = "
149: + responseParam + ", HttpSession session = "
150: + session + ", ClientSession clientSession = "
151: + clientSession + ") - start");
152: }
153:
154: ServletContext servletContext = servlet.getServletContext();
155: servletContext
156: .setAttribute(
157: HibernateSetupConstants.CONFIRM_ATTRIBUTE,
158: Boolean.TRUE);
159:
160: if (logger.isDebugEnabled()) {
161: logger.debug("execute - end - return value = success");
162: }
163: return "success";
164: }
165: }
|