From 529321ab9956c1663e93cc805b0754cf43fa2c90 Mon Sep 17 00:00:00 2001 From: sundar Date: Fri, 7 Mar 2014 22:12:18 +0530 Subject: [PATCH] 8036794: Collect more Collector Lambdas Reviewed-by: attila, ahgross --- .../javax/script/ScriptEngineManager.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/share/classes/javax/script/ScriptEngineManager.java b/src/share/classes/javax/script/ScriptEngineManager.java index 83cb9f013..b2af53e5b 100644 --- a/src/share/classes/javax/script/ScriptEngineManager.java +++ b/src/share/classes/javax/script/ScriptEngineManager.java @@ -81,23 +81,28 @@ public class ScriptEngineManager { nameAssociations = new HashMap(); extensionAssociations = new HashMap(); mimeTypeAssociations = new HashMap(); - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - initEngines(loader); - return null; - } - }); + initEngines(loader); + } + + private ServiceLoader 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 itr = null; try { - ServiceLoader sl; - if (loader != null) { - sl = ServiceLoader.load(ScriptEngineFactory.class, loader); - } else { - sl = ServiceLoader.loadInstalled(ScriptEngineFactory.class); - } + ServiceLoader sl = AccessController.doPrivileged( + new PrivilegedAction>() { + @Override + public ServiceLoader run() { + return getServiceLoader(loader); + } + }); + itr = sl.iterator(); } catch (ServiceConfigurationError err) { System.err.println("Can't find ScriptEngineFactory providers: " + -- GitLab