test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java
--- 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()) {