KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tools > ant > taskdefs > optional > jmx > connector > weblogic > WebLogicMBeanValueConverter


1 package org.apache.tools.ant.taskdefs.optional.jmx.connector.weblogic;
2
3 /*
4  * ============================================================================
5  * The Apache Software License, Version 1.1
6  * ============================================================================
7  *
8  * Copyright (C) 2000-2002 The Apache Software Foundation. All
9  * rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without modifica-
12  * tion, are permitted provided that the following conditions are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright notice,
15  * this list of conditions and the following disclaimer.
16  *
17  * 2. Redistributions in binary form must reproduce the above copyright notice,
18  * this list of conditions and the following disclaimer in the documentation
19  * and/or other materials provided with the distribution.
20  *
21  * 3. The end-user documentation included with the redistribution, if any, must
22  * include the following acknowledgment: "This product includes software
23  * developed by the Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself, if
25  * and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Ant" and "Apache Software Foundation" must not be used to
28  * endorse or promote products derived from this software without prior
29  * written permission. For written permission, please contact
30  * apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache", nor may
33  * "Apache" appear in their name, without prior written permission of the
34  * Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
37  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
38  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
39  * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
40  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
41  * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
42  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
43  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
45  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46  *
47  * This software consists of voluntary contributions made by many individuals
48  * on behalf of the Apache Software Foundation. For more information on the
49  * Apache Software Foundation, please see <http://www.apache.org/>.
50  *
51  */

52
53
54 /**
55  * Converts a String to an equivalent weblogic.management.WebLogicMBeanValue value.
56  *
57  * @author <a HREF="mailto:bdueck@yahoo.com">Brian Dueck</a>
58  * @version $Id: WebLogicMBeanValueConverter.java,v 1.2 2003/05/28 22:28:26 bdueck Exp $
59  */

60 public class WebLogicMBeanValueConverter implements org.apache.tools.ant.taskdefs.optional.jmx.converter.ValueConverter {
61     
62     private String JavaDoc[] supportedTypes = {weblogic.management.WebLogicMBean.class.getName()};
63     private String JavaDoc defaultDomain = null;
64     private weblogic.management.MBeanHome home = null;
65     
66     /** Creates a new instance of WebLogicMBeanValueConverter.
67      * @param home Reference to the MBeanHome. Required in order to convert
68      * an ObjectName into an WebLogicMBean instance.
69      */

70     public WebLogicMBeanValueConverter(weblogic.management.MBeanHome home) {
71         this.home = home;
72         this.defaultDomain = home.getDomainName();
73     }
74     
75     /**
76      * Convert a string to an ObjectName.
77      *
78      * Value is in the form of an javax.management.ObjectName
79      * (e.g. :Name=myserver,Type=Server)
80      */

81     public Object JavaDoc valueOf(String JavaDoc value, String JavaDoc type) throws Exception JavaDoc {
82
83         try {
84             // convert the value into an ObjectName - adds a domain name
85
// if the ObjectName does not have one
86
//
87
javax.management.ObjectName JavaDoc objectName = new javax.management.ObjectName JavaDoc(value);
88             if ((defaultDomain != null) && ((objectName.getDomain() == null) || (objectName.getDomain().length() == 0)) ) {
89                 objectName = new javax.management.ObjectName JavaDoc(defaultDomain + value);
90             }
91             return home.getMBean(objectName);
92
93         } catch (Exception JavaDoc x) {
94             throw new org.apache.tools.ant.BuildException("Invalid format. Expected format \"[domainName]:[property=value][,property=value]*\" E.g. mydomain:Name=myconnectionPool,Type=JDBCConnectionPool",x);
95         }
96     }
97     
98     public String JavaDoc[] getSupportedTypes() {
99         return supportedTypes;
100     }
101     
102 }
103
104 /*
105  * $Log: WebLogicMBeanValueConverter.java,v $
106  * Revision 1.2 2003/05/28 22:28:26 bdueck
107  * *** empty log message ***
108  *
109  * Revision 1.1 2003/05/26 22:08:00 bdueck
110  * Added special logic required to support WebLogic TargetMBean
111  * and other descendents of WebLogicMBean.
112  *
113  *
114  */
Popular Tags