Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/javax/management/Introspector/NotCompliantCauseTest.java
41149 views
1
/*
2
* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test NotCompliantCauseTest.java
26
* @bug 6374290
27
* @summary Test that NotCompliantMBeanException has a cause in case of
28
* type mapping problems.
29
* @author Daniel Fuchs, Alexander Shusherov
30
*
31
* @run clean NotCompliantCauseTest
32
* @run build NotCompliantCauseTest
33
* @run main NotCompliantCauseTest
34
*/
35
/*
36
* NotCompliantCauseTest.java
37
*
38
* Created on January 20, 2006, 2:56 PM / dfuchs
39
*
40
*/
41
42
import javax.management.MBeanServer;
43
import javax.management.MBeanServerFactory;
44
import javax.management.NotCompliantMBeanException;
45
import javax.management.ObjectName;
46
import javax.management.openmbean.OpenDataException;
47
48
/**
49
*
50
* @author Sun Microsystems, 2005 - All rights reserved.
51
*/
52
public class NotCompliantCauseTest {
53
54
/**
55
* Creates a new instance of NotCompliantCauseTest
56
*/
57
public NotCompliantCauseTest() {
58
}
59
60
/**
61
* Test that NotCompliantMBeanException has a cause in case of
62
* type mapping problems.
63
**/
64
public static void main(String[] args) {
65
NotCompliantCauseTest instance = new NotCompliantCauseTest();
66
67
instance.test1();
68
}
69
70
public static class RuntimeTestException extends RuntimeException {
71
public RuntimeTestException(String msg) {
72
super(msg);
73
}
74
public RuntimeTestException(String msg, Throwable cause) {
75
super(msg,cause);
76
}
77
public RuntimeTestException(Throwable cause) {
78
super(cause);
79
}
80
}
81
82
/**
83
* Test that NotCompliantMBeanException has a cause in case of
84
* type mapping problems.
85
**/
86
void test1() {
87
try {
88
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
89
ObjectName oname = new ObjectName("domain:type=test");
90
91
mbs.createMBean(NotCompliant.class.getName(), oname);
92
System.err.println("ERROR: expected " +
93
"NotCompliantMBeanException not thrown");
94
throw new RuntimeTestException("NotCompliantMBeanException not thrown");
95
} catch (RuntimeTestException e) {
96
throw e;
97
} catch (NotCompliantMBeanException e) {
98
Throwable cause = e.getCause();
99
if (cause == null)
100
throw new RuntimeTestException("NotCompliantMBeanException " +
101
"doesn't have any cause.", e);
102
while (cause.getCause() != null) {
103
if (cause instanceof OpenDataException) break;
104
cause = cause.getCause();
105
}
106
if (! (cause instanceof OpenDataException))
107
throw new RuntimeTestException("NotCompliantMBeanException " +
108
"doesn't have expected cause ("+
109
OpenDataException.class.getName()+"): "+cause, e);
110
System.err.println("SUCCESS: Found expected cause: " + cause);
111
} catch (Exception e) {
112
System.err.println("Unexpected exception: " + e);
113
throw new RuntimeException("Unexpected exception: " + e,e);
114
}
115
}
116
117
public interface NotCompliantMXBean {
118
Object returnObject();
119
}
120
121
public static class NotCompliant implements NotCompliantMXBean {
122
public Object returnObject() {
123
return new Object();
124
}
125
}
126
127
}
128
129