Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/javax/management/modelmbean/OnUnregisterTest.java
51441 views
1
/*
2
* Copyright (c) 2005, 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
26
* @bug 6175387
27
* @summary Check that OnUnregister is an allowed value for persistPolicy
28
* in ModelMBeanAttributeInfo
29
* @author Eamonn McManus
30
*
31
* @run clean OnUnregisterTest
32
* @run build OnUnregisterTest
33
* @run main OnUnregisterTest
34
*/
35
36
// Since our RequiredModelMBean implementation doesn't support
37
// persistence, it doesn't have any behaviour for OnUnregister, so we
38
// can't test that. We can only test that the value is allowed.
39
40
// In versions of the API prior to the addition of OnUnregister, the
41
// attempt to construct a DescriptorSupport with persistPolicy=OnUnregister
42
// will throw an exception.
43
44
// The OnUnregister value is not case-sensitive, and we test that.
45
46
import javax.management.*;
47
import javax.management.modelmbean.*;
48
49
public class OnUnregisterTest {
50
public static void main(String[] args) throws Exception {
51
MBeanServer mbs = MBeanServerFactory.newMBeanServer();
52
ObjectName on = new ObjectName("a:b=c");
53
54
DescriptorSupport desc;
55
ModelMBeanAttributeInfo mmbai;
56
ModelMBeanInfo mmbi;
57
ModelMBean mmb;
58
59
desc = new DescriptorSupport("name=foo",
60
"descriptorType=attribute",
61
"persistPolicy=OnUnregister");
62
mmbai = new ModelMBeanAttributeInfo("foo", "int", "a foo",
63
true, true, false, desc);
64
mmbi = new ModelMBeanInfoSupport("a.b.c", "description",
65
new ModelMBeanAttributeInfo[] {mmbai},
66
null, null, null);
67
mmb = new RequiredModelMBean(mmbi);
68
69
mbs.registerMBean(mmb, on);
70
mbs.unregisterMBean(on);
71
72
desc = new DescriptorSupport("name=foo", "descriptorType=attribute");
73
mmbai = new ModelMBeanAttributeInfo("foo", "int", "a foo",
74
true, true, false, desc);
75
desc = new DescriptorSupport("name=bar",
76
"descriptorType=mbean",
77
"persistPolicy=onUnregister");
78
mmbi = new ModelMBeanInfoSupport("a.b.c", "description",
79
new ModelMBeanAttributeInfo[] {mmbai},
80
null, null, null, desc);
81
mmb = new RequiredModelMBean(mmbi);
82
mbs.registerMBean(mmb, on);
83
mbs.unregisterMBean(on);
84
}
85
}
86
87