Fix checkstyle RedundantModifier test violations

This commit is contained in:
Phillip Webb
2019-06-07 20:46:33 -07:00
parent cde4f0d688
commit 266d6334b2
41 changed files with 88 additions and 75 deletions

View File

@@ -21,6 +21,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Constructor;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
@@ -42,6 +43,7 @@ import org.springframework.boot.loader.archive.Archive.EntryFilter;
import org.springframework.boot.loader.archive.ExplodedArchive;
import org.springframework.boot.loader.archive.JarFileArchive;
import org.springframework.boot.loader.util.SystemPropertyUtils;
import org.springframework.util.Assert;
/**
* {@link Launcher} for archives with user-configured classpath and main class via a
@@ -73,6 +75,14 @@ import org.springframework.boot.loader.util.SystemPropertyUtils;
*/
public class PropertiesLauncher extends Launcher {
private static final Class<?>[] PARENT_ONLY_PARAMS = new Class<?>[] { ClassLoader.class };
private static final Class<?>[] URLS_AND_PARENT_PARAMS = new Class<?>[] { URL[].class, ClassLoader.class };
private static final Class<?>[] NO_PARAMS = new Class<?>[] {};
private static final URL[] NO_URLS = new URL[0];
private static final String DEBUG = "loader.debug";
/**
@@ -339,7 +349,7 @@ public class PropertiesLauncher extends Launcher {
for (Archive archive : archives) {
urls.add(archive.getUrl());
}
ClassLoader loader = new LaunchedURLClassLoader(urls.toArray(new URL[0]), getClass().getClassLoader());
ClassLoader loader = new LaunchedURLClassLoader(urls.toArray(NO_URLS), getClass().getClassLoader());
debug("Classpath: " + urls);
String customLoaderClassName = getProperty("loader.classLoader");
if (customLoaderClassName != null) {
@@ -350,22 +360,29 @@ public class PropertiesLauncher extends Launcher {
}
@SuppressWarnings("unchecked")
private ClassLoader wrapWithCustomClassLoader(ClassLoader parent, String loaderClassName) throws Exception {
Class<ClassLoader> loaderClass = (Class<ClassLoader>) Class.forName(loaderClassName, true, parent);
private ClassLoader wrapWithCustomClassLoader(ClassLoader parent, String className) throws Exception {
Class<ClassLoader> type = (Class<ClassLoader>) Class.forName(className, true, parent);
ClassLoader classLoader = newClassLoader(type, PARENT_ONLY_PARAMS, parent);
if (classLoader == null) {
classLoader = newClassLoader(type, URLS_AND_PARENT_PARAMS, NO_URLS, parent);
}
if (classLoader == null) {
classLoader = newClassLoader(type, NO_PARAMS);
}
Assert.notNull(classLoader, "Unable to create class loader for " + className);
return classLoader;
}
private ClassLoader newClassLoader(Class<ClassLoader> loaderClass, Class<?>[] parameterTypes, Object... initargs)
throws Exception {
try {
return loaderClass.getConstructor(ClassLoader.class).newInstance(parent);
Constructor<ClassLoader> constructor = loaderClass.getDeclaredConstructor(parameterTypes);
constructor.setAccessible(true);
return constructor.newInstance(initargs);
}
catch (NoSuchMethodException ex) {
// Ignore and try with URLs
return null;
}
try {
return loaderClass.getConstructor(URL[].class, ClassLoader.class).newInstance(new URL[0], parent);
}
catch (NoSuchMethodException ex) {
// Ignore and try without any arguments
}
return loaderClass.newInstance();
}
private String getProperty(String propertyKey) throws Exception {

View File

@@ -360,7 +360,7 @@ class PropertiesLauncherTests {
public static class TestLoader extends URLClassLoader {
public TestLoader(ClassLoader parent) {
TestLoader(ClassLoader parent) {
super(new URL[0], parent);
}