1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.6.3.3'

This commit is contained in:
gnosygnu
2016-06-21 18:32:10 -04:00
parent d43e0d2341
commit 04af0accdb
35 changed files with 395 additions and 119 deletions

View File

@@ -40,6 +40,7 @@ public class Xowv_wiki implements Xow_wiki, Xow_ttl_parser, Gfo_invk {
this.domain_tid = domain_itm.Domain_type_id();
this.domain_abrv = Xow_abrv_wm_.To_abrv(Xow_domain_itm_.parse(domain_bry));
this.ns_mgr = Xow_ns_mgr_.default_(app.Utl_case_mgr());
this.lang = app.Lang_mgr().Get_by(domain_itm.Lang_actl_key());
this.html__hdump_mgr = new Xow_hdump_mgr(this);
this.special_mgr = new Xosp_special_mgr(this);
this.fsys_mgr = new Xow_fsys_mgr(wiki_root_dir, app.Fsys_mgr().File_dir().GenSubDir(domain_str));
@@ -70,14 +71,14 @@ public class Xowv_wiki implements Xow_wiki, Xow_ttl_parser, Gfo_invk {
public Xoh_page_wtr_mgr Html__wtr_mgr() {return html__wtr_mgr;} private final Xoh_page_wtr_mgr html__wtr_mgr = new Xoh_page_wtr_mgr(Bool_.Y);
public Xow_mw_parser_mgr Mw_parser_mgr() {return mw_parser_mgr;} private final Xow_mw_parser_mgr mw_parser_mgr = new Xow_mw_parser_mgr();
public Xow_wiki_props Props() {return props;} private final Xow_wiki_props props = new Xow_wiki_props();
public Xol_lang_itm Lang() {throw Err_.new_unimplemented();}
public Xol_lang_itm Lang() {return lang;} private final Xol_lang_itm lang;
public Xol_case_mgr Case_mgr() {if (case_mgr == null) case_mgr = Xol_case_mgr_.U8(); return case_mgr;} private Xol_case_mgr case_mgr;
public Xow_site_stats_mgr Stats() {return stats;} private final Xow_site_stats_mgr stats;
public Xow_url_parser Utl__url_parser() {return url__parser;} private final Xow_url_parser url__parser;
public Xoax_addon_mgr Addon_mgr() {return addon_mgr;} private final Xoax_addon_mgr addon_mgr = new Xoax_addon_mgr();
public Xosp_special_mgr Special_mgr() {return special_mgr;} private Xosp_special_mgr special_mgr;
public Xow_xwiki_mgr Xwiki_mgr() {return xwiki_mgr;} private final Xow_xwiki_mgr xwiki_mgr;
public Xoav_app Appv() {return app;} private final Xoav_app app;
public Xow_xwiki_mgr Xwiki_mgr() {return xwiki_mgr;} private final Xow_xwiki_mgr xwiki_mgr;
public Xoav_app Appv() {return app;} private final Xoav_app app;
public void Init_by_wiki() {
if (!init_needed) return;
init_needed = false;

View File

@@ -150,7 +150,7 @@ public class Xowd_page_tbl implements Rls_able {
Xowd_page_tbl__ttl_ns wkr = new Xowd_page_tbl__ttl_ns();
wkr.Fill_idx_fields_only_(fill_idx_fields_only);
wkr.Ctor(this, tbl_name, fld_title);
wkr.Init(ns_mgr, rv);
wkr.Init(this, ns_mgr, rv);
wkr.Select_in(cancelable, conn, bgn, end);
}
public boolean Select_in__id(Cancelable cancelable, List_adp rv) {return Select_in__id(cancelable, false, rv, 0, rv.Count());}

View File

@@ -20,9 +20,13 @@ import gplx.core.criterias.*;
import gplx.dbs.*; import gplx.dbs.utls.*;
import gplx.xowa.wikis.nss.*;
class Xowd_page_tbl__ttl_ns extends Xowd_page_tbl__in_wkr__base {
private Xowd_page_tbl page_tbl;
private Xow_ns_mgr ns_mgr; private Ordered_hash hash;
@Override protected int Interval() {return 64;} // NOTE: 96+ overflows; PAGE:en.w:Space_Liability_Convention; DATE:2013-10-24
public void Init(Xow_ns_mgr ns_mgr, Ordered_hash hash) {this.ns_mgr = ns_mgr; this.hash = hash;}
public void Init(Xowd_page_tbl page_tbl, Xow_ns_mgr ns_mgr, Ordered_hash hash) {
this.page_tbl = page_tbl;
this.ns_mgr = ns_mgr; this.hash = hash;
}
@Override protected Criteria In_filter(Object[] part_ary) {
int len = part_ary.length;
Criteria[] crt_ary = new Criteria[len];
@@ -34,8 +38,8 @@ class Xowd_page_tbl__ttl_ns extends Xowd_page_tbl__in_wkr__base {
@Override protected void Fill_stmt(Db_stmt stmt, int bgn, int end) {
for (int i = bgn; i < end; i++) {
Xowd_page_itm page = (Xowd_page_itm)hash.Get_at(i);
stmt.Val_int(page.Ns_id());
stmt.Val_bry_as_str(page.Ttl_page_db());
stmt.Crt_int(page_tbl.Fld_page_ns(), page.Ns_id());
stmt.Crt_bry_as_str(page_tbl.Fld_page_title(), page.Ttl_page_db());
}
}
@Override public Xowd_page_itm Read_data_to_page(Xowd_page_itm rdr_page) {

View File

@@ -44,7 +44,7 @@ public class Xowd_text_tbl implements Rls_able {
}
public byte[] Select(int page_id) {
if (stmt_select == null) stmt_select = conn.Stmt_select(tbl_name, flds, fld_page_id);
Db_rdr rdr = stmt_select.Clear().Val_int(fld_page_id, page_id).Exec_select__rls_manual();
Db_rdr rdr = stmt_select.Clear().Crt_int(fld_page_id, page_id).Exec_select__rls_manual();
try {
byte[] rv = Bry_.Empty;
if (rdr.Move_next()) {

View File

@@ -26,7 +26,8 @@ public class Xopg_lnki_list {
}
public boolean Disabled() {return disabled;} private final boolean disabled;
public int Len() {return list.Len();}
public Xopg_lnki_itm Get_at(int i) {return (Xop_lnki_tkn)list.Get_at(i);}
public Xopg_lnki_itm Get_at(int i) {return (Xopg_lnki_itm)list.Get_at(i);}
public void Add_direct(Xopg_lnki_itm lnki) {list.Add(lnki);} // add lnki directly to list without changing html_uid; needed for hdumps which call "Fill_page" to transfer from Xoh_page to Xoae_page
public void Add(Xopg_lnki_itm lnki) {
if (disabled) return;
Xoa_ttl ttl = lnki.Ttl(); if (ttl == null) return; // ttl is null for invalid links

View File

@@ -23,6 +23,7 @@ public class Xopg_redlink_mgr implements Gfo_invk {
private final Xoa_page page; private final Xog_js_wkr js_wkr;
public Xopg_redlink_mgr(Xoa_page page, Xog_js_wkr js_wkr) {this.page = page; this.js_wkr = js_wkr; }
private void Redlink() {
// init; exit if redlink disabled (on Module pages)
Xopg_lnki_list lnki_list = page.Redlink_list(); if (lnki_list.Disabled()) return;
Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Instance;
Xow_wiki wiki = page.Wiki();
@@ -84,4 +85,11 @@ public class Xopg_redlink_mgr implements Gfo_invk {
return this;
} public static final String Invk_run = "run";
private static final int Batch_size = 32;
public static void Run_async(Xoa_page pg, Xog_js_wkr js_wkr) {
try {
Xopg_redlink_mgr mgr = new Xopg_redlink_mgr(pg, js_wkr);
gplx.core.threads.Thread_adp_.Start_by_key(gplx.xowa.apps.Xoa_thread_.Key_page_redlink, mgr, gplx.xowa.wikis.pages.lnkis.Xopg_redlink_mgr.Invk_run);
} catch (Exception e) {Gfo_usr_dlg_.Instance.Warn_many("", "", "page.thread.redlinks: page=~{0} err=~{1}", pg.Ttl().Raw(), Err_.Message_gplx_full(e));}
}
}