Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
38840 views
1
/*
2
* Copyright (c) 2008, 2013, 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
26
* @bug 6471865 6675768
27
* @summary DescriptorSupport constructors throw IAE when traces are enabled;
28
* RequiredModelMBean.addAttributeChangeNotificationListener throws exception
29
* when traces enabled and no attributes.
30
* @author Luis-Miguel Alventosa
31
* @author Paul Cheeseman
32
*/
33
34
import java.util.logging.ConsoleHandler;
35
import java.util.logging.Handler;
36
import java.util.logging.Level;
37
import java.util.logging.Logger;
38
import javax.management.Notification;
39
import javax.management.NotificationListener;
40
import javax.management.modelmbean.DescriptorSupport;
41
import javax.management.modelmbean.RequiredModelMBean;
42
43
public class LoggingExceptionTest {
44
private static final String tests[] = new String[] {
45
"DescriptorSupport()",
46
"DescriptorSupport(int)",
47
"DescriptorSupport(String)",
48
"DescriptorSupport(String...)",
49
"DescriptorSupport(String[], Object[])",
50
"DescriptorSupport(DescriptorSupport)",
51
"RequiredModelMBean.addAttributeChangeNotificationListener",
52
};
53
public static void main(String[] args) {
54
Handler handler = new ConsoleHandler();
55
Logger logger = Logger.getLogger("javax.management.modelmbean");
56
logger.addHandler(handler);
57
logger.setLevel(Level.FINEST);
58
try {
59
for (int i = 0; i < tests.length; i++) {
60
System.out.println(">>> DescriptorSupportLoggingTest: Test Case " + i);
61
DescriptorSupport ds;
62
String msg = "Instantiate " + tests[i];
63
System.out.println(msg);
64
switch (i) {
65
case 0:
66
ds = new DescriptorSupport();
67
break;
68
case 1:
69
ds = new DescriptorSupport(10);
70
break;
71
case 2:
72
ds = new DescriptorSupport(new DescriptorSupport().toXMLString());
73
break;
74
case 3:
75
ds = new DescriptorSupport("name1=value1", "name2=value2");
76
break;
77
case 4:
78
ds = new DescriptorSupport(new String[] {"name"}, new Object[] {"value"});
79
break;
80
case 5:
81
ds = new DescriptorSupport(new DescriptorSupport());
82
break;
83
case 6:
84
RequiredModelMBean mbean = new RequiredModelMBean();
85
NotificationListener nl = new NotificationListener() {
86
public void handleNotification(Notification notification,
87
Object handback) {}
88
};
89
mbean.addAttributeChangeNotificationListener(nl, null, null);
90
break;
91
default:
92
throw new AssertionError();
93
}
94
System.out.println(msg + " OK");
95
}
96
} catch (Exception e) {
97
System.out.println("Got unexpected exception = " + e);
98
String msg = "Test FAILED!";
99
System.out.println(msg);
100
throw new IllegalArgumentException(msg);
101
}
102
System.out.println("Test PASSED!");
103
}
104
}
105
106