hotspot/test/runtime/modules/AccessCheck/PkgNotExp.java
changeset 44520 0553e129e0ec
parent 43665 4bb003cad9b9
equal deleted inserted replaced
44471:7e8e5ceecf99 44520:0553e129e0ec
    35  * @run main/othervm -Xbootclasspath/a:. PkgNotExp
    35  * @run main/othervm -Xbootclasspath/a:. PkgNotExp
    36  */
    36  */
    37 
    37 
    38 import static jdk.test.lib.Asserts.*;
    38 import static jdk.test.lib.Asserts.*;
    39 
    39 
    40 import java.lang.reflect.Layer;
       
    41 import java.lang.module.Configuration;
    40 import java.lang.module.Configuration;
    42 import java.lang.module.ModuleDescriptor;
    41 import java.lang.module.ModuleDescriptor;
    43 import java.lang.module.ModuleFinder;
    42 import java.lang.module.ModuleFinder;
    44 import java.util.HashMap;
    43 import java.util.HashMap;
    45 import java.util.Map;
    44 import java.util.Map;
    56 // class p1.c1 defined in m1x tries to access p2.c2 defined in m2x
    55 // class p1.c1 defined in m1x tries to access p2.c2 defined in m2x
    57 // Access denied since p2 is not exported.
    56 // Access denied since p2 is not exported.
    58 //
    57 //
    59 public class PkgNotExp {
    58 public class PkgNotExp {
    60 
    59 
    61     // Create a Layer over the boot layer.
    60     // Create a layer over the boot layer.
    62     // Define modules within this layer to test access between
    61     // Define modules within this layer to test access between
    63     // publically defined classes within packages of those modules.
    62     // publically defined classes within packages of those modules.
    64     public void createLayerOnBoot() throws Throwable {
    63     public void createLayerOnBoot() throws Throwable {
    65 
    64 
    66         // Define module:     m1x
    65         // Define module:     m1x
    86 
    85 
    87         // Set up a ModuleFinder containing all modules for this layer.
    86         // Set up a ModuleFinder containing all modules for this layer.
    88         ModuleFinder finder = ModuleLibrary.of(descriptor_m1x, descriptor_m2x);
    87         ModuleFinder finder = ModuleLibrary.of(descriptor_m1x, descriptor_m2x);
    89 
    88 
    90         // Resolves "m1x"
    89         // Resolves "m1x"
    91         Configuration cf = Layer.boot()
    90         Configuration cf = ModuleLayer.boot()
    92                 .configuration()
    91                 .configuration()
    93                 .resolve(finder, ModuleFinder.of(), Set.of("m1x"));
    92                 .resolve(finder, ModuleFinder.of(), Set.of("m1x"));
    94 
    93 
    95         // map each module to the same class loader for this test
    94         // map each module to the same class loader for this test
    96         Map<String, ClassLoader> map = new HashMap<>();
    95         Map<String, ClassLoader> map = new HashMap<>();
    97         map.put("m1x", MySameClassLoader.loader1);
    96         map.put("m1x", MySameClassLoader.loader1);
    98         map.put("m2x", MySameClassLoader.loader1);
    97         map.put("m2x", MySameClassLoader.loader1);
    99 
    98 
   100         // Create Layer that contains m1x and m2x
    99         // Create layer that contains m1x and m2x
   101         Layer layer = Layer.boot().defineModules(cf, map::get);
   100         ModuleLayer layer = ModuleLayer.boot().defineModules(cf, map::get);
   102 
   101 
   103         assertTrue(layer.findLoader("m1x") == MySameClassLoader.loader1);
   102         assertTrue(layer.findLoader("m1x") == MySameClassLoader.loader1);
   104         assertTrue(layer.findLoader("m2x") == MySameClassLoader.loader1);
   103         assertTrue(layer.findLoader("m2x") == MySameClassLoader.loader1);
   105 
   104 
   106         // now use the same loader to load class p1.c1
   105         // now use the same loader to load class p1.c1