KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > console > plugins > monitor > AcknowledgeActiveAlarmsServlet


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.console.plugins.monitor;
23
24 import java.io.IOException JavaDoc;
25
26 import javax.management.MBeanServer JavaDoc;
27 import javax.management.ObjectName JavaDoc;
28 import javax.servlet.ServletException JavaDoc;
29 import javax.servlet.http.HttpServlet JavaDoc;
30 import javax.servlet.http.HttpServletRequest JavaDoc;
31 import javax.servlet.http.HttpServletResponse JavaDoc;
32
33 import org.jboss.monitor.services.ActiveAlarmTableMBean;
34 import org.jboss.mx.util.MBeanServerLocator;
35
36 /**
37  * @author <a HREF="mailto:dimitris@jboss.org">Dimitris Andreadis</a>.
38  * @version $Revision: 37459 $
39  */

40 public class AcknowledgeActiveAlarmsServlet extends HttpServlet JavaDoc
41 {
42    protected void doGet(HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc resp)
43            throws ServletException JavaDoc, IOException JavaDoc
44    {
45       doit(req, resp);
46    }
47
48    protected void doPost(HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc resp)
49            throws ServletException JavaDoc, IOException JavaDoc
50    {
51       doit(req, resp);
52    }
53
54    protected void doit(HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc resp)
55            throws ServletException JavaDoc, IOException JavaDoc
56    {
57       try
58       {
59          MBeanServer JavaDoc server = MBeanServerLocator.locateJBoss();
60          ObjectName JavaDoc target = ActiveAlarmTableMBean.OBJECT_NAME;
61
62          // use the alarm table serverId for 'system'
63
String JavaDoc system = (String JavaDoc)server.getAttribute(target, "ServerId");
64          // use the user.name environment property for user
65
String JavaDoc user = System.getProperty("user.name");
66          
67          String JavaDoc alarmId = req.getParameter("alarmId").trim();
68          
69          if (alarmId.equals("*"))
70          {
71             server.invoke(
72                   target,
73                   "acknowledgeAll",
74                   new Object JavaDoc[] { user, system },
75                   new String JavaDoc[] { "java.lang.String", "java.lang.String" });
76          }
77          else
78          {
79             server.invoke(
80                   target,
81                   "acknowledge",
82                   new Object JavaDoc[] { alarmId, user, system },
83                   new String JavaDoc[] { "java.lang.String", "java.lang.String", "java.lang.String" });
84          }
85       }
86       catch (Exception JavaDoc ex)
87       {
88          req.setAttribute("error", "Error acknowledging alarms: " + ex.toString());
89       }
90       req.getRequestDispatcher("/listActiveAlarmTable.jsp").forward(req, resp);
91    }
92
93 }
94
Popular Tags