KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > console > web > taglib > MBeanServerContextTag


1 /**
2  *
3  * Copyright 2003-2004 The Apache Software Foundation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.geronimo.console.web.taglib;
19
20 import java.util.Iterator JavaDoc;
21 import java.util.Set JavaDoc;
22 import javax.management.MBeanServer JavaDoc;
23 import javax.management.MBeanServerFactory JavaDoc;
24 import javax.management.ObjectName JavaDoc;
25 import javax.management.QueryExp JavaDoc;
26 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
27
28 public class MBeanServerContextTag extends BodyTagSupport JavaDoc {
29     private MBeanServer JavaDoc server;
30
31     public int doStartTag() {
32         server = getMBeanServer();
33         return EVAL_BODY_INCLUDE;
34     }
35
36     public int doEndTag() {
37         return EVAL_PAGE;
38     }
39
40     public MBeanServer JavaDoc getMBeanServer() {
41         Iterator JavaDoc servers = MBeanServerFactory.findMBeanServer(null).iterator();
42         MBeanServer JavaDoc server = null;
43         while (servers.hasNext()) {
44             server = (MBeanServer JavaDoc) servers.next();
45         }
46         return server;
47     }
48
49     public String JavaDoc getObjectNameFilter() {
50         String JavaDoc filter =
51                 pageContext.getRequest().getParameter("ObjectNameFilter");
52         if (filter == null || filter == "") {
53             return "*:*";
54         }
55         return filter;
56     }
57
58     public Set JavaDoc getMBeans() {
59         try {
60             if (server != null) {
61                 ObjectName JavaDoc objectName = new ObjectName JavaDoc(getObjectNameFilter());
62                 QueryExp JavaDoc query = null;
63                 return server.queryMBeans(objectName, query);
64             } else {
65                 throw new Exception JavaDoc("MBean server has not been initialized");
66             }
67         } catch (Exception JavaDoc e) {
68             e.printStackTrace();
69         }
70         return null;
71     }
72 }
73
Popular Tags