1
2 import java.util.HashMap;
3 import java.util.Map;
4 import javax.management.openmbean.CompositeData;
5 import javax.management.openmbean.CompositeDataSupport;
6 import javax.management.openmbean.CompositeType;
7 import javax.management.openmbean.OpenType;
8 import javax.management.openmbean.SimpleType;
9 import sun.management.StackTraceElementCompositeData;
10
11 import org.testng.annotations.*;
12 import static org.testng.Assert.*;
13
14 /*
15 * @test
16 * @bug 8139587
17 * @summary Check backward compatibility of StackTraceElementCompositeData
18 * @modules java.management/sun.management
19 * @run testng CompatibilityTest
20 * @author Jaroslav Bachorik
21 */
22
23 public class CompatibilityTest {
24 private static CompositeType compositeTypeV6;
25 private static Map<String, Object> itemsV6;
26 private static CompositeData compositeDataV6;
27
28 @BeforeClass
29 public static void setup() throws Exception {
30 compositeTypeV6 = new CompositeType(
31 StackTraceElement.class.getName(),
32 "StackTraceElement",
33 new String[]{
34 "className", "methodName", "fileName", "nativeMethod", "lineNumber"
35 },
36 new String[]{
37 "className", "methodName", "fileName", "nativeMethod", "lineNumber"
38 },
39 new OpenType[]{
40 SimpleType.STRING,
53 itemsV6.put("lineNumber", 123);
54
55 compositeDataV6 = new CompositeDataSupport(compositeTypeV6, itemsV6);
56 }
57
58 @Test
59 public void testV6Compatibility() throws Exception {
60 StackTraceElement ste = StackTraceElementCompositeData.from(compositeDataV6);
61
62 assertNotNull(ste);
63 assertEquals(ste.getClassName(), "MyClass");
64 assertEquals(ste.getMethodName(), "myMethod");
65 assertEquals(ste.getFileName(), "MyClass.java");
66 assertEquals(ste.isNativeMethod(), false);
67 assertEquals(ste.getLineNumber(), 123);
68
69 assertNull(ste.getModuleName());
70 assertNull(ste.getModuleVersion());
71 }
72 }
|
1
2 import java.util.HashMap;
3 import java.util.Map;
4 import javax.management.openmbean.CompositeData;
5 import javax.management.openmbean.CompositeDataSupport;
6 import javax.management.openmbean.CompositeType;
7 import javax.management.openmbean.OpenType;
8 import javax.management.openmbean.SimpleType;
9 import sun.management.StackTraceElementCompositeData;
10
11 import org.testng.annotations.*;
12 import static org.testng.Assert.*;
13
14 /*
15 * @test
16 * @bug 8139587
17 * @summary Check backward compatibility of StackTraceElementCompositeData
18 * @author Jaroslav Bachorik
19 *
20 * @run testng CompatibilityTest
21 */
22
23 public class CompatibilityTest {
24 private static CompositeType compositeTypeV6;
25 private static Map<String, Object> itemsV6;
26 private static CompositeData compositeDataV6;
27
28 @BeforeClass
29 public static void setup() throws Exception {
30 compositeTypeV6 = new CompositeType(
31 StackTraceElement.class.getName(),
32 "StackTraceElement",
33 new String[]{
34 "className", "methodName", "fileName", "nativeMethod", "lineNumber"
35 },
36 new String[]{
37 "className", "methodName", "fileName", "nativeMethod", "lineNumber"
38 },
39 new OpenType[]{
40 SimpleType.STRING,
53 itemsV6.put("lineNumber", 123);
54
55 compositeDataV6 = new CompositeDataSupport(compositeTypeV6, itemsV6);
56 }
57
58 @Test
59 public void testV6Compatibility() throws Exception {
60 StackTraceElement ste = StackTraceElementCompositeData.from(compositeDataV6);
61
62 assertNotNull(ste);
63 assertEquals(ste.getClassName(), "MyClass");
64 assertEquals(ste.getMethodName(), "myMethod");
65 assertEquals(ste.getFileName(), "MyClass.java");
66 assertEquals(ste.isNativeMethod(), false);
67 assertEquals(ste.getLineNumber(), 123);
68
69 assertNull(ste.getModuleName());
70 assertNull(ste.getModuleVersion());
71 }
72 }
73
|