diff --git a/100_core/src/gplx/String_.java b/100_core/src/gplx/String_.java index ccb536d86..f962ead18 100644 --- a/100_core/src/gplx/String_.java +++ b/100_core/src/gplx/String_.java @@ -483,6 +483,7 @@ public class String_ { if (rv == null && obj != null) throw Err_.new_type_mismatch(String.class, obj); // NOTE: obj != null needed; EX: cast(null) --> null return rv; } + public static String[] Ary_parse(String raw, String dlm) {return String_.Split(raw, dlm);} public static String[] Ary(byte[]... ary) { if (ary == null) return String_.Ary_empty; int ary_len = ary.length; diff --git a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java index 30913fe34..a0b3db3f8 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java @@ -36,7 +36,6 @@ public class Xoa_app_fxt { Io_url user_dir = root_dir.GenSubDir_nest("user", "test_user"); Gfo_usr_dlg__log_base.Instance.Log_dir_(user_dir.GenSubDir_nest("tmp", "current")); Xoae_app app = new Xoae_app(Gfo_usr_dlg_.Test(), Xoa_app_mode.Itm_cmd, root_dir, root_dir.GenSubDir("wiki"), root_dir.GenSubDir("file"), user_dir, root_dir.GenSubDir_nest("user", "anonymous", "wiki"), op_sys); - app.Setup_mgr().Dump_mgr().Data_storage_format_(gplx.core.ios.streams.Io_stream_tid_.Tid__raw); // TEST: set data_storage_format to file, else bldr tests will fails (expects plain text) GfsCore.Instance.Clear(); // NOTE: must clear GfsCore.Instance.AddCmd(app, Xoae_app.Invk_app); // NOTE: must add app to GfsCore; app.Gfs_mgr() always adds current app to GfsCore; note this causes old test to leave behind GfsCore for new test GfsCore.Instance.AddCmd(app, Xoae_app.Invk_xowa); // add alias for app; DATE:2014-06-09 diff --git a/400_xowa/src/gplx/xowa/Xowe_wiki.java b/400_xowa/src/gplx/xowa/Xowe_wiki.java index b2d693327..f3abbf8f4 100644 --- a/400_xowa/src/gplx/xowa/Xowe_wiki.java +++ b/400_xowa/src/gplx/xowa/Xowe_wiki.java @@ -162,7 +162,6 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { public Xow_sys_cfg Sys_cfg() {return sys_cfg;} private Xow_sys_cfg sys_cfg; public Xowc_parser Cfg_parser() {return cfg_parser;} private Xowc_parser cfg_parser; public boolean Cfg_parser_lnki_xwiki_repos_enabled() {return cfg_parser_lnki_xwiki_repos_enabled;} public Xowe_wiki Cfg_parser_lnki_xwiki_repos_enabled_(boolean v) {cfg_parser_lnki_xwiki_repos_enabled = v; return this;} private boolean cfg_parser_lnki_xwiki_repos_enabled; - public Xoi_dump_mgr Import_mgr() {return import_mgr;} private Xoi_dump_mgr import_mgr = new Xoi_dump_mgr(); public Xow_maint_mgr Maint_mgr() {return maint_mgr;} private Xow_maint_mgr maint_mgr; public void Clear_for_tests() { // NOTE: these are structures that cache items for PERF; need to be cleared out for multiple test runs file_mgr.Dbmeta_mgr().Clear(); @@ -236,7 +235,6 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { app.Addon_mgr().Load_by_wiki(this); ctg_pagebox_wtr.Init_by_wiki(this); - import_mgr.Init_by_wiki(this); file_mgr.Init_by_wiki(this); page_mgr.Init_by_wiki(this); } @@ -275,7 +273,6 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { else if (ctx.Match(k, Invk_app)) return app; else if (ctx.Match(k, Invk_db_mgr)) return db_mgr; else if (ctx.Match(k, Invk_db_mgr_to_sql_)) this.Db_mgr_create_as_sql(); - else if (ctx.Match(k, Invk_import_mgr)) return import_mgr; else if (ctx.Match(k, Invk_maint)) return maint_mgr; else if (ctx.Match(k, Invk_domain)) return domain_str; else if (ctx.Match(k, Invk_xtns)) return xtn_mgr; @@ -291,7 +288,7 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { , Invk_special = "special" , Invk_props = "props", Invk_parser = "parser" , Invk_msgs = "msgs", Invk_app = "app", Invk_util = "util" - , Invk_xtns = "xtns", Invk_import_mgr = "import" + , Invk_xtns = "xtns" , Invk_db_mgr_to_sql_ = "db_mgr_to_sql_" , Invk_domain = "domain", Invk_maint = "maint", Invk_hdump_enabled_ = "hdump_enabled_" , Invk_catpage_mgr = "catpage_mgr" diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java index 9ca91be38..be3526965 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java @@ -67,6 +67,10 @@ public class Xocfg_mgr { String rv = cache_mgr.Get_or(Ctx__app, key, null); return rv == null ? or : Long_.parse_or(rv, or); } + public String[] Get_strary_app_or(String key, String dlm, String... or) { + String rv = cache_mgr.Get_or(Ctx__app, key, null); + return rv == null ? or : String_.Ary_parse(String_.Trim(rv), dlm); + } public String Get_str_app_or(String key, String or) {return cache_mgr.Get_or(Ctx__app, key, or);} public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);} public boolean Get_bool_or(String ctx, String key, boolean or) { diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/mgrs/types/Xocfg_type_mgr.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/mgrs/types/Xocfg_type_mgr.java index ff9f4cf9d..e05f7a781 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/mgrs/types/Xocfg_type_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/mgrs/types/Xocfg_type_mgr.java @@ -23,7 +23,7 @@ public class Xocfg_type_mgr { this.Lists__add("list:xowa.app.startup.window.mode", "previous", "maximized", "absolute", "relative", "default"); this.Lists__add("list:xowa.app.startup.pages.type", "blank", "xowa", "previous", "custom"); this.Lists__add("list:xowa.gui.window.html_box.adj_type", "none", "relative", "absolute"); - this.Lists__add("list:xowa.wiki.database.zip_mode", "text", "gzip", "bzip2", "xz"); + this.Lists__add("list:xowa.wiki.database.zip_mode", Keyval_.new_("raw", "text"), Keyval_.new_("gzip"), Keyval_.new_("bzip2"), Keyval_.new_("xz")); this.Lists__add("list:xowa.html.wiki.portal.missing_class", Keyval_.new_("", "Show as blue link"), Keyval_.new_("new", "Show as red link"), Keyval_.new_("xowa_display_none", "Hide")); this.Lists__add("list:xowa.html.category.basic.missing_class", "normal", "hide", "red_link"); this.Lists__add("list:xowa.html.tidy.general.engine", "tidy", "jtidy"); diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java index 058c1cfdb..b2589024c 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java @@ -24,11 +24,13 @@ public class Xoedit_itm_html { if (String_.Len_gt_0(gui_args)) gui_args = " " + gui_args; switch (Xoitm_gui_tid.To_uid(gui_type_key)) { case Xoitm_gui_tid.Tid__bool: - // bfr.Add_str_u8_fmt("", gui_type_key, gui_args, key, String_.Eq(val, "y") ? " checked=\"checked\"" : ""); + bfr.Add_str_u8_fmt("", gui_type_key, gui_args, key, String_.Eq(val, "y") ? " checked=\"checked\"" : ""); + /* String span_args = ""; if (String_.Has(gui_args, "disabled=\"disabled\"")) span_args = " class=\"xocfg__bool__disabled\""; bfr.Add_str_u8_fmt("", gui_type_key, gui_args, key, String_.Eq(val, "y") ? " checked=\"checked\"" : "", span_args); + */ break; case Xoitm_gui_tid.Tid__int: bfr.Add_str_u8_fmt("", gui_type_key, gui_args, key, val); diff --git a/400_xowa/src/gplx/xowa/addons/wikis/searchs/bldrs/Srch_bldr_mgr_.java b/400_xowa/src/gplx/xowa/addons/wikis/searchs/bldrs/Srch_bldr_mgr_.java index f0a43b787..9aefe86ec 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/searchs/bldrs/Srch_bldr_mgr_.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/searchs/bldrs/Srch_bldr_mgr_.java @@ -24,7 +24,7 @@ public class Srch_bldr_mgr_ { Xob_bldr bldr = app.Bldr(); bldr.Cmd_mgr().Add_many(wiki, Xob_cmd_keys.Key_text_search_cmd); - int page_rank_iterations = wiki.Import_mgr().Page_rank_iterations(); + int page_rank_iterations = app.Cfg().Get_int_app_or("xowa.wiki.import.page_rank.iteration_max", 0); boolean page_rank_enabled = page_rank_iterations > 0; if (page_rank_enabled) { bldr.Cmd_mgr().Add(new gplx.xowa.bldrs.cmds.utils.Xob_download_cmd(bldr, wiki).Dump_type_(gplx.xowa.addons.bldrs.wmdumps.pagelinks.bldrs.Pglnk_bldr_cmd.Dump_type_key)); diff --git a/400_xowa/src/gplx/xowa/apps/cfgs/Xoa_cfg_mgr_tst.java b/400_xowa/src/gplx/xowa/apps/cfgs/Xoa_cfg_mgr_tst.java index 3f6e28390..a18367a3a 100644 --- a/400_xowa/src/gplx/xowa/apps/cfgs/Xoa_cfg_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/apps/cfgs/Xoa_cfg_mgr_tst.java @@ -19,16 +19,17 @@ package gplx.xowa.apps.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa import org.junit.*; import gplx.dbs.*; public class Xoa_cfg_mgr_tst { @Before public void init() {fxt.Clear();} private Xoa_cfg_mgr_fxt fxt = new Xoa_cfg_mgr_fxt(); + // DELETE: removed import_mgr off of wiki; only app level @Test public void Init() { - fxt.Init_cfg_all("import.db_text_max", "1000"); - fxt.Test_init_wiki("simple.wikipedia.org", "import.db_text_max", "1000"); - fxt.Test_cfg_itm("simple.wikipedia.org", "import.db_text_max", false, false); +// fxt.Init_cfg_all("import.db_text_max", "1000"); +// fxt.Test_init_wiki("simple.wikipedia.org", "import.db_text_max", "1000"); +// fxt.Test_cfg_itm("simple.wikipedia.org", "import.db_text_max", false, false); } @Test public void Notify() { - fxt.Exec_make_wiki("simple.wikipedia.org"); - fxt.Test_cfg_set("app.cfgs.get('import.db_text_max', 'simple.wikipedia.org').val = '2000';", "simple.wikipedia.org", "import.db_text_max", "2000"); - fxt.Test_cfg_itm("simple.wikipedia.org", "import.db_text_max", true, true); - fxt.Test_save("app.cfgs.get('import.db_text_max', 'simple.wikipedia.org').val = '2000';\n"); +// fxt.Exec_make_wiki("simple.wikipedia.org"); +// fxt.Test_cfg_set("app.cfgs.get('import.db_text_max', 'simple.wikipedia.org').val = '2000';", "simple.wikipedia.org", "import.db_text_max", "2000"); +// fxt.Test_cfg_itm("simple.wikipedia.org", "import.db_text_max", true, true); +// fxt.Test_save("app.cfgs.get('import.db_text_max', 'simple.wikipedia.org').val = '2000';\n"); } // @Test public void Notify_quote() { // fxt.Test_cfg_set("app.cfgs.get('app.gui.html.css_xtn', 'app').val = 'a''b';", "*", "app.gui.html.css_xtn", "a'b"); @@ -36,8 +37,8 @@ public class Xoa_cfg_mgr_tst { // fxt.Test_save("app.cfgs.get('app.gui.html.css_xtn', 'app').val = 'a''b';\n"); // } @Test public void Init_should_not_notify_if_app() { - fxt.Init_cfg_app("import.db_text_max", "1000"); - fxt.Test_init_wiki("simple.wikipedia.org", "import.db_text_max", "3000"); // 3000 is default; itm shouldn't change b/c cfg is app level; DATE:2013-07-14 +// fxt.Init_cfg_app("import.db_text_max", "1000"); +// fxt.Test_init_wiki("simple.wikipedia.org", "import.db_text_max", "3000"); // 3000 is default; itm shouldn't change b/c cfg is app level; DATE:2013-07-14 } } class Xoa_cfg_mgr_fxt { diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java index f1d07bc3a..0add56fdd 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java @@ -46,7 +46,6 @@ public class Xob_cmd_keys { , Key_tdb_text_wdata_qid = "tdb.text.wdata.qid" , Key_tdb_text_wdata_pid = "tdb.text.wdata.pid" , Key_exec_sql = "import.sql.exec_sql" - , Key_deploy_zip = "deploy.zip" , Key_decompress_bz2 = "core.decompress_bz2" ; } diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java index f3daed932..37e74c17b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java @@ -56,7 +56,6 @@ public class Xob_cmd_mgr implements Gfo_invk { else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_site_meta)) return Add(new Xob_site_meta_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_tdb_text_init)) return Add(new Xob_init_tdb(bldr, wiki)); - else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_tdb_make_page)) return Xml_rdr_direct_add(wiki, new Xob_page_txt(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_tdb_make_id)) return Xml_rdr_direct_add(wiki, new Xob_make_id_wkr(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_tdb_calc_stats)) return Add(new Xob_calc_stats_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_tdb_core_term)) return Add(new Xob_term_txt(bldr, wiki)); @@ -65,7 +64,6 @@ public class Xob_cmd_mgr implements Gfo_invk { else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_diff_build)) return Add(new Xob_diff_build_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_exec_sql)) return Add(new Xob_exec_sql_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_decompress_bz2)) return Add(new Xob_decompress_bz2_cmd(bldr, wiki)); - else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_deploy_zip)) return Add(new Xob_deploy_zip_cmd(bldr, wiki)); else throw Err_.new_unimplemented_w_msg("builder command is not supported: " + cmd_key); } private Xob_page_wkr Xml_rdr_direct_add(Xowe_wiki wiki, Xob_page_wkr wkr) { diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java index 727652ab1..83c45d677 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java @@ -95,7 +95,6 @@ public class Xob_fxt { tst_fils(wkr.Dump_url_gen().Prv_urls()); return this; } - public Xob_fxt Run_page_title() {return Run(new gplx.xowa.bldrs.cmds.texts.tdbs.Xob_page_txt(bldr, wiki));} public Xob_fxt Run(Xobd_parser_wkr... wkrs) { Xobd_parser parser_wkr = new Xobd_parser(bldr); int len = wkrs.length; diff --git a/400_xowa/src/gplx/xowa/bldrs/Xobldr_cfg.java b/400_xowa/src/gplx/xowa/bldrs/Xobldr_cfg.java index 93528a78f..3af2a65ad 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xobldr_cfg.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xobldr_cfg.java @@ -36,7 +36,8 @@ public class Xobldr_cfg { public static long Max_size__html(Xoa_app app) {return Max_size(app, Cfg__max_size__html);} public static long Max_size__file(Xoa_app app) {return Max_size(app, Cfg__max_size__file);} private static long Max_size(Xoa_app app, String key) { - return app.Cfg().Get_long_app_or(key, Io_size_.To_long_by_int_mb(1500)); + long rv = app.Cfg().Get_long_app_or(key, Io_size_.To_long_by_int_mb(1500)); + return rv * Io_mgr.Len_mb; } public static byte[] New_ns_file_map(long dump_file_size) { return dump_file_size < layout_text_max diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java index 1fe1f4603..89afe4ac4 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java @@ -41,11 +41,11 @@ public abstract class Xob_init_base implements Xob_cmd, Gfo_invk { } public void Cmd_end() { wiki.Appe().Gui_mgr().Html_mgr().Portal_mgr().Wikis().Itms_reset(); // dirty wiki list so that next refresh will load itm - if (wiki.Appe().Setup_mgr().Dump_mgr().Css_wiki_update()) { + // if (wiki.Appe().Setup_mgr().Dump_mgr().Css_wiki_update()) { // NOTE: used to be option, but was no longer being set; may need to reinstate; DATE:2016-12-21 Io_url url = wiki.Appe().Fsys_mgr().Wiki_css_dir(wiki.Domain_str()).GenSubFil(Xoa_css_extractor.Css_wiki_name); usr_dlg.Log_many("", "", "deleting css: ~{0}", url.Raw()); Io_mgr.Instance.DeleteFil_args(url).MissingFails_off().Exec(); - } + // } } @gplx.Virtual public void Cmd_term() {} @gplx.Virtual public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java deleted file mode 100644 index f73c0e992..000000000 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java +++ /dev/null @@ -1,93 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012 gnosygnu@gmail.com - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . -*/ -package gplx.xowa.bldrs.cmds.texts.tdbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; import gplx.xowa.bldrs.cmds.texts.*; -import gplx.core.ios.*; import gplx.xowa.wikis.data.tbls.*; -import gplx.xowa.bldrs.wkrs.*; import gplx.xowa.bldrs.wtrs.*; -import gplx.xowa.wikis.nss.*; -import gplx.xowa.parsers.utils.*; -import gplx.xowa.wikis.tdbs.*; import gplx.xowa.wikis.tdbs.xdats.*; import gplx.xowa.wikis.tdbs.stats.*; -public class Xob_page_txt extends Xob_itm_dump_base implements Xob_page_wkr, Gfo_invk { - public Xob_page_txt(Xob_bldr bldr, Xowe_wiki wiki) {this.Cmd_ctor(bldr, wiki);} - public String Page_wkr__key() {return Xob_cmd_keys.Key_tdb_make_page;} - public void Page_wkr__bgn() { - redirect_mgr = wiki.Redirect_mgr(); page_storage_type = wiki.Appe().Setup_mgr().Dump_mgr().Data_storage_format(); - fsys_mgr = wiki.Tdb_fsys_mgr(); - make_dir = fsys_mgr.Ns_dir(); - if (Io_mgr.Instance.QueryDir_args(make_dir).DirOnly_().ExecAsUrlAry().length > 0) throw bldr.Usr_dlg().Fail_many("xowa.bldr.itm", "dir_empty", "dir_must_be_empty: ~{0}", make_dir.Raw()); - this.Init_dump(Xob_cmd_keys.Key_tdb_make_page, make_dir); - this.data_rpt_typ = stat_mgr.GetOrNew(Xotdb_dir_info_.Tid_page); - ttl_wtr_mgr = new Xob_tmp_wtr_mgr(new Xob_tmp_wtr_wkr__ttl(temp_dir, dump_fil_len)); - } private Xotdb_fsys_mgr fsys_mgr; Xop_redirect_mgr redirect_mgr; - int page_file_len = 512 * Io_mgr.Len_kb, title_file_len = 64 * Io_mgr.Len_kb; Xob_tmp_wtr_mgr ttl_wtr_mgr; - Xob_xdat_file_wtr[] page_wtr_regy = new Xob_xdat_file_wtr[Ns_ordinal_max]; static final int Ns_ordinal_max = Xow_ns_mgr_.Ordinal_max; // ASSUME: no more than 128 ns in a wiki - Xob_stat_type data_rpt_typ; Xob_stat_mgr stat_mgr = new Xob_stat_mgr(); byte page_storage_type; - public void Page_wkr__run(Xowd_page_itm page) { - int id = page.Id(); byte[] ttl_wo_ns = page.Ttl_page_db(), text = page.Text(); int ttl_len = ttl_wo_ns.length, text_len = text.length; Xow_ns ns = page.Ns(); - boolean redirect = redirect_mgr.Is_redirect(text, text_len); - page.Redirected_(redirect); - - // page: EX: \t123\t2012-06-09\ttitle\ttext\n; NOTE: 512k * ~20 ns = 10 MB max memory; no need for intermediary flushing - Xob_xdat_file_wtr page_wtr = Page_wtr_get(ns); - if (page_wtr.FlushNeeded(Xotdb_page_itm_.Txt_page_len__fixed + ttl_len + text_len)) page_wtr.Flush(bldr.Usr_dlg()); - Xotdb_page_itm_.Txt_page_save(page_wtr.Bfr(), id, page.Modified_on(), ttl_wo_ns, text, false); - page_wtr.Add_idx(Byte_ascii.Nl); - - // idx: EX: 00100|aB64|Ttl; - Xob_tmp_wtr ttl_wtr = ttl_wtr_mgr.Get_or_new(ns); - int file_idx = page_wtr.Fil_idx(), row_idx = page_wtr.Idx_pos() - 1; // 1=Last_idx_offset - page.Text_db_id_(file_idx).Tdb_row_idx_(row_idx); - if (ttl_wtr.FlushNeeded(Xotdb_page_itm_.Txt_ttl_len__fixed + ttl_len)) ttl_wtr.Flush(bldr.Usr_dlg()); - Xotdb_page_itm_.Txt_ttl_save(ttl_wtr.Bfr(), id, file_idx, row_idx, redirect, text_len, ttl_wo_ns); - } - public void Page_wkr__run_cleanup() {} - public void Page_wkr__end() { - Flush_page(page_wtr_regy); - ttl_wtr_mgr.Flush_all(bldr.Usr_dlg()); - Xobdc_merger.Ns(bldr.Usr_dlg(), ttl_wtr_mgr.Regy(), Xotdb_dir_info_.Name_title, temp_dir, make_dir, sort_mem_len, Io_line_rdr_key_gen_.last_pipe, new Io_sort_cmd_ns(bldr.Usr_dlg())); - ttl_wtr_mgr.Rls_all(); - if (delete_temp) Io_mgr.Instance.DeleteDirDeep(temp_dir); - } - Xob_xdat_file_wtr Page_wtr_get(Xow_ns ns) { - Xob_xdat_file_wtr rv = page_wtr_regy[ns.Ord()]; - if (rv == null) { - rv = Xob_xdat_file_wtr.new_by_tid_(page_file_len, fsys_mgr.Ns_dir().GenSubDir_nest(ns.Num_str()), Xotdb_dir_info_.Tid_page, page_storage_type).Ns_ord_idx_(ns.Ord()); - page_wtr_regy[ns.Ord()] = rv; - } - return rv; - } - private void Flush_page(Xob_xdat_file_wtr[] regy) { - for (int i = 0; i < Ns_ordinal_max; i++) { - Xob_xdat_file_wtr wtr = regy[i]; - if (wtr != null) { - Xow_ns ns_itm = wiki.Ns_mgr().Ords_get_at(wtr.Ns_ord_idx()); - Xob_stat_itm datRptItm = data_rpt_typ.GetOrNew(ns_itm.Name_db_str()); - datRptItm.Tally(wtr.Fil_len(), wtr.Fil_idx()); - wtr.Flush(bldr.Usr_dlg()); - wtr.Rls(); - regy[i] = null; - } - } - } - @Override public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_page_file_len_)) page_file_len = gplx.core.ios.Io_size_.Load_int_(m); - else if (ctx.Match(k, Invk_title_file_len_)) title_file_len = gplx.core.ios.Io_size_.Load_int_(m); - else return super.Invk(ctx, ikey, k, m); - return this; - } private static final String Invk_page_file_len_ = "page_file_len_", Invk_title_file_len_ = "title_file_len_"; - static final String GRP_KEY = "xowa.bldr.make_page"; -} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java deleted file mode 100644 index fea8cc7b9..000000000 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java +++ /dev/null @@ -1,169 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012 gnosygnu@gmail.com - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . -*/ -package gplx.xowa.bldrs.cmds.texts.tdbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; import gplx.xowa.bldrs.cmds.texts.*; -import org.junit.*; -import gplx.core.ios.*; import gplx.xowa.wikis.tdbs.*; import gplx.xowa.wikis.data.tbls.*; -import gplx.xowa.wikis.nss.*; -public class Xob_tst { - @Before public void init() {fxt = new Xob_fxt().Ctor_mem();} private Xob_fxt fxt; - // @After public void term() {fxt.Wiki().Ctx().Sys_load_tmpls_(true);} // commented during wiki.Ctx() removal; DATE:2014-04-22 - @Test public void Basic() { - fxt.doc_ary_ - ( fxt.doc_(3, "2012-01-02 13:15", "Title 2a", "text2a\ny") - , fxt.doc_(2, "2012-01-02 13:14", "Title 1", "text1\nz") - ) - .Fil_expd(fxt.fil_ns_page(Xow_ns_.Tid__main, 0) - , "!!!!@|!!!!>|" - , "!!!!$\t#6>K6\tTitle 2a\ttext2a" - , "y\t" - , "!!!!#\t#6>K5\tTitle 1\ttext1" - , "z\t" - , "" - ) - .Fil_expd(fxt.fil_ns_title(Xow_ns_.Tid__main, 0) - , "!!!!C|!!!!D|" - , "!!!!#|!!!!!|!!!!\"|0|!!!!(|Title 1" - , "!!!!$|!!!!!|!!!!!|0|!!!!)|Title 2a" - , "" - ) - .Fil_expd(fxt.fil_reg(Xow_ns_.Tid__main, Xotdb_dir_info_.Tid_ttl) - , "0|Title 1|Title 2a|2" - , "" - ) - .Run_page_title() - ; - } - @Test public void Utf8() { - fxt.doc_ary_ - ( fxt.doc_(3, "2012-01-02 13:15", "↑", "t2") - , fxt.doc_(2, "2012-01-02 13:14", "!", "t1") - ) - .Fil_expd(fxt.fil_ns_page(Xow_ns_.Tid__main, 0) - , "!!!!5|!!!!3|" - , "!!!!$\t#6>K6\t↑\tt2\t" - , "!!!!#\t#6>K5\t!\tt1\t" - , "" - ) - .Fil_expd(fxt.fil_ns_title(Xow_ns_.Tid__main, 0) - , "!!!!=|!!!!?|" - , "!!!!#|!!!!!|!!!!\"|0|!!!!#|!" - , "!!!!$|!!!!!|!!!!!|0|!!!!#|↑" - , "" - ) - .Fil_expd(fxt.fil_reg(Xow_ns_.Tid__main, Xotdb_dir_info_.Tid_ttl) - , "0|!|↑|2" - , "" - ) - .Run_page_title() - ; - } - @Test public void Ns() { - fxt.doc_ary_ - ( fxt.doc_(2, "2012-01-02 13:14", "Template:A", "test a") - ) - .Fil_expd(fxt.fil_ns_page(Xow_ns_.Tid__template, 0) - , "!!!!7|" - , "!!!!#\t#6>K5\tA\ttest a\t" - , "" - ) - .Fil_expd(fxt.fil_ns_title(Xow_ns_.Tid__template, 0) - , "!!!!=|" - , "!!!!#|!!!!!|!!!!!|0|!!!!'|A" - , "" - ) - .Fil_expd(fxt.fil_reg(Xow_ns_.Tid__template, Xotdb_dir_info_.Tid_ttl) - , "0|A|A|1" - , "" - ) - .Run_page_title() - ; - } - @Test public void Id() { - fxt.doc_ary_ - ( fxt.doc_wo_date_(2, "A", "a") - , fxt.doc_wo_date_(3, "Template:B", "b") - ) - .Fil_expd(fxt.fil_site_id(0) - , "!!!!C|!!!!C|" - , "!!!!#|!!!!!|!!!!!|0|!!!!\"|!!!!!|A" - , "!!!!$|!!!!!|!!!!!|0|!!!!\"|!!!!+|B" - , "" - ) - .Fil_expd(fxt.fil_reg(Xotdb_dir_info_.Tid_id) - , "0|!!!!#|!!!!$|2" - , "" - ) - .Run_id() - ; - } - @Test public void Tmpl_dump() { - fxt.doc_ary_ - ( fxt.doc_wo_date_(2, "Template:A", "a") - , fxt.doc_wo_date_(3, "B", "b") - , fxt.doc_wo_date_(4, "Template:C", "c") - ) - .Fil_expd(null - , "!!!!#\t#6>K5\tA\ta\t" - , "!!!!%\t#6>K5\tC\tc\t" - , "" - ) - .Run_tmpl_dump() - ; - } - @Test public void Parse() { - tst_Parse(String_.Concat - ( "!!!!#\t#6>K5\tA\ta\t\n" - , "!!!!$\t#6>K5\tB\tb\t\n" - , "!!!!%\t#6>K5\tC\tc\t\n" - ) - , "a", "b", "c"); - } - private void tst_Parse(String raw, String... expd) { - Xoae_app app = Xoa_app_fxt.Make__app__edit(); // NOTE: resets mem file system, so must happen first - Io_url url = Io_url_.mem_fil_("mem/raw_page.csv"); - Io_mgr.Instance.SaveFilStr(url, raw); - Xotdb_page_raw_parser parser = new Xotdb_page_raw_parser(); - Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app); - parser.Load(Gfo_usr_dlg_.Test(), wiki, new Xow_ns(Xow_ns_.Tid__template, Xow_ns_case_.Tid__1st, Bry_.new_a7("Template"), false), new Io_url[] {url}, 1 * Io_mgr.Len_kb); - List_adp actl = List_adp_.New(); - Xowd_page_itm page = new Xowd_page_itm(); - while (parser.Read(page)) { - actl.Add(String_.new_u8(page.Text())); - } - Tfds.Eq_ary(expd, actl.To_str_ary()); - } - @Test public void Img_gen() { - /* - fxt.Src_(String_.Concat_lines_nl - ( "A.png|||1234|90|80|8|1||0,-1,-1,-1" - , "B.png|||1234|90|80|8|1||0,-1,-1,-1" - , "C.png|||1234|90|80|8|1||0,-1,-1,-1" - ) - .Expd_len_(3) - .Expd_files_ - ( Io_fil.new_("mem/dump/70a" - , "A.png|||1234|90|80|8|1||0,-1,-1,-1|70a") - , Io_fil.new_("mem/dump/70b" - , "B.png|||1234|90|80|8|1||0,-1,-1,-1|71b") - , Io_fil.new_("mem/dump/70c" - , "C.png|||1234|90|80|8|1||0,-1,-1,-1|72c") - ) - .tst_() - */; - } -} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java deleted file mode 100644 index 7ea1ad05c..000000000 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java +++ /dev/null @@ -1,86 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012 gnosygnu@gmail.com - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . -*/ -package gplx.xowa.bldrs.cmds.utils; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; -import gplx.core.ios.zips.*; -import gplx.xowa.bldrs.wkrs.*; import gplx.xowa.bldrs.sql_dumps.*; -import gplx.xowa.wikis.nss.*; -import gplx.xowa.wikis.tdbs.*; -public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd { - public Xob_deploy_zip_cmd(Xob_bldr bldr, Xowe_wiki wiki) {this.Cmd_ctor(bldr, wiki);} - public String Cmd_key() {return Xob_cmd_keys.Key_deploy_zip;} - public void Cmd_init(Xob_bldr bldr) {} - public void Cmd_bgn(Xob_bldr bldr) {} - public void Cmd_run() {Exec(bldr, Xotdb_dir_info_.Name_page);} - public void Cmd_end() {} - public void Cmd_term() {} - private void Exec(Xob_bldr bldr, String type_name) { - Log("initing wiki"); - try {wiki.Init_assert();} - catch (Exception exc) {Log("failed to init wiki: ~{0}", Err_.Message_gplx_full(exc));} - Log("probing ns_dirs: ~{0}", wiki.Tdb_fsys_mgr().Ns_dir().Raw()); - Io_url[] ns_dirs = Io_mgr.Instance.QueryDir_args(wiki.Tdb_fsys_mgr().Ns_dir()).DirOnly_().ExecAsUrlAry(); - for (Io_url ns_dir : ns_dirs) { - Log("zipping dir: ~{0}", ns_dir.Raw()); - String ns_num = ns_dir.NameOnly(); - Xow_ns ns_itm = wiki.Ns_mgr().Ids_get_or_null(Int_.parse(ns_num)); - Zip_ns(bldr, ns_dir, type_name, ns_itm.Name_db_str()); - } - } - private void Zip_ns(Xob_bldr bldr, Io_url root_dir, String type_name, String ns_name) { - bldr.Usr_dlg().Prog_one(GRP_KEY, "scan", "scanning dir ~{0}", type_name); - Io_url[] fils = Io_mgr.Instance.QueryDir_args(root_dir.GenSubDir(type_name)).Recur_().ExecAsUrlAry(); - int fils_len = fils.length; - String fils_len_str = Int_.To_str_pad_bgn_zero(fils_len, 6); - for (int i = 0; i < fils_len; i++) { - Io_url fil = fils[i]; - bldr.Print_prog_msg(i, fils.length, -1, "zipping ~{0} ~{1} ~{2} of ~{3}", type_name, ns_name, Int_.To_str_pad_bgn_zero(i, 6), fils_len_str); - Io_url trg_fil = Gen_trg(root_dir, fil, type_name); - if (String_.Eq(fil.NameAndExt(), Xotdb_dir_info_.Name_reg_fil)) // do not zip reg.csv - Io_mgr.Instance.CopyFil(fil, trg_fil, true); - else - zip_mgr.Zip_fil(fil, trg_fil.GenNewExt(Xotdb_dir_info_.Ext_zip)); - } - if (delete_dirs_page) Io_mgr.Instance.DeleteDirDeep(root_dir.GenSubDir(type_name)); - } - public boolean Delete_dirs_page() {return delete_dirs_page;} public Xob_deploy_zip_cmd Delete_dirs_page_(boolean v) {delete_dirs_page = v; return this;} private boolean delete_dirs_page = true; - Io_url Gen_trg(Io_url root_dir, Io_url fil, String type_name) { - String src_fil = fil.Xto_api(); - int pos = String_.FindBwd(src_fil, type_name); // SEE:NOTE_1 - pos += String_.Len(type_name); // get rest of String after type; EX: in "/page/000000" start with "/000000" - return root_dir.GenSubFil(String_.Concat(type_name, Dir_zip_suffix, String_.Mid(src_fil, pos))); - } - @Override public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.MatchIn(k, Invk_delete_temp_, Invk_delete_dirs_page_)) delete_dirs_page = m.ReadYn("v"); - else return super.Invk(ctx, ikey, k, m); - return this; - } private static final String Invk_delete_temp_ = "delete_temp_", Invk_delete_dirs_page_ = "delete_dirs_page_"; - private void Log(String fmt, Object... args) { - bldr.App().Usr_dlg().Log_many(GRP_KEY, "deploy.zip.msg", fmt, args); - } - Io_zip_mgr zip_mgr = Io_zip_mgr_base.Instance; - public static final String Dir_zip_suffix = "_zip"; - static final String GRP_KEY = "xowa.bldr.zip"; -} -/* -NOTE_1:generate trg url -find "type_name" to replace with "type_name_zip"; -EX: -old: /xowa/ns/000/page/000000/000100/000123.xdat; -new: /xowa/ns/000/page_zip/000000/000100/000123.xdat; -NOTE: FindBwd (and not Replace) b/c root_dir could be something like /page/xowa -*/ \ No newline at end of file diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_cmd.java index 744a44c39..9b30a949c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_cmd.java @@ -31,7 +31,7 @@ public class Xob_download_cmd extends Xob_cmd__base implements Xob_cmd { if (!gplx.core.ios.IoEngine_system.Web_access_enabled) return; Xowm_dump_file dump_file = new Xowm_dump_file(wiki.Domain_str(), dump_date, dump_type); if (dump_src == null) { - dump_file.Server_url_(app.Setup_mgr().Dump_mgr().Server_urls()[0]); + dump_file.Server_url_(gplx.xowa.bldrs.installs.Xoi_dump_mgr.Server_urls(app)[0]); dump_src = dump_file.File_url(); } if (dump_trg_zip == null) diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java index 0ac27eefd..9508774e6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java @@ -72,7 +72,7 @@ public class Xoa_css_extractor { } } private void Install_by_wmf(Xowe_wiki wiki, Io_url wiki_html_dir) { - opt_download_css_common = wiki.Appe().Setup_mgr().Dump_mgr().Css_commons_download(); + opt_download_css_common = wiki.Appe().Cfg().Get_bool_app_or("xowa.wiki.import.download_xowa_common", true); // CFG: Cfg__ if (!gplx.core.ios.IoEngine_system.Web_access_enabled) opt_download_css_common = false; // if !web_access_enabled, don't download this.wiki_domain = wiki.Domain_bry(); mainpage_url = "https://" + wiki.Domain_str(); // NOTE: cannot reuse protocol_prefix b/c "//" needs to be added manually; protocol_prefix is used for logo and images which have form of "//domain/image.png"; changed to https; DATE:2015-02-17 diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_imageMagick_download.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_imageMagick_download.java index ec56cbda7..e3405010d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_imageMagick_download.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_imageMagick_download.java @@ -47,21 +47,3 @@ class Xoi_cmd_msg_ok extends Gfo_thread_cmd_base implements Gfo_thread_cmd { } public static final String KEY = "msg.ok"; } -// class Gfo_thread_exec_sync : Gfo_thread_cmd_base, Gfo_thread_cmd { -// public Gfo_thread_exec_sync(Gfo_usr_dlg usr_dlg, Gfui_kit kit, Io_url exec_url, String exec_args) {this.Ctor(usr_dlg, kit); this.exec_url = exec_url; this.exec_args = exec_args;} Io_url exec_url; String exec_args; -// public override byte Async_init() { -// if (!kit.Ask_yes_no(GRP_KEY, "confirm", "You are about to run '~{0}'. Please confirm that XOWA requested you to run '~{0}' and that you trust it to run on your machine.", exec_url.NameAndExt())) { -// usr_dlg.Warn_many(GRP_KEY, "confirm.fail", "program was untrusted: ~{0} ~{1}", exec_url.Raw(), exec_args); -// return Gfo_thread_cmd_.Init_cancel_all; -// } -// usr_dlg.Prog_many("exec_sync", "bgn", "running process. please wait; ~{0} ~{1}", exec_url.Raw(), exec_args); -// return Gfo_thread_cmd_.Init_ok; -// } -// public override void Async_run() { -// Process_adp process = new Process_adp().Exe_url_(exec_url).Args_str_(exec_args).Prog_dlg_(usr_dlg); -// process.Run_mode_(Process_adp.Run_mode_sync_block); -// process.Run(); -// } -// public static final String KEY = "exec.sync"; -// static final String GRP_KEY = "exec.sync"; -// } diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_mgr.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_mgr.java index fd51cb694..2e625a975 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_mgr.java @@ -87,7 +87,9 @@ public class Xoi_cmd_mgr implements Gfo_invk { return cmd; // return last cmd } public Gfo_thread_cmd Dump_add_many_custom(String wiki_key, String wiki_date, String dump_type, boolean dumpfile_cmd) { - String[] custom_cmds = app.Setup_mgr().Dump_mgr().Custom_cmds(); + String[] custom_cmds = (app.Cfg().Get_bool_app_or("xowa.wiki.import.unzip_bz2_file", false)) // CFG: Cfg__ + ? String_.Ary(Xoi_cmd_wiki_download.Key_wiki_download, Xoi_cmd_wiki_unzip.KEY_dump, Xoi_cmd_wiki_import.KEY) + : String_.Ary(Xoi_cmd_wiki_download.Key_wiki_download, Xoi_cmd_wiki_import.KEY); int custom_cmds_len = custom_cmds.length; Gfo_thread_cmd cmd = null; for (int j = 0; j < custom_cmds_len; j++) { @@ -110,14 +112,12 @@ public class Xoi_cmd_mgr implements Gfo_invk { if (String_.Eq(cmd_key, Xoi_cmd_wiki_download.Key_wiki_download)) return new Xoi_cmd_wiki_download().Ctor_download_(install_mgr, wiki_key, wiki_date, dump_type).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_wiki_unzip.KEY_dump)) return new Xoi_cmd_wiki_unzip(install_mgr, wiki_key, wiki_date, dump_type).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_wiki_import.KEY)) return new Xoi_cmd_wiki_import(install_mgr, wiki_key, wiki_date, dump_type).Owner_(this); - else if (String_.Eq(cmd_key, Xoi_cmd_wiki_zip.KEY)) return new Xoi_cmd_wiki_zip(install_mgr, wiki_key, wiki_date, dump_type).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_category2_build.KEY)) return new Xoi_cmd_category2_build(install_mgr, wiki_key).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_category2_page_props.KEY_category2)) return new Xoi_cmd_category2_page_props(install_mgr, wiki_key, wiki_date).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_category2_categorylinks.KEY_category2)) return new Xoi_cmd_category2_categorylinks(install_mgr, wiki_key, wiki_date).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_search2_build.KEY)) return new Xoi_cmd_search2_build(install_mgr, wiki_key).Owner_(this); else throw Err_.new_unhandled(cmd_key); } - public static final String[] Wiki_cmds_valid = new String[] {Xoi_cmd_wiki_download.Key_wiki_download, Xoi_cmd_wiki_unzip.KEY_dump, Xoi_cmd_wiki_import.KEY, Xoi_cmd_wiki_zip.KEY, Xoi_cmd_category2_build.KEY, Xoi_cmd_category2_page_props.KEY_category2, Xoi_cmd_category2_categorylinks.KEY_category2}; public static final String Wiki_cmd_custom = "wiki.custom", Wiki_cmd_dump_file = "wiki.dump_file"; public Gfo_thread_cmd Cmd_add(GfoMsg m) {Gfo_thread_cmd rv = Cmd_clone(m); cmds.Add(rv); return rv;} Gfo_thread_cmd Cmd_clone(GfoMsg m) { @@ -128,12 +128,11 @@ public class Xoi_cmd_mgr implements Gfo_invk { else if (String_.Eq(cmd_key, Xoi_cmd_wiki_image_cfg.KEY_dump)) return new Xoi_cmd_wiki_image_cfg(app, Bry_fmtr_eval_mgr_.Eval_url(app.Url_cmd_eval(), m.ReadBry("fil"))).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_wiki_goto_page.KEY)) return new Xoi_cmd_wiki_goto_page(app, m.ReadStr("v")).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_msg_ok.KEY)) return new Xoi_cmd_msg_ok(app.Usr_dlg(), app.Gui_mgr().Kit(), m.ReadStr("v")).Owner_(this); -// else if (String_.Eq(cmd_key, Gfo_thread_exec_sync.KEY)) return new Gfo_thread_exec_sync(app.Usr_dlg(), app.Gui_mgr().Kit(), Bry_fmtr_eval_mgr_.Eval_url(app.Url_cmd_eval(), m.ReadBry("url")), m.ReadStr("args")).Owner_(this); else if (String_.Eq(cmd_key, Xoi_cmd_imageMagick_download.KEY_imageMagick)) return new Xoi_cmd_imageMagick_download(app.Usr_dlg(), app.Gui_mgr().Kit(), Bry_fmtr_eval_mgr_.Eval_url(app.Url_cmd_eval(), m.ReadBry("trg"))).Owner_(this); else if (String_.Eq(cmd_key, Wiki_cmd_dump_file)) return Wiki_cmd_dump_file_make(m); else throw Err_.new_unhandled(cmd_key); } - Gfo_thread_cmd Wiki_cmd_dump_file_make(GfoMsg m) { + Gfo_thread_cmd Wiki_cmd_dump_file_make(GfoMsg m) { // note: might be used directly in home-wiki pages to download files Xoi_cmd_dumpfile dumpfile = new Xoi_cmd_dumpfile().Parse_msg(m); return dumpfile.Exec(this); } diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_download.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_download.java index 18beb618d..bfedf1aa9 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_download.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_download.java @@ -33,12 +33,13 @@ class Xoi_cmd_wiki_download extends Gfo_thread_cmd_download implements Gfo_threa @Override public byte Async_init() { Xoae_app app = install_mgr.App(); Xowm_dump_file dump_file = new Xowm_dump_file(wiki_key, dump_date, dump_type); - boolean connected = Xowm_dump_file_.Connect_first(dump_file, install_mgr.Dump_mgr().Server_urls()); + String[] server_urls = gplx.xowa.bldrs.installs.Xoi_dump_mgr.Server_urls(app); + boolean connected = Xowm_dump_file_.Connect_first(dump_file, server_urls); if (connected) app.Usr_dlg().Note_many("", "", "url: ~{0}", dump_file.File_url()); else { if (!Dump_servers_offline_msg_shown) { - app.Gui_mgr().Kit().Ask_ok("", "", "all dump servers are offline: ~{0}", String_.AryXtoStr(install_mgr.Dump_mgr().Server_urls())); + app.Gui_mgr().Kit().Ask_ok("", "", "all dump servers are offline: ~{0}", String_.AryXtoStr(server_urls)); Dump_servers_offline_msg_shown = true; } } diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_import.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_import.java index 7dff7c988..f008738cf 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_import.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_import.java @@ -65,7 +65,7 @@ class Xoi_cmd_wiki_import implements Gfo_thread_cmd { wiki.Html_mgr().Page_wtr_mgr().Init_(true); wiki.Init_assert(); if (String_.Eq(src_url.Ext(), ".xml")) { - if (app.Setup_mgr().Dump_mgr().Delete_xml_file()) + if (app.Cfg().Get_bool_app_or("xowa.wiki.import.delete_xml_file", true)) // CFG: Cfg__ Io_mgr.Instance.DeleteFil(src_url); } else if (String_.Eq(src_url.Ext(), ".bz2")) { @@ -83,8 +83,8 @@ class Xoi_cmd_wiki_import implements Gfo_thread_cmd { bldr.Cmd_mgr().Add_cmd(wiki, Xob_cmd_keys.Key_text_init); bldr.Cmd_mgr().Add_cmd(wiki, Xob_cmd_keys.Key_text_page); bldr.Cmd_mgr().Add_cmd(wiki, Xob_cmd_keys.Key_text_css); - if (wiki.Appe().Setup_mgr().Dump_mgr().Search_version() == gplx.xowa.addons.wikis.searchs.specials.Srch_special_page.Version_2) - gplx.xowa.addons.wikis.searchs.bldrs.Srch_bldr_mgr_.Setup(wiki); +// if (wiki.Appe().Setup_mgr().Dump_mgr().Search_version() == gplx.xowa.addons.wikis.searchs.specials.Srch_special_page.Version_2) + gplx.xowa.addons.wikis.searchs.bldrs.Srch_bldr_mgr_.Setup(wiki); bldr.Cmd_mgr().Add_cmd(wiki, Xob_cmd_keys.Key_text_term); // setup category diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_zip.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_zip.java deleted file mode 100644 index 747ddf82f..000000000 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_cmd_wiki_zip.java +++ /dev/null @@ -1,69 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012 gnosygnu@gmail.com - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . -*/ -package gplx.xowa.bldrs.installs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import gplx.core.threads.*; -import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.utils.*; -class Xoi_cmd_wiki_zip implements Gfo_thread_cmd { - public Xoi_cmd_wiki_zip(Xoi_setup_mgr install_mgr, String wiki_key, String wiki_date, String dump_type) {this.install_mgr = install_mgr; this.Owner_(install_mgr); this.wiki_key = wiki_key; this.wiki_date = wiki_date; this.dump_type = dump_type;} private Xoi_setup_mgr install_mgr; String wiki_key, wiki_date, dump_type; - public static final String KEY = "wiki.zip"; - public void Cmd_ctor() {} - public String Async_key() {return KEY;} - public int Async_sleep_interval() {return Gfo_thread_cmd_.Async_sleep_interval_1_second;} - public boolean Async_prog_enabled() {return false;} - public void Async_prog_run(int async_sleep_sum) {} - public byte Async_init() {return Gfo_thread_cmd_.Init_ok;} - public boolean Async_term() { - wiki.Tdb_fsys_mgr().Scan_dirs(); - install_mgr.App().Usr_dlg().Log_many(GRP_KEY, "zip.end", "zip.end ~{0}", wiki_key); - install_mgr.App().Usr_dlg().Prog_many(GRP_KEY, "zip.done", "zip done"); - return true; - } - public Gfo_invk Owner() {return owner;} public Xoi_cmd_wiki_zip Owner_(Gfo_invk v) {owner = v; return this;} Gfo_invk owner; - public Gfo_thread_cmd Async_next_cmd() {return next_cmd;} public void Async_next_cmd_(Gfo_thread_cmd v) {next_cmd = v;} Gfo_thread_cmd next_cmd; - public void Async_run() { - running = true; - install_mgr.App().Usr_dlg().Log_many(GRP_KEY, "zip.bgn", "zip.bgn ~{0}", wiki_key); - Thread_adp_.Start_by_key(this.Async_key(), this, Invk_process_async); - } - public boolean Async_running() { - return running; - } - boolean running, delete_dirs_page = true, notify_done = true; - private void Process_async() { - Xoae_app app = install_mgr.App(); - Xob_bldr bldr = app.Bldr(); - wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_a7(wiki_key)); - wiki.Init_assert(); - bldr.Cmd_mgr().Clear(); - bldr.Pause_at_end_(false); - ((Xob_deploy_zip_cmd)bldr.Cmd_mgr().Add_cmd(wiki, Xob_cmd_keys.Key_deploy_zip)).Delete_dirs_page_(delete_dirs_page); - bldr.Run(); - app.Usr_dlg().Prog_none(GRP_KEY, "clear", ""); - app.Usr_dlg().Note_none(GRP_KEY, "clear", ""); - running = false; - } private Xowe_wiki wiki; - public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_process_async)) Process_async(); - else if (ctx.Match(k, Invk_owner)) return owner; - else if (ctx.Match(k, Invk_delete_dirs_page_)) delete_dirs_page = m.ReadYn("v"); - else if (ctx.Match(k, Invk_notify_done_)) notify_done = m.ReadYn("v"); - else return Gfo_invk_.Rv_unhandled; - return this; - } private static final String Invk_process_async = "run_async", Invk_owner = "owner", Invk_delete_dirs_page_ = "delete_dirs_page_", Invk_notify_done_ = "notify_done_"; - private static final String GRP_KEY = "xowa.thread.op.wiki.zip"; -} diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_dump_mgr.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_dump_mgr.java index aa06e5700..0e0b3d5cf 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_dump_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_dump_mgr.java @@ -16,75 +16,24 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.bldrs.installs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import gplx.core.ios.*; import gplx.core.ios.streams.*; import gplx.xowa.bldrs.wms.dumps.*; -public class Xoi_dump_mgr implements Gfo_invk { - public String[] Server_urls() {return server_urls;} private String[] server_urls = String_.Ary(Xowm_dump_file_.Server_your_org, Xowm_dump_file_.Server_wmf_https, Xowm_dump_file_.Server_c3sl, Xowm_dump_file_.Server_masaryk); // promote your.org to primary url; DATE:2016-08-07 - public boolean Import_bz2_by_stdout() {return import_bz2_by_stdout;} private boolean import_bz2_by_stdout = true; +public class Xoi_dump_mgr { +// public String[] Server_urls() {return server_urls;} private String[] server_urls = String_.Ary(Xowm_dump_file_.Server_your_org, Xowm_dump_file_.Server_wmf_https, Xowm_dump_file_.Server_c3sl, Xowm_dump_file_.Server_masaryk); // promote your.org to primary url; DATE:2016-08-07 +// public void Init_by_app(Xoa_app app) { +// app.Cfg().Bind_many_app(this, Cfg__server_urls); +// } +// public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { +// if (ctx.Match(k, Cfg__server_urls)) server_urls = m.ReadStrAryIgnore("v", ",", "\n"); +// else return Gfo_invk_.Rv_unhandled; +// return this; +// } +// private static final String +// Cfg__server_urls = "xowa.wiki.import.dump_servers" +// ; - public String[] Custom_cmds() {return custom_cmds;} private String[] custom_cmds = String_.Ary(Xoi_cmd_wiki_download.Key_wiki_download, Xoi_cmd_wiki_import.KEY); - public byte Data_storage_format() {return data_storage_format;} public Xoi_dump_mgr Data_storage_format_(byte v) {data_storage_format = v; return this;} private byte data_storage_format = gplx.core.ios.streams.Io_stream_tid_.Tid__gzip; - public long Db_text_max() {return db_text_max;} private long db_text_max = (long)3000 * Io_mgr.Len_mb; - public long Db_categorylinks_max() {return db_categorylinks_max;} private long db_categorylinks_max = (long)3600 * Io_mgr.Len_mb; - public long Db_wikidata_max() {return db_wikidata_max;} private long db_wikidata_max = (long)3600 * Io_mgr.Len_mb; - public String Db_ns_map() {return db_ns_map;} private String db_ns_map = "Template~Module"; - public boolean Css_wiki_update() {return css_wiki_update;} private boolean css_wiki_update = true; - public boolean Css_commons_download() {return css_commons_download;} private boolean css_commons_download = true; // changed from false to true; DATE:2014-10-19 - public boolean Delete_xml_file() {return delete_xml_file;} private boolean delete_xml_file = true; - public byte Search_version() {return search_version;} private byte search_version = gplx.xowa.addons.wikis.searchs.specials.Srch_special_page.Version_2; - public int Page_rank_iterations() {return page_rank_iteration_max;} private int page_rank_iteration_max = 0; - public void Init_by_wiki(Xow_wiki wiki) { - wiki.App().Cfg().Bind_many_app(this - , Cfg__server_urls, Cfg__download_xowa_commons, Cfg__delete_xml_file - , Cfg__custom_wiki_commands, Cfg__bz2__stdout_enabled - , Cfg__page_rank__iteration_max - ); + public static boolean Import_bz2_by_stdout(Xoa_app app) {return app.Cfg().Get_bool_app_or("xowa.wiki.import.bz2.stdout_enabled", true);} // CFG: Cfg__ + public static String[] Server_urls(Xoa_app app) { + String[] or = String_.Ary(Xowm_dump_file_.Server_your_org, Xowm_dump_file_.Server_wmf_https, Xowm_dump_file_.Server_c3sl, Xowm_dump_file_.Server_masaryk); // promote your.org to primary url; DATE:2016-08-07 + return app.Cfg().Get_strary_app_or("xowa.wiki.import.dump_servers", ",", or); // CFG: Cfg__ } - public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Cfg__server_urls)) server_urls = m.ReadStrAryIgnore("v", ",", "\n"); - else if (ctx.Match(k, Cfg__download_xowa_commons)) css_commons_download = m.ReadYn("v"); - else if (ctx.Match(k, Cfg__delete_xml_file)) delete_xml_file = m.ReadYn("v"); - else if (ctx.Match(k, Cfg__custom_wiki_commands)) custom_cmds = String_.Ary_filter(m.ReadStrAry("v", ","), Xoi_cmd_mgr.Wiki_cmds_valid); - else if (ctx.Match(k, Cfg__bz2__stdout_enabled)) import_bz2_by_stdout = m.ReadYn("v"); - else if (ctx.Match(k, Cfg__page_rank__iteration_max)) page_rank_iteration_max = m.ReadInt("v"); - - else if (ctx.Match(k, Invk_data_storage_format)) return Io_stream_tid_.Obsolete_to_str(data_storage_format); - else if (ctx.Match(k, Invk_data_storage_format_)) data_storage_format = Io_stream_tid_.Obsolete_to_tid(m.ReadStr("v")); - else if (ctx.Match(k, Invk_data_storage_format_list)) return Options_data_storage_format_list; - else if (ctx.Match(k, Invk_db_text_max)) return db_text_max / Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_text_max_)) db_text_max = m.ReadLong("v") * Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_categorylinks_max)) return db_categorylinks_max / Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_categorylinks_max_)) db_categorylinks_max = m.ReadLong("v") * Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_wikidata_max)) return db_wikidata_max / Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_wikidata_max_)) db_wikidata_max = m.ReadLong("v") * Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_db_ns_map)) return db_ns_map; - else if (ctx.Match(k, Invk_db_ns_map_)) db_ns_map = m.ReadStr("v"); - else if (ctx.Match(k, Invk_css_wiki_update)) return Yn.To_str(css_wiki_update); - else if (ctx.Match(k, Invk_css_wiki_update_)) css_wiki_update = m.ReadYn("v"); - else if (ctx.Match(k, Invk_search_version)) return Options_search_version_str(search_version); - else if (ctx.Match(k, Invk_search_version_)) search_version = Options_search_version_parse(m.ReadStr("v")); - else if (ctx.Match(k, Invk_search_version_list)) return Options_search_version_list; - else return Gfo_invk_.Rv_unhandled; - return this; - } - private static final String Invk_data_storage_format = "data_storage_format", Invk_data_storage_format_ = "data_storage_format_", Invk_data_storage_format_list = "data_storage_format_list" - , Invk_db_text_max = "db_text_max", Invk_db_text_max_ = "db_text_max_", Invk_db_categorylinks_max = "db_categorylinks_max", Invk_db_categorylinks_max_ = "db_categorylinks_max_", Invk_db_wikidata_max = "db_wikidata_max", Invk_db_wikidata_max_ = "db_wikidata_max_" - , Invk_db_ns_map = "db_ns_map", Invk_db_ns_map_ = "db_ns_map_" - , Invk_css_wiki_update = "css_wiki_update", Invk_css_wiki_update_ = "css_wiki_update_" - , Invk_search_version = "search_version", Invk_search_version_ = "search_version_", Invk_search_version_list = "search_version_list" - ; - private static Keyval[] Options_data_storage_format_list = Keyval_.Ary(Keyval_.new_(".xdat", "text"), Keyval_.new_(".gz", "gzip"), Keyval_.new_(".bz2", "bzip2")); // removed .zip; DATE:2014-05-13; updated aliases; DATE:2014-06-20 - - private static final Keyval[] Options_search_version_list = Keyval_.Ary(Keyval_.new_("1"), Keyval_.new_("2")); - public static String Options_search_version_str(byte v) {return Byte_.To_str(v);} - public static byte Options_search_version_parse(String v) {return Byte_.parse(v);} - - private static final String - Cfg__server_urls = "xowa.wiki.import.general.dump_servers" - , Cfg__download_xowa_commons = "xowa.wiki.import.general.download_xowa_common" - , Cfg__delete_xml_file = "xowa.wiki.import.general.delete_xml_file" - , Cfg__custom_wiki_commands = "xowa.wiki.import.general.custom_wiki_commands" - , Cfg__bz2__stdout_enabled = "xowa.wiki.import.bz2.stdout_enabled" - , Cfg__page_rank__iteration_max = "xowa.wiki.import.page_rank.iteration_max" - ; } diff --git a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_setup_mgr.java b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_setup_mgr.java index 90a153351..08981619b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_setup_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/installs/Xoi_setup_mgr.java @@ -29,16 +29,14 @@ public class Xoi_setup_mgr implements Gfo_invk { } public Xoae_app App() {return app;} private Xoae_app app; public Xoi_cmd_mgr Cmd_mgr() {return cmd_mgr;} private Xoi_cmd_mgr cmd_mgr; - public Xoi_dump_mgr Dump_mgr() {return dump_mgr;} private Xoi_dump_mgr dump_mgr = new Xoi_dump_mgr(); public Xoi_addon_mgr Addon_mgr() {return addon_mgr;} private Xoi_addon_mgr addon_mgr = new Xoi_addon_mgr(); public Xoa_maint_mgr Maint_mgr() {return maint_mgr;} private Xoa_maint_mgr maint_mgr; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_cmds)) return cmd_mgr; - else if (ctx.Match(k, Invk_dumps)) return dump_mgr; else if (ctx.Match(k, Invk_addons)) return addon_mgr; else if (ctx.Match(k, Invk_maint)) return maint_mgr; else return Gfo_invk_.Rv_unhandled; } - static final String Invk_cmds = "cmds", Invk_dumps = "dumps", Invk_addons = "addons", Invk_maint = "maint"; + static final String Invk_cmds = "cmds", Invk_addons = "addons", Invk_maint = "maint"; static final String GRP_KEY = "xowa.setup"; } diff --git a/400_xowa/src/gplx/xowa/bldrs/setups/maints/Xoa_maint_mgr.java b/400_xowa/src/gplx/xowa/bldrs/setups/maints/Xoa_maint_mgr.java index 4357f00d3..767a01873 100644 --- a/400_xowa/src/gplx/xowa/bldrs/setups/maints/Xoa_maint_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/setups/maints/Xoa_maint_mgr.java @@ -38,7 +38,7 @@ public class Xoa_maint_mgr implements Gfo_invk { Wmf_status_parse(); } public boolean Wmf_status_download() { - String[] server_urls = app.Setup_mgr().Dump_mgr().Server_urls(); + String[] server_urls = gplx.xowa.bldrs.installs.Xoi_dump_mgr.Server_urls(app); int len = server_urls.length; Xof_download_wkr download_wkr = app.Wmf_mgr().Download_wkr(); for (int i = 0; i < len; i++) { diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java index bb215b11b..42c146ff4 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java @@ -44,7 +44,7 @@ public class Xob_import_cfg { Chk_file_ext(wiki.Appe(), src_fil_bz2, ".bz2", "xml"); src_fil = src_fil_bz2; src_rdr_len = Io_mgr.Instance.QueryFil(src_fil_bz2).Size(); Xoae_app app = wiki.Appe(); - if (app.Setup_mgr().Dump_mgr().Import_bz2_by_stdout()) { + if (gplx.xowa.bldrs.installs.Xoi_dump_mgr.Import_bz2_by_stdout(app)) { Process_adp process = app.Prog_mgr().App_decompress_bz2_by_stdout(); return Io_stream_rdr_process.new_(process.Exe_url(), src_fil_bz2, process.Xto_process_bldr_args(src_fil_bz2.Raw())); } diff --git a/400_xowa/src/gplx/xowa/xtns/wbases/imports/json/Xowb_json_dump_parser.java b/400_xowa/src/gplx/xowa/xtns/wbases/imports/json/Xowb_json_dump_parser.java index 9c7ea0af9..f689b68b9 100644 --- a/400_xowa/src/gplx/xowa/xtns/wbases/imports/json/Xowb_json_dump_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/wbases/imports/json/Xowb_json_dump_parser.java @@ -28,7 +28,7 @@ class Xowb_json_dump_parser { // init Xoae_app app = bldr.App(); Gfo_usr_dlg usr_dlg = app.Usr_dlg(); Xowb_json_dump_db dump_db = new Xowb_json_dump_db(bldr, wiki); - Io_stream_unzip_mgr unzip_mgr = new Io_stream_unzip_mgr(app.Setup_mgr().Dump_mgr().Import_bz2_by_stdout(), app.Prog_mgr().App_decompress_bz2_by_stdout(), String_.Ary(".bz2", ".gz", ".zip")); + Io_stream_unzip_mgr unzip_mgr = new Io_stream_unzip_mgr(gplx.xowa.bldrs.installs.Xoi_dump_mgr.Import_bz2_by_stdout(app), app.Prog_mgr().App_decompress_bz2_by_stdout(), String_.Ary(".bz2", ".gz", ".zip")); // open buffer from file Io_stream_rdr stream = Io_stream_rdr_mgr.Get_rdr_or_null(json_dump_file, wiki.Fsys_mgr().Root_dir(), unzip_mgr, "*wikidata-*-all.json", "*wikidata-*-all.json.gz");