001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 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: EarForm.java 7025 2005-07-08 09:45:06Z kemlerp $
023: * --------------------------------------------------------------------------
024: */package org.objectweb.jonas.webapp.jonasadmin.service.container;
025:
026: import java.net.URL;
027: import java.util.ArrayList;
028: import java.util.Collections;
029:
030: import javax.servlet.http.HttpServletRequest;
031:
032: import org.apache.struts.action.ActionErrors;
033: import org.apache.struts.action.ActionForm;
034: import org.apache.struts.action.ActionMapping; //import org.objectweb.jonas.webapp.jonasadmin.JonasAdminJmx;
035: import org.objectweb.jonas.webapp.jonasadmin.common.ModuleItemByName;
036:
037: /**
038: * @author Michel-Ange ANTON
039: * @author Adriana Danes
040: */
041: public class EarForm extends ActionForm {
042:
043: // --------------------------------------------------------- Properties variables
044:
045: /**
046: * Name of the file containing the ear
047: */
048: private String filename = null;
049: /**
050: * Complete path of the file containing the ear
051: */
052: private String earPath = null;
053: /**
054: * The ear's deployement descriptor
055: */
056: private String xmlDeploymentDescriptor = null;
057: // /**
058: // * List of ContainerItems correspondig to the rars contained in the ear.
059: // */
060: // private ArrayList listRars = new ArrayList();
061: /**
062: * List of ModuleItems corresponding to the ejb-jars (EJBModules) contained in the ear.
063: */
064: private ArrayList ejbjars = new ArrayList();
065: /**
066: * List of ModuleItems corresponding to the wars (WebModules) contained in the ear.
067: */
068: private ArrayList wars = new ArrayList();
069: /**
070: * List of ModuleItems corresponding to the rars contained in the ear.
071: */
072: private ArrayList rars = new ArrayList();
073:
074: // --------------------------------------------------------- Public Methods
075:
076: /**
077: * Reset all properties to their default values.
078: *
079: * @param mapping The mapping used to select this instance
080: * @param request The servlet request we are processing
081: */
082:
083: public void reset(ActionMapping mapping, HttpServletRequest request) {
084: filename = null;
085: earPath = null;
086: xmlDeploymentDescriptor = null;
087: // listRars = new ArrayList();
088: ejbjars = new ArrayList();
089: wars = new ArrayList();
090: rars = new ArrayList();
091: }
092:
093: /**
094: * Validate the properties that have been set from this HTTP request,
095: * and return an <code>ActionErrors</code> object that encapsulates any
096: * validation errors that have been found. If no errors are found, return
097: * <code>null</code> or an <code>ActionErrors</code> object with no
098: * recorded error messages.
099: *
100: * @param mapping The mapping used to select this instance
101: * @param request The servlet request we are processing
102: * @return the ActionErrors
103: */
104: public ActionErrors validate(ActionMapping mapping,
105: HttpServletRequest request) {
106: ActionErrors oErrors = new ActionErrors();
107: return oErrors;
108: }
109:
110: // --------------------------------------------------------- Properties Methods
111: /**
112: * @return the name of the file containing the ear
113: */
114: public String getFilename() {
115: return filename;
116: }
117:
118: /**
119: * @param filename the name of the file containing the ear
120: */
121: public void setFilename(String filename) {
122: this .filename = filename;
123: }
124:
125: /**
126: * @return the complete path of the file containing the ear
127: */
128: public String getEarPath() {
129: return earPath;
130: }
131:
132: /**
133: * @param pUrl the ear's URL
134: */
135: public void setEarPath(URL pUrl) {
136: this .earPath = null;
137: if (pUrl != null) {
138: this .earPath = pUrl.getPath();
139: }
140: }
141:
142: // /**
143: // * @return the list of ContainerItems correspondig to the rars contained in the ear.
144: // */
145: // public ArrayList getListRars() {
146: // return listRars;
147: // }
148: // /**
149: // * Set list of rars given an array of <code>URL</code>s corresponding to each rar.
150: // * Each item of list is a <code>ContainerItem</code> containing 2 attributes:
151: // * - file
152: // * - path
153: // *
154: // * @param pUrl Array of Rar
155: // */
156: // public void setListRars(URL[] pUrl) {
157: // listRars.clear();
158: // if (pUrl != null) {
159: // for (int i = 0; i < pUrl.length; i++) {
160: // listRars.add(new ContainerItem(JonasAdminJmx.extractFilename(pUrl[i].getPath())
161: // , pUrl[i].getPath()));
162: // }
163: // // Sort list
164: // Collections.sort(listRars, new ContainerItemByFile());
165: // }
166: // }
167: /**
168: * @return the ear's deployement descriptor
169: */
170: public String getXmlDeploymentDescriptor() {
171: return xmlDeploymentDescriptor;
172: }
173:
174: /**
175: * @param xmlDeploymentDescriptor The ear's deployement descriptor
176: */
177: public void setXmlDeploymentDescriptor(
178: String xmlDeploymentDescriptor) {
179: this .xmlDeploymentDescriptor = xmlDeploymentDescriptor;
180: }
181:
182: /**
183: * @return The list of ModuleItems corresponding to the ejb-jars (EJBModules) contained in the ear.
184: */
185: public ArrayList getEjbjars() {
186: return ejbjars;
187: }
188:
189: /**
190: * @param ejbjars The list of ModuleItems corresponding to the ejb-jars (EJBModules) contained in the ear.
191: */
192: public void setEjbjars(ArrayList ejbjars) {
193: this .ejbjars = ejbjars;
194: }
195:
196: /**
197: * @return The list of ModuleItems corresponding to the wars (WebModules) contained in the ear.
198: */
199: public ArrayList getWars() {
200: return wars;
201: }
202:
203: /**
204: * @param wars The list of ModuleItems corresponding to the wars (WebModules) contained in the ear.
205: */
206: public void setWars(ArrayList wars) {
207: this .wars = wars;
208: Collections.sort(wars, new ModuleItemByName());
209: }
210:
211: /**
212: * @return Returns the rars.
213: */
214: public ArrayList getRars() {
215: return rars;
216: }
217:
218: /**
219: * @param rars The rars to set.
220: */
221: public void setRars(ArrayList rars) {
222: this.rars = rars;
223: }
224:
225: }
|