KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > javax > management > modelmbean > ModelMBeanConstructorInfoTest


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package test.javax.management.modelmbean;
10
11 import java.lang.reflect.Constructor JavaDoc;
12 import javax.management.Descriptor JavaDoc;
13 import javax.management.MBeanParameterInfo JavaDoc;
14 import javax.management.RuntimeOperationsException JavaDoc;
15 import javax.management.modelmbean.DescriptorSupport JavaDoc;
16 import javax.management.modelmbean.ModelMBeanConstructorInfo JavaDoc;
17
18 import junit.framework.TestCase;
19 import junit.textui.TestRunner;
20
21 /**
22  * @version $Revision: 1.5 $
23  */

24 public class ModelMBeanConstructorInfoTest extends TestCase
25 {
26    public static class Bob
27    {
28       public Bob(String JavaDoc address)
29       {
30       }
31    }
32
33    public static void main(String JavaDoc[] args)
34    {
35       TestRunner.run(ModelMBeanConstructorInfoTest.class);
36    }
37
38    public ModelMBeanConstructorInfoTest(String JavaDoc name)
39    {
40       super(name);
41    }
42
43    public void testValid() throws Exception JavaDoc
44    {
45       Constructor JavaDoc bobctor =
46               ModelMBeanConstructorInfoTest.Bob.class.getConstructor(new Class JavaDoc[]{String JavaDoc.class});
47       String JavaDoc[] fields = {"name", "descriptorType", "displayName", "role"};
48       String JavaDoc[] values =
49               {bobctor.getName(), "operation", "bob maker", "constructor"};
50       DescriptorSupport JavaDoc ds = new DescriptorSupport JavaDoc(fields, values);
51       ModelMBeanConstructorInfo JavaDoc ctorinfo =
52               new ModelMBeanConstructorInfo JavaDoc("BobBuilder", bobctor, ds);
53    }
54
55    public void testAddDefaultDisplayName() throws Exception JavaDoc
56    {
57       Constructor JavaDoc bobctor =
58               ModelMBeanConstructorInfoTest.Bob.class.getConstructor(new Class JavaDoc[]{String JavaDoc.class});
59       String JavaDoc[] fields = {"name", "descriptorType", "role"};
60       String JavaDoc[] values = {bobctor.getName(), "operation", "constructor"};
61       DescriptorSupport JavaDoc ds = new DescriptorSupport JavaDoc(fields, values);
62       ModelMBeanConstructorInfo JavaDoc ctorinfo =
63               new ModelMBeanConstructorInfo JavaDoc("BobBuilder", bobctor, ds);
64       Descriptor JavaDoc d = ctorinfo.getDescriptor();
65       String JavaDoc dispname = (String JavaDoc)d.getFieldValue("displayName");
66       assertTrue("Unexpected displayName",
67                  dispname.compareTo(bobctor.getName()) == 0);
68    }
69
70    public void testBadRole() throws Exception JavaDoc
71    {
72       try
73       {
74          Constructor JavaDoc bobctor =
75                  ModelMBeanConstructorInfoTest.Bob.class.getConstructor(new Class JavaDoc[]{String JavaDoc.class});
76          String JavaDoc[] fields =
77                  {"name", "descriptorType", "displayName", "role"};
78          String JavaDoc[] values =
79                  {bobctor.getName(), "operation", "bob maker", "getter"};
80          DescriptorSupport JavaDoc ds = new DescriptorSupport JavaDoc(fields, values);
81          ModelMBeanConstructorInfo JavaDoc ctorinfo =
82                  new ModelMBeanConstructorInfo JavaDoc("BobBuilder", bobctor, ds);
83          fail("Expecting RuntimeOperationsException");
84       }
85       catch (RuntimeOperationsException JavaDoc x)
86       {
87          if (!(x.getTargetException() instanceof IllegalArgumentException JavaDoc))
88          {
89             fail("Target exception should be IllegalArgumentException");
90          }
91          assertTrue(true); // success
92
}
93    }
94
95    public void testCaseInsensitiveDescriptorType()
96    {
97       DescriptorSupport JavaDoc ds =
98               new DescriptorSupport JavaDoc(new String JavaDoc[]{
99                  "descriptorType=OPERATION",
100                  "role=constructor",
101                  "name=BobBuilder",
102                  "displayname=bob maker"});
103       ModelMBeanConstructorInfo JavaDoc ctorinfo =
104               new ModelMBeanConstructorInfo JavaDoc("BobBuilder",
105                                             "Default Bob Constructor",
106                                             new MBeanParameterInfo JavaDoc[0],
107                                             ds);
108    }
109
110    protected void setUp()
111    {
112    }
113
114    protected void tearDown()
115    {
116    }
117 }
118
Popular Tags