xmlrpcHandlerName = props.getProperty ("xmlrpcHandlerName", this.name); if (xmlrpc != null) xmlrpc.addHandler (xmlrpcHandlerName, new XmlRpcInvoker (this));
    public void init () throws DatabaseException, ScriptingException {	// scriptingEngine = new helma.scripting.fesi.FesiScriptingEnvironment ();	// scriptingEngine.init (this, props);	Vector extensions = Server.getServer ().getExtensions ();	for (int i=0; i<extensions.size(); i++) {	    HelmaExtension ext = (HelmaExtension)extensions.get(i);	    try {	        ext.applicationStarted (this);	    } catch (ConfigurationException e) {	        logEvent ("couldn't init extension " + ext.getName () + ": " + e.toString ());	    }	}	typemgr = new TypeManager (this);	typemgr.createPrototypes ();	// logEvent ("Started type manager for "+name);	// eval = new RequestEvaluator (this);	logEvent ("Starting evaluators for "+name);	freeThreads = new Stack ();	allThreads = new Vector ();	// allThreads.addElement (eval);		// preallocate minThreads request evaluators	int minThreads = 0;	try {	    minThreads = Integer.parseInt (props.getProperty ("minThreads"));	} catch (Exception ignore) {}	for (int i=0; i<minThreads; i++) {	    RequestEvaluator ev = new RequestEvaluator (this);	    ev.initScriptingEngine ();	    freeThreads.push (ev);	    allThreads.addElement (ev);	}	activeRequests = new Hashtable ();	skinmgr = new SkinManager (this);	rootMapping = getDbMapping ("root");	userMapping = getDbMapping ("user");	SystemProperties p = new SystemProperties ();	String usernameField = userMapping.getNameField ();	if (usernameField == null)	    usernameField = "name";	p.put ("_children", "collection(user)");	p.put ("_children.accessname", usernameField);	userRootMapping = new DbMapping (this, "__userroot__", p);	userRootMapping.update ();	nmgr = new NodeManager (this, dbDir.getAbsolutePath (), props);	xmlrpcHandlerName = props.getProperty ("xmlrpcHandlerName", this.name);	if (xmlrpc != null)	    xmlrpc.addHandler (xmlrpcHandlerName, new XmlRpcInvoker (this));    }