mirror of
https://github.com/gnosygnu/xowa.git
synced 2025-06-13 12:54:14 +00:00
39 lines
1.9 KiB
Java
39 lines
1.9 KiB
Java
/*
|
|
XOWA: the XOWA Offline Wiki Application
|
|
Copyright (C) 2012-2017 gnosygnu@gmail.com
|
|
|
|
XOWA is licensed under the terms of the General Public License (GPL) Version 3,
|
|
or alternatively under the terms of the Apache License Version 2.0.
|
|
|
|
You may use XOWA according to either of these licenses as is most appropriate
|
|
for your project on a case-by-case basis.
|
|
|
|
The terms of each license can be found in the source code repository:
|
|
|
|
GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt
|
|
Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
|
|
*/
|
|
package gplx.xowa; import gplx.*;
|
|
import gplx.xowa.apps.apis.xowa.bldrs.imports.*; import gplx.xowa.wikis.data.*; import gplx.xowa.bldrs.infos.*;
|
|
public class Xowe_wiki_ {
|
|
public static void Create(Xowe_wiki wiki, long src_fil_len, String src_fil_name) {
|
|
wiki.Db_mgr_create_as_sql(); // create db_mgr as sql
|
|
Xoapi_import import_api = wiki.Appe().Api_root().Bldr().Wiki().Import();
|
|
Xowd_core_db_props db_mgr_props = gplx.xowa.bldrs.Xobldr_cfg.New_props(wiki.App(), wiki.Domain_str(), src_fil_len);
|
|
Xob_info_session info_session = Xob_info_session.new_(import_api.User_name(), wiki.Domain_str(), src_fil_name);
|
|
wiki.Data__core_mgr().Init_by_make(db_mgr_props, info_session); // make core_db
|
|
}
|
|
public static void Rls_mem_if_needed(Xowe_wiki wiki) {
|
|
Xoae_app app = wiki.Appe();
|
|
if (gplx.core.envs.Runtime_.Memory_free() < app.Sys_cfg().Free_mem_when()) // check if low in memory
|
|
Xowe_wiki_.Rls_mem(wiki, false); // clear caches (which will clear bry_bfr_mkr)
|
|
else // not low in memory
|
|
wiki.Utl__bfr_mkr().Clear(); // clear bry_bfr_mkr only; NOTE: call before page parse, not when page is first added, else threading errors; DATE:2014-05-30
|
|
}
|
|
public static void Rls_mem(Xowe_wiki wiki, boolean clear_ctx) {
|
|
wiki.Appe().Free_mem(clear_ctx);
|
|
wiki.Cache_mgr().Free_mem__all();
|
|
wiki.Parser_mgr().Scrib().Core_term();
|
|
}
|
|
}
|