public PlatypusServerCore(ApplicationSourceIndexer aIndexer, ModulesProxy aModules, QueriesProxy<SqlQuery> aQueries, ScriptedDatabasesClient aDatabasesClient, ScriptsConfigs aSecurityConfigs, String aDefaultAppElement, SessionManager aSessionManager, int aMaxStatelessSpaces) throws Exception { super(); indexer = aIndexer; modules = aModules; queries = aQueries; basesProxy = aDatabasesClient; sessionManager = aSessionManager; startModuleName = aDefaultAppElement; scriptsConfigs = aSecurityConfigs; queueSpace = Scripts.createQueue(); statelessSpaces = new Scripts.Space[Math.max(1, aMaxStatelessSpaces)]; for (int s = 0; s < statelessSpaces.length; s++) { statelessSpaces[s] = Scripts.createSpace(); } }
/** * Creates a new session object for the specified user. * * <p> * The session instance returned is already registered inside this * manager.</p> * * <p> * It is assumed that by the time this method is called, the user already * authenticated successfully.</p> * * @param sessionId session id; use IDGenerator to generate. * @return a new Session instance. * @throws javax.script.ScriptException */ public Session create(String sessionId) throws ScriptException { assert sessionId != null; Session created = new Session(sessionId); Scripts.Space space = Scripts.createSpace(); created.setSpace(space); sessions.put(sessionId, created); return created; }
/** * Creates a new session manager. * * @throws javax.script.ScriptException */ public SessionManager() throws ScriptException { super(); Session created = new Session(null); Scripts.Space space = Scripts.createSpace(); created.setSpace(space); created.setPrincipal(new SystemPlatypusPrincipal()); systemSession = created; }
Scripts.setOnlySpace(Scripts.createSpace()); } else { throw new IllegalArgumentException("Application url is missing. url is a required parameter.");