01: /*
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 1999 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * 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: EditSessionMailFactoryPropertiesAction.java 9680 2006-10-06 12:08:33Z danesa $
23: * --------------------------------------------------------------------------
24: */
25:
26: package org.objectweb.jonas.webapp.jonasadmin.resource;
27:
28: import java.io.IOException;
29: import java.util.Properties;
30:
31: import javax.management.ObjectName;
32: import javax.servlet.ServletException;
33: import javax.servlet.http.HttpServletRequest;
34: import javax.servlet.http.HttpServletResponse;
35:
36: import org.apache.struts.action.ActionForm;
37: import org.apache.struts.action.ActionForward;
38: import org.apache.struts.action.ActionMapping;
39: import org.objectweb.jonas.jmx.JonasManagementRepr;
40: import org.objectweb.jonas.jmx.JonasObjectName;
41:
42: /**
43: *
44: */
45:
46: public class EditSessionMailFactoryPropertiesAction extends
47: EditMailFactoryPropertiesAction {
48:
49: // --------------------------------------------------------- Public Methods
50:
51: /**
52: */
53: public ActionForward executeAction(ActionMapping p_Mapping,
54: ActionForm p_Form, HttpServletRequest p_Request,
55: HttpServletResponse p_Response) throws IOException,
56: ServletException {
57:
58: // Current server
59: String serverName = m_WhereAreYou.getCurrentJonasServerName();
60:
61: String sAction = p_Request.getParameter("action");
62: // Mail factory to edit
63: String sName = p_Request.getParameter("name");
64: // Form used
65: MailFactoryPropertiesForm oForm = (MailFactoryPropertiesForm) m_Session
66: .getAttribute("mailFactoryPropertiesForm");
67: if (oForm == null) {
68: // Create form
69: oForm = new MailFactoryPropertiesForm();
70: m_Session.setAttribute("mailFactoryPropertiesForm", oForm);
71: }
72:
73: try {
74: ObjectName mailServMBean = JonasObjectName.mailService();
75: String[] asParam = new String[1];
76: String[] asSignature = new String[1];
77: asParam[0] = sName;
78: asSignature[0] = "java.lang.String";
79: Properties oProps = (Properties) JonasManagementRepr
80: .invoke(mailServMBean,
81: "getMailFactoryPropertiesFile", asParam,
82: asSignature, serverName);
83: populate(sName, oProps, oForm);
84: } catch (Throwable t) {
85: addGlobalError(t);
86: saveErrors(p_Request, m_Errors);
87: return (p_Mapping.findForward("Global Error"));
88: }
89:
90: // Forward to the jsp.
91: return (p_Mapping.findForward("Session Properties"));
92: }
93:
94: }
|