Synced javaengine removal changes from Test to HighFive.
This commit is contained in:
@@ -21,13 +21,16 @@ import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -168,8 +171,8 @@ public final class ScriptEngineManager
|
||||
// throws exception if not exists or not file
|
||||
checkExistingFile("ScriptList", SCRIPT_LIST_FILE);
|
||||
|
||||
final LinkedHashMap<IExecutionContext, LinkedList<Path>> files = new LinkedHashMap<>();
|
||||
final LinkedList<String> extWithoutEngine = new LinkedList<>();
|
||||
final Map<IExecutionContext, List<Path>> files = new LinkedHashMap<>();
|
||||
final Set<String> extWithoutEngine = new HashSet<>();
|
||||
|
||||
Files.lines(SCRIPT_LIST_FILE).forEach(line ->
|
||||
{
|
||||
@@ -201,24 +204,17 @@ public final class ScriptEngineManager
|
||||
final IExecutionContext engine = getEngineByExtension(ext);
|
||||
if (engine == null)
|
||||
{
|
||||
if (!extWithoutEngine.contains(ext))
|
||||
if (extWithoutEngine.add(ext))
|
||||
{
|
||||
extWithoutEngine.add(ext);
|
||||
_log.warning("ScriptEngine: No engine registered for extension " + ext + "!");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
LinkedList<Path> ll = files.get(engine);
|
||||
if (ll == null)
|
||||
{
|
||||
ll = new LinkedList<>();
|
||||
files.put(engine, ll);
|
||||
}
|
||||
ll.add(sourceFile);
|
||||
files.computeIfAbsent(engine, k -> new LinkedList<>()).add(sourceFile);
|
||||
});
|
||||
|
||||
for (Entry<IExecutionContext, LinkedList<Path>> entry : files.entrySet())
|
||||
for (Entry<IExecutionContext, List<Path>> entry : files.entrySet())
|
||||
{
|
||||
_currentExecutionContext = entry.getKey();
|
||||
try
|
||||
|
@@ -20,8 +20,10 @@ import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.logging.Logger;
|
||||
@@ -98,8 +100,6 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
|
||||
|
||||
try (final ScriptingFileManager fileManager = new ScriptingFileManager(getScriptingEngine().getCompiler().getStandardFileManager(fileManagerDiagnostics, null, StandardCharsets.UTF_8)))
|
||||
{
|
||||
final StringWriter strOut = new StringWriter();
|
||||
final PrintWriter out = new PrintWriter(strOut);
|
||||
final LinkedList<String> options = new LinkedList<>();
|
||||
|
||||
addOptionIfNotNull(options, getProperty("source"), "-source");
|
||||
@@ -132,12 +132,14 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
|
||||
}
|
||||
|
||||
// we really need an iterable of files or strings
|
||||
final LinkedList<String> sourcePathStrings = new LinkedList<>();
|
||||
final List<String> sourcePathStrings = new LinkedList<>();
|
||||
for (Path sourcePath : sourcePaths)
|
||||
{
|
||||
sourcePathStrings.add(sourcePath.toString());
|
||||
}
|
||||
|
||||
final StringWriter strOut = new StringWriter();
|
||||
final PrintWriter out = new PrintWriter(strOut);
|
||||
final boolean compilationSuccess = getScriptingEngine().getCompiler().getTask(out, fileManager, compilationDiagnostics, options, null, fileManager.getJavaFileObjectsFromStrings(sourcePathStrings)).call();
|
||||
if (!compilationSuccess)
|
||||
{
|
||||
@@ -168,8 +170,8 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
|
||||
|
||||
final ClassLoader parentClassLoader = determineScriptParentClassloader();
|
||||
|
||||
LinkedHashMap<Path, Throwable> executionFailures = new LinkedHashMap<>();
|
||||
Iterable<ScriptingOutputFileObject> compiledClasses = fileManager.getCompiledClasses();
|
||||
final Map<Path, Throwable> executionFailures = new LinkedHashMap<>();
|
||||
final Iterable<ScriptingOutputFileObject> compiledClasses = fileManager.getCompiledClasses();
|
||||
for (final Path sourcePath : sourcePaths)
|
||||
{
|
||||
boolean found = false;
|
||||
@@ -223,13 +225,7 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
|
||||
@Override
|
||||
public Entry<Path, Throwable> executeScript(final Path sourcePath) throws Exception
|
||||
{
|
||||
@SuppressWarnings("serial")
|
||||
Map<Path, Throwable> executionFailures = executeScripts(new LinkedList<Path>()
|
||||
{
|
||||
{
|
||||
add(sourcePath);
|
||||
}
|
||||
});
|
||||
final Map<Path, Throwable> executionFailures = executeScripts(Arrays.asList(sourcePath));
|
||||
if (!executionFailures.isEmpty())
|
||||
{
|
||||
return executionFailures.entrySet().iterator().next();
|
||||
|
Reference in New Issue
Block a user