private L2ScriptEngineManager() { ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); List<ScriptEngineFactory> factories = scriptEngineManager.getEngineFactories(); if (Config.SCRIPT_CACHE) { _cache = loadCompiledScriptCache(); } else { _cache = null; } _log.info("Initializing Script Engine Manager"); for (ScriptEngineFactory factory : factories) { try { ScriptEngine engine = factory.getScriptEngine(); boolean reg = false; for (String name : factory.getNames()) { ScriptEngine existentEngine = _nameEngines.get(name); if (existentEngine != null) { double engineVer = Double.parseDouble(factory.getEngineVersion()); double existentEngVer = Double.parseDouble(existentEngine.getFactory().getEngineVersion()); if (engineVer <= existentEngVer) { continue; } } reg = true; _nameEngines.put(name, engine); } if (reg) { _log.info( "Script Engine: " + factory.getEngineName() + " " + factory.getEngineVersion() + " - Language: " + factory.getLanguageName() + " - Language Version: " + factory.getLanguageVersion()); } for (String ext : factory.getExtensions()) { if (!ext.equals("java") || factory.getLanguageName().equals("java")) { _extEngines.put(ext, engine); } } } catch (Exception e) { _log.warn("Failed initializing factory. "); e.printStackTrace(); } } preConfigure(); }
private void initScript() { String scriptName = "src" + File.separator + "jscripts" + File.separator + "CreateWorld.js"; List<ScriptEngineFactory> list = factory.getEngineFactories(); File scriptFile = new File(scriptName); try { FileReader fileReader = new FileReader(scriptFile); engine.eval(fileReader); fileReader.close(); } catch (FileNotFoundException e1) { System.out.println(scriptName + " not found " + e1); } catch (IOException e2) { System.out.println("IO issue detected " + scriptName + e2); } catch (ScriptException e3) { System.out.println("ScriptException in " + scriptName + e3); } catch (NullPointerException e4) { System.out.println("Null pointer in" + scriptName + e4); } addGameWorldObject((SceneNode) engine.get("worldAxis")); }