test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java
changeset 53044 432795b1c2c8
parent 47441 258dc79d2265
--- a/test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java	Wed Dec 19 10:36:16 2018 +0000
+++ b/test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java	Wed Dec 19 11:48:34 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@
  *          DefaultLoggerFinder and SimpleConsoleLogger implementation.
  * @modules java.base/sun.util.logging
  *          java.base/jdk.internal.logger
- * @build AccessSystemLogger LoggerFinderLoaderTest CustomSystemClassLoader
+ * @build AccessSystemLogger LoggerFinderLoaderTest CustomSystemClassLoader BaseLoggerFinder BaseLoggerFinder2
  * @run  driver AccessSystemLogger
  * @run  main/othervm -Xbootclasspath/a:boot -Djava.system.class.loader=CustomSystemClassLoader LoggerFinderLoaderTest NOSECURITY
  * @run  main/othervm -Xbootclasspath/a:boot -Djava.system.class.loader=CustomSystemClassLoader LoggerFinderLoaderTest NOPERMISSIONS
@@ -118,8 +118,8 @@
     static {
         try {
             providerClass = new Class<?>[] {
-                ClassLoader.getSystemClassLoader().loadClass("LoggerFinderLoaderTest$BaseLoggerFinder"),
-                ClassLoader.getSystemClassLoader().loadClass("LoggerFinderLoaderTest$BaseLoggerFinder2")
+                ClassLoader.getSystemClassLoader().loadClass("BaseLoggerFinder"),
+                ClassLoader.getSystemClassLoader().loadClass("BaseLoggerFinder2")
             };
         } catch (ClassNotFoundException ex) {
             throw new ExceptionInInitializerError(ex);
@@ -171,51 +171,6 @@
         public Logger getLocalizedLogger(String name, ResourceBundle bundle, Module caller);
     }
 
-    public static class BaseLoggerFinder extends LoggerFinder implements TestLoggerFinder {
-
-        static final RuntimePermission LOGGERFINDER_PERMISSION =
-                    new RuntimePermission("loggerFinder");
-        public BaseLoggerFinder() {
-            if (fails.get()) {
-                throw new RuntimeException("Simulate exception while loading provider");
-            }
-        }
-
-        System.Logger createSimpleLogger(String name) {
-            PrivilegedAction<System.Logger> pa = () -> SimpleConsoleLogger.makeSimpleLogger(name);
-            return AccessController.doPrivileged(pa);
-        }
-
-
-        @Override
-        public Logger getLogger(String name, Module caller) {
-            SecurityManager sm = System.getSecurityManager();
-            if (sm != null) {
-                sm.checkPermission(LOGGERFINDER_PERMISSION);
-            }
-            PrivilegedAction<ClassLoader> pa = () -> caller.getClassLoader();
-            ClassLoader callerLoader = AccessController.doPrivileged(pa);
-            if (callerLoader == null) {
-                return system.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
-            } else {
-                return user.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
-            }
-        }
-    }
-
-    public static class BaseLoggerFinder2 extends LoggerFinder implements TestLoggerFinder {
-
-        static final RuntimePermission LOGGERFINDER_PERMISSION =
-                    new RuntimePermission("loggerFinder");
-        public BaseLoggerFinder2() {
-            throw new ServiceConfigurationError("Should not come here");
-        }
-        @Override
-        public Logger getLogger(String name, Module caller) {
-            throw new ServiceConfigurationError("Should not come here");
-        }
-    }
-
     public static class MyBundle extends ResourceBundle {
 
         final ConcurrentHashMap<String,String> map = new ConcurrentHashMap<>();
@@ -270,7 +225,7 @@
                         throw new RuntimeException("Expected message not found. Error stream contained: " + warning);
                     }
                     if (TestLoggerFinder.fails.get()) {
-                        if (!warning.contains("java.util.ServiceConfigurationError: java.lang.System$LoggerFinder: Provider LoggerFinderLoaderTest$BaseLoggerFinder could not be instantiated")) {
+                        if (!warning.contains("java.util.ServiceConfigurationError: java.lang.System$LoggerFinder: Provider BaseLoggerFinder could not be instantiated")) {
                             throw new RuntimeException("Expected message not found. Error stream contained: " + warning);
                         }
                     } else if (singleton) {
@@ -425,7 +380,7 @@
                 ServiceLoader.load(LoggerFinder.class, ClassLoader.getSystemClassLoader());
             Iterator<LoggerFinder> iterator = serviceLoader.iterator();
             Object firstProvider = iterator.next();
-            if (!firstProvider.getClass().getName().equals("LoggerFinderLoaderTest$BaseLoggerFinder")) {
+            if (!firstProvider.getClass().getName().equals("BaseLoggerFinder")) {
                 throw new RuntimeException("Unexpected provider: " + firstProvider.getClass().getName());
             }
             if (!iterator.hasNext()) {