diff --git a/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java b/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java index ec8b91c5f5d740518465608035e927299872e1e0..cfc80c534d9d4ace9e1dbf72df45db95856ba9cb 100644 --- a/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java +++ b/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java @@ -31,7 +31,7 @@ import java.net.*; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Iterator; -import sun.misc.Service; +import java.util.ServiceLoader; import sun.misc.ServiceConfigurationError; import sun.security.action.GetPropertyAction; import com.sun.net.httpserver.*; @@ -94,9 +94,10 @@ public abstract class HttpServerProvider { } private static boolean loadProviderAsService() { - @SuppressWarnings("unchecked") - Iterator i = Service.providers(HttpServerProvider.class, - ClassLoader.getSystemClassLoader()); + Iterator i = + ServiceLoader.load(HttpServerProvider.class, + ClassLoader.getSystemClassLoader()) + .iterator(); for (;;) { try { if (!i.hasNext()) diff --git a/src/share/classes/java/net/InetAddress.java b/src/share/classes/java/net/InetAddress.java index 8758cab7af3b0d7581efdf7b9d6593f1066cabf3..d927d160a68a1041c3a5847faa4cd6239eef9511 100644 --- a/src/share/classes/java/net/InetAddress.java +++ b/src/share/classes/java/net/InetAddress.java @@ -32,6 +32,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ArrayList; +import java.util.ServiceLoader; import java.security.AccessController; import java.io.ObjectStreamException; import java.io.IOException; @@ -39,7 +40,6 @@ import java.io.ObjectInputStream; import sun.security.action.*; import sun.net.InetAddressCachePolicy; import sun.net.util.IPAddressUtil; -import sun.misc.Service; import sun.net.spi.nameservice.*; /** @@ -876,10 +876,9 @@ class InetAddress implements java.io.Serializable { nameService = java.security.AccessController.doPrivileged( new java.security.PrivilegedExceptionAction() { public NameService run() { - // sun.misc.Service.providers returns a raw Iterator - @SuppressWarnings("unchecked") Iterator itr = - Service.providers(NameServiceDescriptor.class); + ServiceLoader.load(NameServiceDescriptor.class) + .iterator(); while (itr.hasNext()) { NameServiceDescriptor nsd = itr.next(); if (providerName. diff --git a/src/share/classes/java/util/jar/JarVerifier.java b/src/share/classes/java/util/jar/JarVerifier.java index 4f84ac28effd82e57f9cbcacf4dc917bb3261ea1..6a9a8b556671b6a2bd20b72d8075e04d66688b4a 100644 --- a/src/share/classes/java/util/jar/JarVerifier.java +++ b/src/share/classes/java/util/jar/JarVerifier.java @@ -90,7 +90,7 @@ class JarVerifier { private Object csdomain = new Object(); /** collect -DIGEST-MANIFEST values for blacklist */ - private List manifestDigests; + private List manifestDigests; public JarVerifier(byte rawBytes[]) { manifestRawBytes = rawBytes; @@ -99,7 +99,7 @@ class JarVerifier { sigFileData = new Hashtable(11); pendingBlocks = new ArrayList(); baos = new ByteArrayOutputStream(); - manifestDigests = new ArrayList(); + manifestDigests = new ArrayList<>(); } /** @@ -872,7 +872,7 @@ class JarVerifier { eagerValidation = eager; } - public synchronized List getManifestDigests() { + public synchronized List getManifestDigests() { return Collections.unmodifiableList(manifestDigests); } diff --git a/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java b/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java index c53ba0c6f5212409cc4a9d089ccc3b961c85856b..9541a5a45f38bfe085ca7a0faa2a7e9cb4636546 100644 --- a/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java +++ b/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java @@ -57,7 +57,7 @@ class JavaUtilJarAccessImpl implements JavaUtilJarAccess { jar.setEagerValidation(eager); } - public List getManifestDigests(JarFile jar) { + public List getManifestDigests(JarFile jar) { return jar.getManifestDigests(); } } diff --git a/src/share/classes/javax/script/ScriptEngineManager.java b/src/share/classes/javax/script/ScriptEngineManager.java index c87f48175625ff0dd03cccdd6cfe9bd7c179ea70..9dfb6fd92219b15f0a77ada64c92ae0a69936094 100644 --- a/src/share/classes/javax/script/ScriptEngineManager.java +++ b/src/share/classes/javax/script/ScriptEngineManager.java @@ -102,7 +102,7 @@ public class ScriptEngineManager { } private void initEngines(final ClassLoader loader) { - Iterator itr = null; + Iterator itr = null; try { if (loader != null) { itr = Service.providers(ScriptEngineFactory.class, loader); @@ -124,7 +124,7 @@ public class ScriptEngineManager { try { while (itr.hasNext()) { try { - ScriptEngineFactory fact = (ScriptEngineFactory) itr.next(); + ScriptEngineFactory fact = itr.next(); engineSpis.add(fact); } catch (ServiceConfigurationError err) { System.err.println("ScriptEngineManager providers.next(): " @@ -441,7 +441,7 @@ public class ScriptEngineManager { // Note that this code is same as ClassLoader.getCallerClassLoader(). // But, that method is package private and hence we can't call here. private ClassLoader getCallerClassLoader() { - Class caller = Reflection.getCallerClass(3); + Class caller = Reflection.getCallerClass(3); if (caller == null) { return null; } diff --git a/src/share/classes/sun/misc/BASE64Decoder.java b/src/share/classes/sun/misc/BASE64Decoder.java index 63f1228ad989ab5163225018d2081fe7647b5b03..d4132529f9184d6e2fa29edf88d3b84dff1a579b 100644 --- a/src/share/classes/sun/misc/BASE64Decoder.java +++ b/src/share/classes/sun/misc/BASE64Decoder.java @@ -102,6 +102,7 @@ public class BASE64Decoder extends CharacterDecoder { /** * Decode one BASE64 atom into 1, 2, or 3 bytes of data. */ + @SuppressWarnings("fallthrough") protected void decodeAtom(PushbackInputStream inStream, OutputStream outStream, int rem) throws java.io.IOException { diff --git a/src/share/classes/sun/misc/ExtensionDependency.java b/src/share/classes/sun/misc/ExtensionDependency.java index ca9ad7214868b10c6be58b1fb8086bdd04bc62f2..81a77747178760625efefcf85a76e73ea7c5ec0e 100644 --- a/src/share/classes/sun/misc/ExtensionDependency.java +++ b/src/share/classes/sun/misc/ExtensionDependency.java @@ -70,7 +70,7 @@ import sun.net.www.ParseUtil; public class ExtensionDependency { /* Callbak interfaces to delegate installation of missing extensions */ - private static Vector providers; + private static Vector providers; /** *

@@ -83,7 +83,7 @@ public class ExtensionDependency { (ExtensionInstallationProvider eip) { if (providers == null) { - providers = new Vector(); + providers = new Vector<>(); } providers.add(eip); } @@ -93,7 +93,7 @@ public class ExtensionDependency { * Unregister a previously installed installation provider *

*/ - public synchronized static void removeExtensionInstallationProvider + public synchronized static void removeExtensionInstallationProvider (ExtensionInstallationProvider eip) { providers.remove(eip); @@ -348,14 +348,16 @@ public class ExtensionDependency { ExtensionInfo instInfo) throws ExtensionInstallationException { - - Vector currentProviders; + Vector currentProviders; synchronized(providers) { - currentProviders = (Vector) providers.clone(); + @SuppressWarnings("unchecked") + Vector tmp = + (Vector) providers.clone(); + currentProviders = tmp; } - for (Enumeration e=currentProviders.elements();e.hasMoreElements();) { - ExtensionInstallationProvider eip = - (ExtensionInstallationProvider) e.nextElement(); + for (Enumeration e = currentProviders.elements(); + e.hasMoreElements();) { + ExtensionInstallationProvider eip = e.nextElement(); if (eip!=null) { // delegate the installation to the provider diff --git a/src/share/classes/sun/misc/JarIndex.java b/src/share/classes/sun/misc/JarIndex.java index f9781d65a0dd5ec41bef283883df8bdd1495e544..02f3c529c43bcbaca19216b432499e27f63d623c 100644 --- a/src/share/classes/sun/misc/JarIndex.java +++ b/src/share/classes/sun/misc/JarIndex.java @@ -48,13 +48,13 @@ public class JarIndex { * The hash map that maintains mappings from * package/classe/resource to jar file list(s) */ - private HashMap indexMap; + private HashMap> indexMap; /** * The hash map that maintains mappings from * jar file to package/class/resource lists */ - private HashMap jarMap; + private HashMap> jarMap; /* * An ordered list of jar file names. @@ -78,8 +78,8 @@ public class JarIndex { * Constructs a new, empty jar index. */ public JarIndex() { - indexMap = new HashMap(); - jarMap = new HashMap(); + indexMap = new HashMap<>(); + jarMap = new HashMap<>(); } /** @@ -150,10 +150,11 @@ public class JarIndex { * Add the key, value pair to the hashmap, the value will * be put in a linked list which is created if necessary. */ - private void addToList(String key, String value, HashMap t) { - LinkedList list = (LinkedList)t.get(key); + private void addToList(String key, String value, + HashMap> t) { + LinkedList list = t.get(key); if (list == null) { - list = new LinkedList(); + list = new LinkedList<>(); list.add(value); t.put(key, list); } else if (!list.contains(value)) { @@ -166,13 +167,13 @@ public class JarIndex { * * @param fileName the key of the mapping */ - public LinkedList get(String fileName) { - LinkedList jarFiles = null; - if ((jarFiles = (LinkedList)indexMap.get(fileName)) == null) { + public LinkedList get(String fileName) { + LinkedList jarFiles = null; + if ((jarFiles = indexMap.get(fileName)) == null) { /* try the package name again */ int pos; if((pos = fileName.lastIndexOf("/")) != -1) { - jarFiles = (LinkedList)indexMap.get(fileName.substring(0, pos)); + jarFiles = indexMap.get(fileName.substring(0, pos)); } } return jarFiles; @@ -235,9 +236,9 @@ public class JarIndex { ZipFile zrf = new ZipFile(currentJar.replace ('/', File.separatorChar)); - Enumeration entries = zrf.entries(); + Enumeration entries = zrf.entries(); while(entries.hasMoreElements()) { - ZipEntry entry = (ZipEntry) entries.nextElement(); + ZipEntry entry = entries.nextElement(); String fileName = entry.getName(); // Skip the META-INF directory, the index, and manifest. @@ -282,11 +283,11 @@ public class JarIndex { /* print out the jar file name */ String jar = jarFiles[i]; bw.write(jar + "\n"); - LinkedList jarlist = (LinkedList)jarMap.get(jar); + LinkedList jarlist = jarMap.get(jar); if (jarlist != null) { - Iterator listitr = jarlist.iterator(); + Iterator listitr = jarlist.iterator(); while(listitr.hasNext()) { - bw.write((String)(listitr.next()) + "\n"); + bw.write(listitr.next() + "\n"); } } bw.write("\n"); @@ -309,7 +310,7 @@ public class JarIndex { String currentJar = null; /* an ordered list of jar file names */ - Vector jars = new Vector(); + Vector jars = new Vector<>(); /* read until we see a .jar line */ while((line = br.readLine()) != null && !line.endsWith(".jar")); @@ -328,7 +329,7 @@ public class JarIndex { } } - jarFiles = (String[])jars.toArray(new String[jars.size()]); + jarFiles = jars.toArray(new String[jars.size()]); } /** @@ -342,14 +343,14 @@ public class JarIndex { * */ public void merge(JarIndex toIndex, String path) { - Iterator itr = indexMap.entrySet().iterator(); + Iterator>> itr = indexMap.entrySet().iterator(); while(itr.hasNext()) { - Map.Entry e = (Map.Entry)itr.next(); - String packageName = (String)e.getKey(); - LinkedList from_list = (LinkedList)e.getValue(); - Iterator listItr = from_list.iterator(); + Map.Entry> e = itr.next(); + String packageName = e.getKey(); + LinkedList from_list = e.getValue(); + Iterator listItr = from_list.iterator(); while(listItr.hasNext()) { - String jarName = (String)listItr.next(); + String jarName = listItr.next(); if (path != null) { jarName = path.concat(jarName); } diff --git a/src/share/classes/sun/misc/JavaUtilJarAccess.java b/src/share/classes/sun/misc/JavaUtilJarAccess.java index 0f1efd1d2cb52fb20d6fb00fb0f2a75d208c4bff..81654824c3a752f000ec419e4e9cc352918f2479 100644 --- a/src/share/classes/sun/misc/JavaUtilJarAccess.java +++ b/src/share/classes/sun/misc/JavaUtilJarAccess.java @@ -40,5 +40,5 @@ public interface JavaUtilJarAccess { public Enumeration entryNames(JarFile jar, CodeSource[] cs); public Enumeration entries2(JarFile jar); public void setEagerValidation(JarFile jar, boolean eager); - public List getManifestDigests(JarFile jar); + public List getManifestDigests(JarFile jar); } diff --git a/src/share/classes/sun/misc/ProxyGenerator.java b/src/share/classes/sun/misc/ProxyGenerator.java index c66f82ce8f1aa61971f4f71fbbec7b29cd72d8be..4b5e36133367dbabdf20188a19a23858d9bf06d2 100644 --- a/src/share/classes/sun/misc/ProxyGenerator.java +++ b/src/share/classes/sun/misc/ProxyGenerator.java @@ -351,7 +351,7 @@ public class ProxyGenerator { try { hashCodeMethod = Object.class.getMethod("hashCode"); equalsMethod = - Object.class.getMethod("equals", new Class[] { Object.class }); + Object.class.getMethod("equals", new Class[] { Object.class }); toStringMethod = Object.class.getMethod("toString"); } catch (NoSuchMethodException e) { throw new NoSuchMethodError(e.getMessage()); @@ -559,11 +559,11 @@ public class ProxyGenerator { * passed to the invocation handler's "invoke" method for a given * set of duplicate methods. */ - private void addProxyMethod(Method m, Class fromClass) { + private void addProxyMethod(Method m, Class fromClass) { String name = m.getName(); - Class[] parameterTypes = m.getParameterTypes(); - Class returnType = m.getReturnType(); - Class[] exceptionTypes = m.getExceptionTypes(); + Class[] parameterTypes = m.getParameterTypes(); + Class returnType = m.getReturnType(); + Class[] exceptionTypes = m.getExceptionTypes(); String sig = name + getParameterDescriptors(parameterTypes); List sigmethods = proxyMethods.get(sig); @@ -581,7 +581,7 @@ public class ProxyGenerator { exceptionTypes, pm.exceptionTypes, legalExceptions); collectCompatibleTypes( pm.exceptionTypes, exceptionTypes, legalExceptions); - pm.exceptionTypes = new Class[legalExceptions.size()]; + pm.exceptionTypes = new Class[legalExceptions.size()]; pm.exceptionTypes = legalExceptions.toArray(pm.exceptionTypes); return; @@ -848,15 +848,15 @@ public class ProxyGenerator { private class ProxyMethod { public String methodName; - public Class[] parameterTypes; - public Class returnType; - public Class[] exceptionTypes; - public Class fromClass; + public Class[] parameterTypes; + public Class returnType; + public Class[] exceptionTypes; + public Class fromClass; public String methodFieldName; - private ProxyMethod(String methodName, Class[] parameterTypes, - Class returnType, Class[] exceptionTypes, - Class fromClass) + private ProxyMethod(String methodName, Class[] parameterTypes, + Class returnType, Class[] exceptionTypes, + Class fromClass) { this.methodName = methodName; this.parameterTypes = parameterTypes; @@ -1001,7 +1001,7 @@ public class ProxyGenerator { * invocation handler's "invoke" method. The code is written * to the supplied stream. */ - private void codeWrapArgument(Class type, int slot, + private void codeWrapArgument(Class type, int slot, DataOutputStream out) throws IOException { @@ -1042,7 +1042,7 @@ public class ProxyGenerator { * Object) to its correct type. The code is written to the * supplied stream. */ - private void codeUnwrapReturnValue(Class type, DataOutputStream out) + private void codeUnwrapReturnValue(Class type, DataOutputStream out) throws IOException { if (type.isPrimitive()) { @@ -1391,7 +1391,7 @@ public class ProxyGenerator { * the supplied stream. Note that the code generated by this method * may caused the checked ClassNotFoundException to be thrown. */ - private void codeClassForName(Class cl, DataOutputStream out) + private void codeClassForName(Class cl, DataOutputStream out) throws IOException { code_ldc(cp.getString(cl.getName()), out); @@ -1422,8 +1422,8 @@ public class ProxyGenerator { * Return the "method descriptor" string for a method with the given * parameter types and return type. See JVMS section 4.3.3. */ - private static String getMethodDescriptor(Class[] parameterTypes, - Class returnType) + private static String getMethodDescriptor(Class[] parameterTypes, + Class returnType) { return getParameterDescriptors(parameterTypes) + ((returnType == void.class) ? "V" : getFieldType(returnType)); @@ -1436,7 +1436,7 @@ public class ProxyGenerator { * string is useful for constructing string keys for methods without * regard to their return type. */ - private static String getParameterDescriptors(Class[] parameterTypes) { + private static String getParameterDescriptors(Class[] parameterTypes) { StringBuilder desc = new StringBuilder("("); for (int i = 0; i < parameterTypes.length; i++) { desc.append(getFieldType(parameterTypes[i])); @@ -1450,7 +1450,7 @@ public class ProxyGenerator { * a field descriptor, a parameter descriptor, or a return descriptor * other than "void". See JVMS section 4.3.2. */ - private static String getFieldType(Class type) { + private static String getFieldType(Class type) { if (type.isPrimitive()) { return PrimitiveTypeInfo.get(type).baseTypeString; } else if (type.isArray()) { @@ -1472,7 +1472,7 @@ public class ProxyGenerator { * method with the given name and parameter types. */ private static String getFriendlyMethodSignature(String name, - Class[] parameterTypes) + Class[] parameterTypes) { StringBuilder sig = new StringBuilder(name); sig.append('('); @@ -1480,7 +1480,7 @@ public class ProxyGenerator { if (i > 0) { sig.append(','); } - Class parameterType = parameterTypes[i]; + Class parameterType = parameterTypes[i]; int dimensions = 0; while (parameterType.isArray()) { parameterType = parameterType.getComponentType(); @@ -1504,7 +1504,7 @@ public class ProxyGenerator { * this abstract notion of a "word" in section 3.4, but that definition * was removed for the second edition. */ - private static int getWordsPerType(Class type) { + private static int getWordsPerType(Class type) { if (type == long.class || type == double.class) { return 2; } else { @@ -1632,8 +1632,7 @@ public class ProxyGenerator { /** descriptor of same method */ public String unwrapMethodDesc; - private static Map table = - new HashMap(); + private static Map,PrimitiveTypeInfo> table = new HashMap<>(); static { add(byte.class, Byte.class); add(char.class, Character.class); @@ -1645,12 +1644,12 @@ public class ProxyGenerator { add(boolean.class, Boolean.class); } - private static void add(Class primitiveClass, Class wrapperClass) { + private static void add(Class primitiveClass, Class wrapperClass) { table.put(primitiveClass, new PrimitiveTypeInfo(primitiveClass, wrapperClass)); } - private PrimitiveTypeInfo(Class primitiveClass, Class wrapperClass) { + private PrimitiveTypeInfo(Class primitiveClass, Class wrapperClass) { assert primitiveClass.isPrimitive(); baseTypeString = @@ -1663,7 +1662,7 @@ public class ProxyGenerator { unwrapMethodDesc = "()" + baseTypeString; } - public static PrimitiveTypeInfo get(Class cl) { + public static PrimitiveTypeInfo get(Class cl) { return table.get(cl); } } @@ -1694,7 +1693,7 @@ public class ProxyGenerator { * and for assigning the next index value. Note that element 0 * of this list corresponds to constant pool index 1. */ - private List pool = new ArrayList(32); + private List pool = new ArrayList<>(32); /** * maps constant pool data of all types to constant pool indexes. @@ -1702,7 +1701,7 @@ public class ProxyGenerator { * This map is used to look up the index of an existing entry for * values of all types. */ - private Map map = new HashMap(16); + private Map map = new HashMap<>(16); /** true if no new constant pool entries may be added */ private boolean readOnly = false; diff --git a/src/share/classes/sun/misc/Service.java b/src/share/classes/sun/misc/Service.java index ce0ed44f937c72935907e8eaf3d8d9a16750125e..37d39b430197eebccc3fdbb6ca9702794c4b6957 100644 --- a/src/share/classes/sun/misc/Service.java +++ b/src/share/classes/sun/misc/Service.java @@ -125,13 +125,13 @@ import java.util.TreeSet; * @since 1.3 */ -public final class Service { +public final class Service { private static final String prefix = "META-INF/services/"; private Service() { } - private static void fail(Class service, String msg, Throwable cause) + private static void fail(Class service, String msg, Throwable cause) throws ServiceConfigurationError { ServiceConfigurationError sce @@ -140,13 +140,13 @@ public final class Service { throw sce; } - private static void fail(Class service, String msg) + private static void fail(Class service, String msg) throws ServiceConfigurationError { throw new ServiceConfigurationError(service.getName() + ": " + msg); } - private static void fail(Class service, URL u, int line, String msg) + private static void fail(Class service, URL u, int line, String msg) throws ServiceConfigurationError { fail(service, u + ":" + line + ": " + msg); @@ -157,8 +157,8 @@ public final class Service { * on the line to both the names list and the returned set iff the name is * not already a member of the returned set. */ - private static int parseLine(Class service, URL u, BufferedReader r, int lc, - List names, Set returned) + private static int parseLine(Class service, URL u, BufferedReader r, int lc, + List names, Set returned) throws IOException, ServiceConfigurationError { String ln = r.readLine(); @@ -211,12 +211,12 @@ public final class Service { * If an I/O error occurs while reading from the given URL, or * if a configuration-file format error is detected */ - private static Iterator parse(Class service, URL u, Set returned) + private static Iterator parse(Class service, URL u, Set returned) throws ServiceConfigurationError { InputStream in = null; BufferedReader r = null; - ArrayList names = new ArrayList(); + ArrayList names = new ArrayList<>(); try { in = u.openStream(); r = new BufferedReader(new InputStreamReader(in, "utf-8")); @@ -239,16 +239,16 @@ public final class Service { /** * Private inner class implementing fully-lazy provider lookup */ - private static class LazyIterator implements Iterator { + private static class LazyIterator implements Iterator { - Class service; + Class service; ClassLoader loader; - Enumeration configs = null; - Iterator pending = null; - Set returned = new TreeSet(); + Enumeration configs = null; + Iterator pending = null; + Set returned = new TreeSet<>(); String nextName = null; - private LazyIterator(Class service, ClassLoader loader) { + private LazyIterator(Class service, ClassLoader loader) { this.service = service; this.loader = loader; } @@ -272,20 +272,20 @@ public final class Service { if (!configs.hasMoreElements()) { return false; } - pending = parse(service, (URL)configs.nextElement(), returned); + pending = parse(service, configs.nextElement(), returned); } - nextName = (String)pending.next(); + nextName = pending.next(); return true; } - public Object next() throws ServiceConfigurationError { + public S next() throws ServiceConfigurationError { if (!hasNext()) { throw new NoSuchElementException(); } String cn = nextName; nextName = null; try { - return Class.forName(cn, true, loader).newInstance(); + return service.cast(Class.forName(cn, true, loader).newInstance()); } catch (ClassNotFoundException x) { fail(service, "Provider " + cn + " not found"); @@ -342,10 +342,10 @@ public final class Service { * @see #providers(java.lang.Class) * @see #installedProviders(java.lang.Class) */ - public static Iterator providers(Class service, ClassLoader loader) + public static Iterator providers(Class service, ClassLoader loader) throws ServiceConfigurationError { - return new LazyIterator(service, loader); + return new LazyIterator(service, loader); } @@ -374,7 +374,7 @@ public final class Service { * * @see #providers(java.lang.Class, java.lang.ClassLoader) */ - public static Iterator providers(Class service) + public static Iterator providers(Class service) throws ServiceConfigurationError { ClassLoader cl = Thread.currentThread().getContextClassLoader(); @@ -411,7 +411,7 @@ public final class Service { * * @see #providers(java.lang.Class, java.lang.ClassLoader) */ - public static Iterator installedProviders(Class service) + public static Iterator installedProviders(Class service) throws ServiceConfigurationError { ClassLoader cl = ClassLoader.getSystemClassLoader(); diff --git a/src/share/classes/sun/misc/Signal.java b/src/share/classes/sun/misc/Signal.java index 613cc3881e858b1eacb269f1b08a70a189e09fed..b663c5bba63f66f2af48f3a819b3b4a8331595b3 100644 --- a/src/share/classes/sun/misc/Signal.java +++ b/src/share/classes/sun/misc/Signal.java @@ -72,8 +72,8 @@ import java.util.Hashtable; * @since 1.2 */ public final class Signal { - private static Hashtable handlers = new Hashtable(4); - private static Hashtable signals = new Hashtable(4); + private static Hashtable handlers = new Hashtable<>(4); + private static Hashtable signals = new Hashtable<>(4); private int number; private String name; @@ -166,9 +166,9 @@ public final class Signal { throw new IllegalArgumentException ("Signal already used by VM or OS: " + sig); } - signals.put(new Integer(sig.number), sig); + signals.put(sig.number, sig); synchronized (handlers) { - SignalHandler oldHandler = (SignalHandler)handlers.get(sig); + SignalHandler oldHandler = handlers.get(sig); handlers.remove(sig); if (newH == 2) { handlers.put(sig, handler); @@ -200,8 +200,8 @@ public final class Signal { /* Called by the VM to execute Java signal handlers. */ private static void dispatch(final int number) { - final Signal sig = (Signal)signals.get(new Integer(number)); - final SignalHandler handler = (SignalHandler)handlers.get(sig); + final Signal sig = signals.get(number); + final SignalHandler handler = handlers.get(sig); Runnable runnable = new Runnable () { public void run() { diff --git a/test/sun/misc/JarIndex/metaInfFilenames/Basic.java b/test/sun/misc/JarIndex/metaInfFilenames/Basic.java index 3892054c2d0b01fffb2e4ee3fb411e6b32304aad..83485d5f13429f464cfbdae09493891ca08fc3dc 100644 --- a/test/sun/misc/JarIndex/metaInfFilenames/Basic.java +++ b/test/sun/misc/JarIndex/metaInfFilenames/Basic.java @@ -154,8 +154,7 @@ public class Basic { /* run javac */ static void compile(String... args) { debug("Running: javac " + Arrays.toString(args)); - com.sun.tools.javac.Main compiler = new com.sun.tools.javac.Main(); - if (compiler.compile(args) != 0) { + if (com.sun.tools.javac.Main.compile(args) != 0) { throw new RuntimeException("javac failed: args=" + Arrays.toString(args)); } } @@ -259,7 +258,7 @@ public class Basic { URLClassLoader loader = getLoader(baseURL); httpServer.reset(); - Class messageServiceClass = null; + Class messageServiceClass = null; try { messageServiceClass = loader.loadClass(serviceClass); } catch (ClassNotFoundException cnfe) { @@ -267,7 +266,7 @@ public class Basic { throw new RuntimeException("Error in test: " + cnfe); } - Iterator> iterator = sun.misc.Service.providers(messageServiceClass, loader); + Iterator iterator = sun.misc.Service.providers(messageServiceClass, loader); if (expectToFind && !iterator.hasNext()) { debug(messageServiceClass + " NOT found."); return false; @@ -301,7 +300,7 @@ public class Basic { URLClassLoader loader = getLoader(baseURL); httpServer.reset(); - Class messageServiceClass = null; + Class messageServiceClass = null; try { messageServiceClass = loader.loadClass(serviceClass); } catch (ClassNotFoundException cnfe) { @@ -309,7 +308,7 @@ public class Basic { throw new RuntimeException("Error in test: " + cnfe); } - Iterator> iterator = (ServiceLoader.load(messageServiceClass, loader)).iterator(); + Iterator iterator = (ServiceLoader.load(messageServiceClass, loader)).iterator(); if (expectToFind && !iterator.hasNext()) { debug(messageServiceClass + " NOT found."); return false; @@ -345,7 +344,7 @@ public class Basic { URLClassLoader loader = getLoader(baseURL); httpServer.reset(); - Class ADotAKlass = null; + Class ADotAKlass = null; try { ADotAKlass = loader.loadClass("a.A"); } catch (ClassNotFoundException cnfe) {