22 */
23
24 package jdk.test;
25
26 import p1.Bundle;
27 import java.lang.reflect.Module;
28 import java.util.ResourceBundle;
29
30 public class Main {
31 private static final String TEST_RESOURCE_BUNDLE_NAME
32 = "jdk.test.resources.TestResources";
33 private static final String M1_RESOURCE_BUNDLE_NAME
34 = "p1.resources.MyResources";
35
36 public static void main(String[] args) {
37 // local resource
38 ResourceBundle.getBundle(TEST_RESOURCE_BUNDLE_NAME, Main.class.getModule());
39
40 // resource in another module
41 Module m1 = p1.Bundle.class.getModule();
42 ResourceBundle rb1 = Bundle.getBundle(M1_RESOURCE_BUNDLE_NAME);
43 ResourceBundle rb2 = ResourceBundle.getBundle(M1_RESOURCE_BUNDLE_NAME, m1);
44 if (rb1 != rb2) {
45 throw new RuntimeException("unexpected resource bundle");
46 }
47
48 System.setSecurityManager(new SecurityManager());
49
50 // no permission needed for local resource
51 ResourceBundle.getBundle(TEST_RESOURCE_BUNDLE_NAME, Main.class.getModule());
52
53 // resource bundle through m1's exported API
54 Bundle.getBundle(M1_RESOURCE_BUNDLE_NAME);
55
56 try {
57 // fail to get resource bundle in another module
58 ResourceBundle.getBundle(M1_RESOURCE_BUNDLE_NAME, m1);
59 throw new RuntimeException("should deny access");
60 } catch (SecurityException e) {}
61 }
62
63 }
|
22 */
23
24 package jdk.test;
25
26 import p1.Bundle;
27 import java.lang.reflect.Module;
28 import java.util.ResourceBundle;
29
30 public class Main {
31 private static final String TEST_RESOURCE_BUNDLE_NAME
32 = "jdk.test.resources.TestResources";
33 private static final String M1_RESOURCE_BUNDLE_NAME
34 = "p1.resources.MyResources";
35
36 public static void main(String[] args) {
37 // local resource
38 ResourceBundle.getBundle(TEST_RESOURCE_BUNDLE_NAME, Main.class.getModule());
39
40 // resource in another module
41 Module m1 = p1.Bundle.class.getModule();
42
43 // bundles loaded with different cache key
44 ResourceBundle rb1 = Bundle.getBundle(M1_RESOURCE_BUNDLE_NAME);
45 ResourceBundle rb2 = ResourceBundle.getBundle(M1_RESOURCE_BUNDLE_NAME, m1);
46 if (rb1 == rb2) {
47 throw new RuntimeException("unexpected resource bundle");
48 }
49
50 System.setSecurityManager(new SecurityManager());
51
52 // no permission needed for local resource
53 ResourceBundle.getBundle(TEST_RESOURCE_BUNDLE_NAME, Main.class.getModule());
54
55 // resource bundle through m1's exported API
56 Bundle.getBundle(M1_RESOURCE_BUNDLE_NAME);
57
58 try {
59 // fail to get resource bundle in another module
60 ResourceBundle.getBundle(M1_RESOURCE_BUNDLE_NAME, m1);
61 throw new RuntimeException("should deny access");
62 } catch (SecurityException e) {}
63 }
64
65 }
|