Mercurial > hg > shenandoah-preopenjdk-archive > openjdk8 > jdk
changeset 9416:9ff7f7909e12 jdk8u5-b12
8036794: Collect more Collector Lambdas
Reviewed-by: attila, ahgross
author | sundar |
---|---|
date | Fri, 07 Mar 2014 22:12:18 +0530 |
parents | 2eab92b065d9 |
children | 7e9e60e717bf |
files | src/share/classes/javax/script/ScriptEngineManager.java |
diffstat | 1 files changed, 17 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/javax/script/ScriptEngineManager.java Wed Mar 05 16:52:28 2014 -0800 +++ b/src/share/classes/javax/script/ScriptEngineManager.java Fri Mar 07 22:12:18 2014 +0530 @@ -81,23 +81,28 @@ nameAssociations = new HashMap<String, ScriptEngineFactory>(); extensionAssociations = new HashMap<String, ScriptEngineFactory>(); mimeTypeAssociations = new HashMap<String, ScriptEngineFactory>(); - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - initEngines(loader); - return null; - } - }); + initEngines(loader); + } + + private ServiceLoader<ScriptEngineFactory> getServiceLoader(final ClassLoader loader) { + if (loader != null) { + return ServiceLoader.load(ScriptEngineFactory.class, loader); + } else { + return ServiceLoader.loadInstalled(ScriptEngineFactory.class); + } } private void initEngines(final ClassLoader loader) { Iterator<ScriptEngineFactory> itr = null; try { - ServiceLoader<ScriptEngineFactory> sl; - if (loader != null) { - sl = ServiceLoader.load(ScriptEngineFactory.class, loader); - } else { - sl = ServiceLoader.loadInstalled(ScriptEngineFactory.class); - } + ServiceLoader<ScriptEngineFactory> sl = AccessController.doPrivileged( + new PrivilegedAction<ServiceLoader<ScriptEngineFactory>>() { + @Override + public ServiceLoader<ScriptEngineFactory> run() { + return getServiceLoader(loader); + } + }); + itr = sl.iterator(); } catch (ServiceConfigurationError err) { System.err.println("Can't find ScriptEngineFactory providers: " +