matthiasblaesing commented on a change in pull request #1092: Using Scripting
API in platform/core.network
URL:
https://github.com/apache/incubator-netbeans/pull/1092#discussion_r249556648
##########
File path:
platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
##########
@@ -336,37 +330,59 @@ private PacScriptEngine getScriptEngine(String
pacSource) throws PacParsingExcep
// Do some minimal testing of the validity of the PAC Script.
final PacJsEntryFunction jsMainFunction;
- if (nashornJava8u40Available) {
- jsMainFunction = testScriptEngine(engine, true);
- } else {
- jsMainFunction = testScriptEngine(engine, false);
- }
+ jsMainFunction = testScriptEngine(engine, false);
return new PacScriptEngine(engine, jsMainFunction);
} catch (ScriptException ex) {
throw new PacParsingException(ex);
}
}
- private boolean getNashornJava8u40Available() {
+ private boolean isNashornFactory(ScriptEngineFactory f) {
try {
Class<?> klass =
Class.forName("jdk.nashorn.api.scripting.NashornScriptEngineFactory");
+ return klass.isInstance(f);
} catch (ClassNotFoundException ex) {
return false;
}
- return true;
}
-
- private ScriptEngine getNashornJSScriptEngine() {
- NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
- return factory.getScriptEngine(new ClassFilterPacHelpers());
+
+ private ScriptEngine secureEngineEngine(ScriptEngine e) {
+ try {
+ ScriptEngineFactory f = e.getFactory();
+ final Class<? extends ScriptEngineFactory> factoryClass =
f.getClass();
+ final ClassLoader factoryClassLoader =
factoryClass.getClassLoader();
+ Class<?> filterClass =
Class.forName("jdk.nashorn.api.scripting.ClassFilter", true,
factoryClassLoader);
Review comment:
Is this really an issue? I see argument not going from Java 8 to 11, but
inside Java 8, if you are still on u40, maybe this is a good time to finally
upgrade?! (github removed the comment from context), it was meant as a reply to
@lbruun comment regarding exceptions when run on old JREs).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists