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: JtmServiceForm.java 6599 2005-04-21 08:59:54Z kemlerp $
023: * --------------------------------------------------------------------------
024: */package org.objectweb.jonas.webapp.jonasadmin.service.jtm;
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.ActionForm;
031: import org.apache.struts.action.ActionMapping;
032:
033: /**
034: * Form used to present the Transaction Manager properties
035: * @author Adriana Danes
036: */
037: public final class JtmServiceForm extends ActionForm {
038:
039: // ------------------------------------------------------------- Properties Variables
040:
041: private String action = null;
042: private String timeOutText = null;
043: private String jtmHost = null;
044: private String jtmLocation = null;
045: private String jtmPort = null;
046:
047: // ------------------------------------------------------------- Properties Methods
048:
049: public String getTimeOutText() {
050: return timeOutText;
051: }
052:
053: public void setTimeOutText(String timeOutText) {
054: this .timeOutText = timeOutText;
055: }
056:
057: public String getJtmHost() {
058: return jtmHost;
059: }
060:
061: public void setJtmHost(String jtmHost) {
062: this .jtmHost = jtmHost;
063: }
064:
065: public String getJtmLocation() {
066: return jtmLocation;
067: }
068:
069: public void setJtmLocation(String jtmLocation) {
070: this .jtmLocation = jtmLocation;
071: }
072:
073: public String getJtmPort() {
074: return jtmPort;
075: }
076:
077: public void setJtmPort(String jtmPort) {
078: this .jtmPort = jtmPort;
079: }
080:
081: public String getAction() {
082: return action;
083: }
084:
085: public void setAction(String action) {
086: this .action = action;
087: }
088:
089: // ------------------------------------------------------------- Public Methods
090:
091: /**
092: * Reset all properties to their default values.
093: *
094: * @param mapping The mapping used to select this instance
095: * @param request The servlet request we are processing
096: */
097: public void reset(ActionMapping mapping, HttpServletRequest request) {
098: action = "apply";
099: }
100:
101: /**
102: * Validate the properties that have been set from this HTTP request,
103: * and return an <code>ActionErrors</code> object that encapsulates any
104: * validation errors that have been found. If no errors are found, return
105: * <code>null</code> or an <code>ActionErrors</code> object with no
106: * recorded error messages.
107: *
108: * @param mapping The mapping used to select this instance
109: * @param request The servlet request we are processing
110: */
111: public ActionErrors validate(ActionMapping mapping,
112: HttpServletRequest request) {
113: ActionErrors oErrors = new ActionErrors();
114: numberCheck(oErrors, "timeOut", timeOutText, false, 0, 0);
115: return oErrors;
116: }
117:
118: /**
119: * Helper method to check that it is a required number and
120: * is a valid integer within the given range. (min, max).
121: *
122: * @param field The field name in the form for which this error occured.
123: * @param numText The string representation of the number.
124: * @param rangeCheck Boolean value set to true of reange check should be performed.
125: * @param min The lower limit of the range
126: * @param max The upper limit of the range
127: */
128: public void numberCheck(ActionErrors p_Errors, String field,
129: String numText, boolean rangeCheck, int min, int max) {
130: // Check for 'is required'
131: if ((numText == null) || (numText.length() < 1)) {
132: p_Errors.add(field, new ActionMessage("error.jtm." + field
133: + ".required"));
134: } else {
135: // check for 'must be a number' in the 'valid range'
136: try {
137: int num = Integer.parseInt(numText);
138: // perform range check only if required
139: if (rangeCheck) {
140: if ((num < min) || (num > max)) {
141: p_Errors.add(field, new ActionMessage(
142: "error.jtm." + field + ".range"));
143: }
144: }
145: } catch (NumberFormatException e) {
146: p_Errors.add(field, new ActionMessage("error.jtm."
147: + field + ".format"));
148: }
149: }
150: }
151:
152: }
|