Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/lang/management/RuntimeMXBean/PropertiesTest.java
41154 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 6260131
27
* @summary Test for RuntimeMXBean.getSystemProperties() if the system
28
* properties contain another list of properties as the defaults.
29
* @author Mandy Chung
30
*
31
* @run build PropertiesTest
32
* @run main PropertiesTest
33
*/
34
35
import java.util.*;
36
import java.io.*;
37
import java.lang.management.ManagementFactory;
38
import java.lang.management.RuntimeMXBean;
39
40
public class PropertiesTest {
41
private static int NUM_MYPROPS = 3;
42
public static void main(String[] argv) throws Exception {
43
// Save a copy of the original system properties
44
Properties props = System.getProperties();
45
46
try {
47
// replace the system Properties object for any modification
48
// in case jtreg caches a copy
49
System.setProperties(new Properties(props));
50
runTest(props.size());
51
} finally {
52
// restore original system properties
53
System.setProperties(props);
54
}
55
}
56
57
private static void runTest(int sysPropsCount) throws Exception {
58
// Create a new system properties using the old one
59
// as the defaults
60
Properties myProps = new Properties( System.getProperties() );
61
62
// add several new properties
63
myProps.put("good.property.1", "good.value.1");
64
myProps.put("good.property.2", "good.value.2");
65
myProps.put("good.property.3", "good.value.3");
66
myProps.put("good.property.4", new Integer(4));
67
myProps.put(new Integer(5), "good.value.5");
68
myProps.put(new Object(), new Object());
69
70
System.setProperties(myProps);
71
72
Map<String,String> props =
73
ManagementFactory.getRuntimeMXBean().getSystemProperties();
74
int i=0;
75
for (Map.Entry<String,String> e : props.entrySet()) {
76
String key = e.getKey();
77
String value = e.getValue();
78
System.out.println(i++ + ": " + key + " : " + value);
79
}
80
81
if (props.size() != NUM_MYPROPS + sysPropsCount) {
82
throw new RuntimeException("Test Failed: " +
83
"Expected number of properties = " +
84
NUM_MYPROPS + sysPropsCount +
85
" but found = " + props.size());
86
}
87
}
88
}
89
90