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");