KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas > webapp > jonasadmin > deploy > ApplyDeployConfirmAction


1 /**
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999-2004 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id: ApplyDeployConfirmAction.java,v 1.10 2005/04/21 08:59:54 kemlerp Exp $
23  * --------------------------------------------------------------------------
24  */

25
26 package org.objectweb.jonas.webapp.jonasadmin.deploy;
27
28 import java.io.IOException JavaDoc;
29 import java.util.ArrayList JavaDoc;
30
31 import javax.servlet.ServletException JavaDoc;
32 import javax.servlet.http.HttpServletRequest JavaDoc;
33 import javax.servlet.http.HttpServletResponse JavaDoc;
34
35 import org.apache.struts.action.ActionMessage;
36 import org.apache.struts.action.ActionForm;
37 import org.apache.struts.action.ActionForward;
38 import org.apache.struts.action.ActionMapping;
39
40 /**
41  * @author Michel-Ange Anton
42  */

43
44 public class ApplyDeployConfirmAction extends BaseDeployAction {
45
46 // --------------------------------------------------------- Public Methods
47

48     public ActionForward executeAction(ActionMapping p_Mapping, ActionForm p_Form
49         , HttpServletRequest JavaDoc p_Request, HttpServletResponse JavaDoc p_Response)
50         throws IOException JavaDoc, ServletException JavaDoc {
51
52         ArrayList JavaDoc al;
53         String JavaDoc[] asParam = new String JavaDoc[1];
54         String JavaDoc[] asSignature = new String JavaDoc[1];
55         asSignature[0] = "java.lang.String";
56
57         // Form used
58
DeployForm oForm = (DeployForm) p_Form;
59
60         // Undeploy with Remove list
61
al = oForm.getListRemove();
62         for (int i = 0; i < al.size(); i++) {
63             try {
64                 undeploy(al.get(i).toString());
65             } catch (Exception JavaDoc e) {
66                 m_Errors.add("error.undeploy", new ActionMessage("error.undeploy", al.get(i).toString()
67                     , e.getMessage()));
68                 saveErrors(p_Request, m_Errors);
69             }
70         }
71
72         // Call garbage collector after undeployment
73
if (al.size() > 0) {
74             try {
75                 runGC();
76             } catch (Throwable JavaDoc t) {
77                 addGlobalError(t);
78                 saveErrors(p_Request, m_Errors);
79             }
80         }
81
82         // Deploy with Add list
83
al = oForm.getListAdd();
84         for (int i = 0; i < al.size(); i++) {
85             try {
86                 deploy(al.get(i).toString());
87             } catch (Exception JavaDoc e) {
88                 m_Errors.add("error.deploy", new ActionMessage("error.deploy", al.get(i).toString()
89                     , e.getMessage()));
90                 saveErrors(p_Request, m_Errors);
91             }
92         }
93
94         // Build correct lists after deployment
95
try {
96             // Load the new list of deployed files
97
oForm.setListDeployed(getListDeployedFiles());
98             // Build Add list (with items in error status else list empty)
99
ArrayList JavaDoc alAdd = new ArrayList JavaDoc(oForm.getListDeploy());
100             alAdd.removeAll(oForm.getListDeployed());
101             oForm.setListAdd(alAdd);
102             // Build Remove list (with items in error status else list empty)
103
ArrayList JavaDoc alRemove = new ArrayList JavaDoc(oForm.getListUndeploy());
104             alRemove.retainAll(oForm.getListDeployed());
105             oForm.setListRemove(alRemove);
106             // Confirm status
107
oForm.setConfirm((m_Errors.size() == 0) && ((alAdd.size() > 0) || (alRemove.size() > 0)));
108             // Refresh Tree in memory
109
refreshTree(p_Request);
110         } catch (Throwable JavaDoc t) {
111             addGlobalError(t);
112             saveErrors(p_Request, m_Errors);
113         }
114
115         // Forward to the jsp.
116
return (p_Mapping.findForward("Deploy Confirm"));
117     }
118 }
119
Popular Tags