jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java
changeset 37593 824750ada3d6
parent 36511 9d0388c6b336
child 37779 7c84df693837
equal deleted inserted replaced
37592:c80f098887f4 37593:824750ada3d6
    37 import java.util.Objects;
    37 import java.util.Objects;
    38 import java.util.Optional;
    38 import java.util.Optional;
    39 import java.util.Set;
    39 import java.util.Set;
    40 import java.util.stream.Collectors;
    40 import java.util.stream.Collectors;
    41 import java.util.stream.Stream;
    41 import java.util.stream.Stream;
       
    42 import sun.security.action.GetPropertyAction;
    42 
    43 
    43 /**
    44 /**
    44  * A finder of modules. A {@code ModuleFinder} is used to find modules during
    45  * A finder of modules. A {@code ModuleFinder} is used to find modules during
    45  * <a href="Configuration.html#resolution">resolution</a> or
    46  * <a href="Configuration.html#resolution">resolution</a> or
    46  * <a href="Configuration.html#servicebinding">service binding</a>.
    47  * <a href="Configuration.html#servicebinding">service binding</a>.
   150     static ModuleFinder ofSystem() {
   151     static ModuleFinder ofSystem() {
   151         String home;
   152         String home;
   152 
   153 
   153         SecurityManager sm = System.getSecurityManager();
   154         SecurityManager sm = System.getSecurityManager();
   154         if (sm != null) {
   155         if (sm != null) {
   155             PrivilegedAction<String> pa = () -> System.getProperty("java.home");
   156             PrivilegedAction<String> pa = new GetPropertyAction("java.home");
   156             home = AccessController.doPrivileged(pa);
   157             home = AccessController.doPrivileged(pa);
   157             Permission p = new FilePermission(home + File.separator + "-", "read");
   158             Permission p = new FilePermission(home + File.separator + "-", "read");
   158             sm.checkPermission(p);
   159             sm.checkPermission(p);
   159         } else {
   160         } else {
   160             home = System.getProperty("java.home");
   161             home = System.getProperty("java.home");