001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 2003-2004 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: WebAppCatalinaForm.java 6599 2005-04-21 08:59:54Z kemlerp $
023: * --------------------------------------------------------------------------
024: */package org.objectweb.jonas.webapp.jonasadmin.service.container;
025:
026: import javax.servlet.http.HttpServletRequest;
027:
028: import org.apache.struts.action.ActionMessage;
029: import org.apache.struts.action.ActionErrors;
030: import org.apache.struts.action.ActionMapping;
031:
032: /**
033: * @author Michel-Ange ANTON
034: */
035: public class WebAppCatalinaForm extends WebAppForm {
036:
037: // --------------------------------------------------------- Properties variables
038:
039: private String host = null;
040: private boolean cookies = false;
041: private boolean reloadable = false;
042: private boolean swallowOutput = false;
043: private boolean crossContext = false;
044: private boolean override = false;
045: private String docBase = null;
046: private int state = 0;
047:
048: // --------------------------------------------------------- Public Methods
049:
050: /**
051: * Reset all properties to their default values.
052: *
053: * @param mapping The mapping used to select this instance
054: * @param request The servlet request we are processing
055: */
056:
057: public void reset(ActionMapping mapping, HttpServletRequest request) {
058: super .reset(mapping, request);
059:
060: cookies = true;
061: reloadable = false;
062: swallowOutput = false;
063: crossContext = false;
064: override = false;
065: }
066:
067: /**
068: * Validate the properties that have been set from this HTTP request,
069: * and return an <code>ActionErrors</code> object that encapsulates any
070: * validation errors that have been found. If no errors are found, return
071: * <code>null</code> or an <code>ActionErrors</code> object with no
072: * recorded error messages.
073: *
074: * @param mapping The mapping used to select this instance
075: * @param request The servlet request we are processing
076: * @return List of errors
077: */
078: public ActionErrors validate(ActionMapping mapping,
079: HttpServletRequest request) {
080: ActionErrors oErrors = super .validate(mapping, request);
081: //numberCheck(oErrors, "sessionTimeout", sessionTimeout, true, 1, 65535);
082: return oErrors;
083: }
084:
085: /*
086: * Helper method to check that it is a required number and
087: * is a valid integer within the given range. (min, max).
088: *
089: * @param field The field name in the form for which this error occured.
090: * @param numText The string representation of the number.
091: * @param rangeCheck Boolean value set to true of reange check should be performed.
092: *
093: * @param min The lower limit of the range
094: * @param max The upper limit of the range
095: *
096: */
097: public void numberCheck(ActionErrors p_Errors, String field,
098: String numText, boolean rangeCheck, int min, int max) {
099: // Check for 'is required'
100: if ((numText == null) || (numText.length() < 1)) {
101: p_Errors.add(field, new ActionMessage(
102: "error.webapp.setting." + field + ".required"));
103: } else {
104:
105: // check for 'must be a number' in the 'valid range'
106: try {
107: int num = Integer.parseInt(numText);
108: // perform range check only if required
109: if (rangeCheck) {
110: if ((num < min) || (num > max)) {
111: p_Errors.add(field, new ActionMessage(
112: "error.webapp.setting." + field
113: + ".range"));
114: }
115: }
116: } catch (NumberFormatException e) {
117: p_Errors.add(field, new ActionMessage(
118: "error.webapp.setting." + field + ".format"));
119: }
120: }
121: }
122:
123: // --------------------------------------------------------- Properties Methods
124: /*
125: public boolean isAvailable() {
126: return available;
127: }
128:
129: public void setAvailable(boolean available) {
130: this.available = available;
131: }
132: */
133: public boolean isCookies() {
134: return cookies;
135: }
136:
137: public void setCookies(boolean cookies) {
138: this .cookies = cookies;
139: }
140:
141: public boolean isReloadable() {
142: return reloadable;
143: }
144:
145: public void setReloadable(boolean reloadable) {
146: this .reloadable = reloadable;
147: }
148:
149: public boolean isSwallowOutput() {
150: return swallowOutput;
151: }
152:
153: public void setSwallowOutput(boolean swallowOutput) {
154: this .swallowOutput = swallowOutput;
155: }
156:
157: public String getHost() {
158: return host;
159: }
160:
161: public void setHost(String host) {
162: this .host = host;
163: }
164:
165: public boolean isCrossContext() {
166: return crossContext;
167: }
168:
169: public void setCrossContext(boolean crossContext) {
170: this .crossContext = crossContext;
171: }
172:
173: public String getDocBase() {
174: return docBase;
175: }
176:
177: public void setDocBase(String docBase) {
178: this .docBase = docBase;
179: }
180:
181: public boolean isOverride() {
182: return override;
183: }
184:
185: public void setOverride(boolean override) {
186: this .override = override;
187: }
188:
189: public int getState() {
190: return state;
191: }
192:
193: public void setState(int state) {
194: this.state = state;
195: }
196:
197: }
|