1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2015-05-24 22:43:55 -04:00
parent 6eec99a713
commit 51e6188c1e
1577 changed files with 11555 additions and 10080 deletions

View File

@@ -42,7 +42,7 @@ class Io_sort_cmd_img implements Io_sort_cmd {
//fil_wtr.Rls(); itm_bfr.Rls(); fil_wtr.Rls(); reg_bfr.Rls(); key_bfr_0.Rls(); key_bfr_n.Rls();
}
private void Flush() {
Io_mgr._.SaveFilBry(make_url_gen.Nxt_url(), fil_bfr.Bfr(), fil_bfr.Len());
Io_mgr.I.SaveFilBry(make_url_gen.Nxt_url(), fil_bfr.Bfr(), fil_bfr.Len());
fil_bfr.Clear();
}
}

View File

@@ -32,7 +32,7 @@ public class Io_sort_cmd_img_tst {
private void tst_cmd(String raw, String expd) {
Io_url src_fil = Io_url_.mem_fil_("mem/src.csv");
Io_url trg_fil = Io_url_.mem_fil_("mem/trg.csv");
Io_mgr._.SaveFilStr(src_fil, raw);
Io_mgr.I.SaveFilStr(src_fil, raw);
Io_sort_cmd_img cmd = new Io_sort_cmd_img().Make_url_gen_(Io_url_gen_.fil_(trg_fil));
Io_line_rdr rdr = new Io_line_rdr(Gfo_usr_dlg_.Test(), src_fil).Key_gen_(new Io_line_rdr_key_gen_img());
cmd.Sort_bgn();
@@ -40,7 +40,7 @@ public class Io_sort_cmd_img_tst {
cmd.Sort_do(rdr);
}
cmd.Sort_end();
String actl = Io_mgr._.LoadFilStr(trg_fil);
String actl = Io_mgr.I.LoadFilStr(trg_fil);
Tfds.Eq_str_lines(expd, actl);
}
}

View File

@@ -42,7 +42,7 @@ public class Io_sort_cmd_ns implements Io_make_cmd {
}
public void Sort_end() {
Flush();
Io_mgr._.AppendFilBfr(reg_url, reg_bfr);
Io_mgr.I.AppendFilBfr(reg_url, reg_bfr);
//fil_wtr.Rls(); reg_bfr.Rls(); key_bfr_0.Rls(); key_bfr_n.Rls();
}
private void Flush() {

View File

@@ -83,7 +83,7 @@ public class Xob_make_cmd_site implements Io_make_cmd {
fil_wtr.Bfr().Add_bfr_and_clear(cur_bfr);
fil_wtr.Add_idx(line_dlm);
Flush();
Io_mgr._.AppendFilBfr(reg_url, reg_bfr);
Io_mgr.I.AppendFilBfr(reg_url, reg_bfr);
//fil_wtr.Rls(); cur_bfr.Rls(); fil_wtr.Rls(); reg_bfr.Rls(); reg_key_0.Rls(); reg_key_n.Rls();
}
// private void Flush_large(byte[] bry, int itm_bgn, int itm_end, int itm_len) {
@@ -92,7 +92,7 @@ public class Xob_make_cmd_site implements Io_make_cmd {
// fil_wtr.Add_idx_direct(itm_len, Byte_.Zero);
// IoStream stream = IoStream_.Null;
// try {
// stream = Io_mgr._.OpenStreamWrite(fil_wtr.Fil_url());
// stream = Io_mgr.I.OpenStreamWrite(fil_wtr.Fil_url());
// fil_wtr.FlushIdx(stream);
// stream.Write_and_flush(bry, itm_bgn, itm_end);
// fil_wtr.Clear();

View File

@@ -19,7 +19,7 @@ package gplx.xowa; import gplx.*;
import gplx.core.strings.*; import gplx.xowa.tdbs.*;
public class Xob_stat_mgr {
public Xob_stat_type GetOrNew(byte tid) {
Xob_stat_type rv = (Xob_stat_type)regy.Fetch(tid);
Xob_stat_type rv = (Xob_stat_type)regy.Get_by(tid);
if (rv == null) {
rv = new Xob_stat_type(tid);
regy.Add(tid, rv);
@@ -29,14 +29,14 @@ public class Xob_stat_mgr {
public String Print(Xow_ns_mgr nsMgr) {
String_bldr sb = String_bldr_.new_();
for (int i = 0; i < regy.Count(); i++) {
Xob_stat_type typ = (Xob_stat_type)regy.FetchAt(i);
Xob_stat_type typ = (Xob_stat_type)regy.Get_at(i);
sb.Add(String_.PadEnd(Xotdb_dir_info_.Tid_name(typ.Tid()), 6, " "));
}
sb.Add_str_w_crlf("ns");
String[] nsAry = GetNmsAry(nsMgr);
for (String ns : nsAry) {
for (int i = 0; i < regy.Count(); i++) {
Xob_stat_type typ = (Xob_stat_type)regy.FetchAt(i);
Xob_stat_type typ = (Xob_stat_type)regy.Get_at(i);
Xob_stat_itm itm = (Xob_stat_itm)typ.GetOrNew(ns);
sb.Add(Int_.Xto_str_pad_bgn_zero(itm.Fils, 5)).Add(" ");
}
@@ -47,22 +47,22 @@ public class Xob_stat_mgr {
public String XtoStr() {
String_bldr sb = String_bldr_.new_();
for (int i = 0; i < regy.Count(); i++) {
Xob_stat_type typ = (Xob_stat_type)regy.FetchAt(i);
Xob_stat_type typ = (Xob_stat_type)regy.Get_at(i);
typ.XtoStr(sb);
}
return sb.XtoStr();
}
String[] GetNmsAry(Xow_ns_mgr nsMgr) {
OrderedHash nsRegy = OrderedHash_.new_();
Ordered_hash nsRegy = Ordered_hash_.new_();
for (int i = 0; i < regy.Count(); i++) {
Xob_stat_type typ = (Xob_stat_type)regy.FetchAt(i);
Xob_stat_type typ = (Xob_stat_type)regy.Get_at(i);
for (int j = 0; j < typ.Count(); j++) {
Xob_stat_itm itm = (Xob_stat_itm)typ.GetAt(j);
if (!nsRegy.Has(itm.Ns()))
nsRegy.AddKeyVal(itm.Ns());
nsRegy.Add_as_key_and_val(itm.Ns());
}
}
return (String[])nsRegy.Xto_ary(String.class);
return (String[])nsRegy.To_ary(String.class);
}
OrderedHash regy = OrderedHash_.new_();
Ordered_hash regy = Ordered_hash_.new_();
}

View File

@@ -20,17 +20,17 @@ import gplx.core.strings.*; import gplx.xowa.tdbs.*;
public class Xob_stat_type {
public byte Tid() {return tid;} private byte tid;
public Xob_stat_type(byte tid) {this.tid = tid;}
public Xob_stat_itm GetOrNew(String ns) {return (Xob_stat_itm)regy.FetchOrNew(ns, Xob_stat_itm._);}
public Xob_stat_itm GetAt(int i) {return (Xob_stat_itm)regy.FetchAt(i);}
public Xob_stat_itm GetOrNew(String ns) {return (Xob_stat_itm)regy.Get_by_or_new(ns, Xob_stat_itm._);}
public Xob_stat_itm GetAt(int i) {return (Xob_stat_itm)regy.Get_at(i);}
public int Count() {return regy.Count();}
public void XtoStr(String_bldr sb) {
for (int i = 0; i < regy.Count(); i++) {
Xob_stat_itm itm = (Xob_stat_itm)regy.FetchAt(i);
Xob_stat_itm itm = (Xob_stat_itm)regy.Get_at(i);
sb.Add(Xotdb_dir_info_.Tid_name(tid)).Add(Xob_stat_itm.Dlm);
itm.XtoStr(sb);
sb.Add(Byte_ascii.NewLine);
}
}
OrderedHash regy = OrderedHash_.new_();
Ordered_hash regy = Ordered_hash_.new_();
public static final Xob_stat_type _ = new Xob_stat_type(); Xob_stat_type() {}
}

View File

@@ -226,7 +226,7 @@ class Xob_xdat_file_ {
else if (comp == CompareAble_.Same) {xdat_itm.Found_exact_y_(); return itm_idx;}
else if (comp < CompareAble_.Same) {hi = itm_idx; delta = -1;}
int itm_dif = hi - lo;
// if (itm_end - 1 > fld_bgn) Tfds.Write(comp, itm_dif, String_.new_utf8_(src, fld_bgn, itm_end - 1));
// if (itm_end - 1 > fld_bgn) Tfds.Write(comp, itm_dif, String_.new_u8(src, fld_bgn, itm_end - 1));
switch (itm_dif) {
case 0: return exact ? String_.Find_none : hi; // NOTE: can be 0 when src.length == 1 || 2; also, sometimes 0 in some situations
case -1:

View File

@@ -75,7 +75,7 @@ public class Xob_xdat_file_tst {
Rebuild_header_tst(orig, expd);
}
private void Rebuild_header_tst(String orig, String expd) {
Tfds.Eq_str_lines(expd, String_.new_ascii_(Xob_xdat_file.Rebuid_header(Bry_.new_ascii_(orig), Bry_.new_ascii_("\n"))));
Tfds.Eq_str_lines(expd, String_.new_a7(Xob_xdat_file.Rebuid_header(Bry_.new_a7(orig), Bry_.new_a7("\n"))));
}
Bry_bfr tmp = Bry_bfr.new_();
private void tst_Sort(Xob_xdat_file rdr, gplx.lists.ComparerAble comparer, String expd) {
@@ -83,27 +83,27 @@ public class Xob_xdat_file_tst {
Chk_file(rdr, expd);
}
private void tst_Insert(Xob_xdat_file rdr, String new_val, String expd) {
rdr.Insert(tmp, Bry_.new_utf8_(new_val));
rdr.Insert(tmp, Bry_.new_u8(new_val));
Chk_file(rdr, expd);
}
private void tst_Update(Xob_xdat_file rdr, int idx, String new_val, String expd) {
Xob_xdat_itm itm = new Xob_xdat_itm();
rdr.GetAt(itm, idx);
rdr.Update(tmp, itm, Bry_.new_utf8_(new_val));
rdr.Update(tmp, itm, Bry_.new_u8(new_val));
Chk_file(rdr, expd);
}
private void Chk_file(Xob_xdat_file rdr, String expd) {
Io_url url = Io_url_.new_fil_("mem/test.xdat");
rdr.Save(url);
String actl = Io_mgr._.LoadFilStr(url);
String actl = Io_mgr.I.LoadFilStr(url);
Tfds.Eq_str_lines(expd, actl);
}
private void tst_Find(Xob_xdat_file rdr, String find, int expd, boolean exact) {
rdr.Find(itm, Bry_.new_utf8_(find), 2, Byte_ascii.NewLine, exact);
rdr.Find(itm, Bry_.new_u8(find), 2, Byte_ascii.NewLine, exact);
int id = Bry_.Xto_int_or(Bry_.Mid(itm.Itm_bry(), 0, 1), -1);
Tfds.Eq(expd, id);
}
private void tst_ReadAt(Xob_xdat_file rdr, int i, String expd) {rdr.GetAt(itm, i); Tfds.Eq(expd, String_.new_utf8_(itm.Itm_bry()));}
private void tst_ReadAt(Xob_xdat_file rdr, int i, String expd) {rdr.GetAt(itm, i); Tfds.Eq(expd, String_.new_u8(itm.Itm_bry()));}
Xob_xdat_itm itm = new Xob_xdat_itm();
Xob_xdat_file rdr_(String... lines) {
String_bldr sb = String_bldr_.new_();
@@ -112,7 +112,7 @@ public class Xob_xdat_file_tst {
String line = lines[i];
sb.Add(line).Add_char_nl();
}
byte[] bry = Bry_.new_utf8_(sb.XtoStr());
return new Xob_xdat_file().Parse(bry, bry.length, Io_url_.Null);
byte[] bry = Bry_.new_u8(sb.XtoStr());
return new Xob_xdat_file().Parse(bry, bry.length, Io_url_.Empty);
}
}

View File

@@ -82,7 +82,7 @@ public class Xob_xdat_file_wtr {
// usr_dlg.Log_many(GRP_KEY, "flush_err", "--ctg exceeds len: expd_len=~{0} actl_len=~{1} url=~{2}", this.Fil_len(), fil_max, fil_url.Xto_api());
// IoStream stream = IoStream_.Null;
// try {
// stream = Io_mgr._.OpenStreamWrite(fil_url);
// stream = Io_mgr.I.OpenStreamWrite(fil_url);
// if (idx_pos > 0) // write idx; NOTE: if idx written, then .xdat; else .csv
// FlushIdx(stream);
// stream.Write(bfr.Bry(), 0, bfr.Len()); // write data;

View File

@@ -19,16 +19,16 @@ package gplx.xowa; import gplx.*;
import org.junit.*;
public class Xob_xdat_file_wtr_tst {
@Test public void Write() {
Io_mgr._.InitEngine_mem();
Io_mgr.I.InitEngine_mem();
Io_url dir = Io_url_.mem_dir_("mem/dir");
Xob_xdat_file_wtr wtr = Xob_xdat_file_wtr.new_file_(1000, dir);
tst_Write(wtr, "<1", "<1");
tst_Write(wtr, ">a", "<1>a");
tst_Write(wtr, ">b", "<1>a>b");
tst_Add_idx(wtr, 7);
wtr.Bfr().Add(Bry_.new_utf8_("<2>b>cc"));
wtr.Bfr().Add(Bry_.new_u8("<2>b>cc"));
tst_Add_idx(wtr, 15);
wtr.Bfr().Add(Bry_.new_utf8_("<3>c>dd"));
wtr.Bfr().Add(Bry_.new_u8("<3>c>dd"));
tst_Add_idx(wtr, 23);
tst_Flush(wtr, String_.Concat
( "!!!!(|!!!!)|!!!!)|\n"
@@ -38,8 +38,8 @@ public class Xob_xdat_file_wtr_tst {
));
}
private void tst_Write(Xob_xdat_file_wtr wtr, String val, String expd) {
wtr.Bfr().Add(Bry_.new_utf8_(val));
Tfds.Eq(expd, String_.new_utf8_(wtr.Bfr().Bfr(), 0, wtr.Bfr().Len()));
wtr.Bfr().Add(Bry_.new_u8(val));
Tfds.Eq(expd, String_.new_u8(wtr.Bfr().Bfr(), 0, wtr.Bfr().Len()));
}
private void tst_Add_idx(Xob_xdat_file_wtr wtr, int expd) {
wtr.Add_idx(Byte_ascii.NewLine);
@@ -48,7 +48,7 @@ public class Xob_xdat_file_wtr_tst {
private void tst_Flush(Xob_xdat_file_wtr wtr, String expd) {
Io_url url = wtr.Fil_url();
wtr.Flush(Gfo_usr_dlg_.Test());
String actl = Io_mgr._.LoadFilStr(url);
String actl = Io_mgr.I.LoadFilStr(url);
Tfds.Eq(expd, actl);
}
}

View File

@@ -19,18 +19,18 @@ package gplx.xowa; import gplx.*;
import gplx.core.btries.*; import gplx.xowa.wikis.data.tbls.*;
public class Xobd_parser implements Xobd_wkr {
private Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_(); // NOTE:ci.ascii:MW_const.en; ctg.v1 assumes [[Category:
private ListAdp wkr_list = ListAdp_.new_();
private List_adp wkr_list = List_adp_.new_();
public String Wkr_key() {return KEY;} static final String KEY = "page_parser";
public void Wkr_ini(Xob_bldr bldr) {}
public void Wkr_add(Xobd_parser_wkr wkr) {wkr_list.Add(wkr);}
public void Wkr_bgn(Xob_bldr app) {
int wkr_list_len = wkr_list.Count();
for (int i = 0; i < wkr_list_len; i++) {
Xobd_parser_wkr wkr = (Xobd_parser_wkr)wkr_list.FetchAt(i);
Xobd_parser_wkr wkr = (Xobd_parser_wkr)wkr_list.Get_at(i);
wkr.Wkr_bgn(app);
int hooks_len = wkr.Wkr_hooks().Count();
for (int j = 0; j < hooks_len; j++) {
byte[] bry = (byte[])wkr.Wkr_hooks().FetchAt(j);
byte[] bry = (byte[])wkr.Wkr_hooks().Get_at(j);
trie.Add_obj(bry, wkr);
}
}
@@ -52,7 +52,7 @@ public class Xobd_parser implements Xobd_wkr {
public void Wkr_end() {
int wkr_list_len = wkr_list.Count();
for (int i = 0; i < wkr_list_len; i++) {
Xobd_parser_wkr wkr = (Xobd_parser_wkr)wkr_list.FetchAt(i);
Xobd_parser_wkr wkr = (Xobd_parser_wkr)wkr_list.Get_at(i);
wkr.Wkr_end();
}
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa; import gplx.*;
import gplx.xowa.wikis.data.tbls.*;
public interface Xobd_parser_wkr extends GfoInvkAble {
OrderedHash Wkr_hooks();
Ordered_hash Wkr_hooks();
void Wkr_bgn(Xob_bldr bldr);
int Wkr_run(Xowd_page_itm page, byte[] src, int src_len, int bgn, int end);
void Wkr_end();

View File

@@ -22,14 +22,14 @@ public class Xobd_rdr implements Xob_cmd {
public Xobd_rdr(Xob_bldr bldr, Xowe_wiki wiki) {this.bldr = bldr; this.wiki = wiki;}
public String Cmd_key() {return KEY;} public static final String KEY = "dump_mgr";
public void Cmd_init(Xob_bldr bldr) {
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.To_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
for (int i = 0; i < wkr_ary_len; i++)
wkr_ary[i].Wkr_ini(bldr);
}
public void Cmd_bgn(Xob_bldr bldr) {}
public void Cmd_end() {}
public void Cmd_run() {
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.To_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
for (int i = 0; i < wkr_ary_len; i++)
wkr_ary[i].Wkr_bgn(bldr);
Io_buffer_rdr fil = Io_buffer_rdr.Null; Xowd_page_itm page = new Xowd_page_itm(); Xow_ns_mgr ns_mgr = wiki.Ns_mgr();
@@ -46,7 +46,7 @@ public class Xobd_rdr implements Xob_cmd {
while (true) {
int cur_pos = parser.Parse_page(page, usr_dlg, fil, fil.Bfr(), prv_pos, ns_mgr); if (cur_pos == Bry_.NotFound) break;
if (cur_pos < prv_pos)
bldr.Print_prog_msg(fil.Fil_pos(), fil_len, 1, optRdrFillFmt, Int_.Xto_str_pad_bgn_zero((int)(fil.Fil_pos() / Io_mgr.Len_mb), Int_.DigitCount((int)(fil.Fil_len() / Io_mgr.Len_mb))), "", String_.new_utf8_(page.Ttl_full_db()));
bldr.Print_prog_msg(fil.Fil_pos(), fil_len, 1, optRdrFillFmt, Int_.Xto_str_pad_bgn_zero((int)(fil.Fil_pos() / Io_mgr.Len_mb), Int_.DigitCount((int)(fil.Fil_len() / Io_mgr.Len_mb))), "", String_.new_u8(page.Ttl_full_db()));
prv_pos = cur_pos;
try {
for (int i = 0; i < wkr_ary_len; i++)
@@ -56,7 +56,7 @@ public class Xobd_rdr implements Xob_cmd {
Err_.Noop(e);
long dividend = fil.Fil_pos();
if (dividend >= fil_len) dividend = fil_len - 1; // prevent % from going over 100
String msg = DecimalAdp_.CalcPctStr(dividend, fil_len, "00.00") + "|" + String_.new_utf8_(page.Ttl_full_db()) + "|" + Err_.Message_lang(e) + "|" + Xot_tmpl_wtr.Err_string; Xot_tmpl_wtr.Err_string = "";
String msg = DecimalAdp_.CalcPctStr(dividend, fil_len, "00.00") + "|" + String_.new_u8(page.Ttl_full_db()) + "|" + Err_.Message_lang(e) + "|" + Xot_tmpl_wtr.Err_string; Xot_tmpl_wtr.Err_string = "";
bldr.Usr_dlg().Log_wkr().Log_to_session(msg);
ConsoleAdp._.WriteLine(msg);
}
@@ -74,12 +74,12 @@ public class Xobd_rdr implements Xob_cmd {
wkr_ary[i].Wkr_end();
}
public void Cmd_term() {
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.To_ary(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length;
for (int i = 0; i < wkr_ary_len; i++)
wkr_ary[i].Wkr_print();
}
public void Wkr_add(Xobd_wkr wkr) {wkrs.Add(wkr.Wkr_key(), wkr);} private OrderedHash wkrs = OrderedHash_.new_();
public Xobd_wkr Wkr_get(String key) {return (Xobd_wkr)wkrs.Fetch(key);}
public void Wkr_add(Xobd_wkr wkr) {wkrs.Add(wkr.Wkr_key(), wkr);} private Ordered_hash wkrs = Ordered_hash_.new_();
public Xobd_wkr Wkr_get(String key) {return (Xobd_wkr)wkrs.Get_by(key);}
public Xobd_parser Page_parser_assert() {
if (page_parser == null) {
page_parser = new Xobd_parser();
@@ -88,7 +88,7 @@ public class Xobd_rdr implements Xob_cmd {
return page_parser;
} private Xobd_parser page_parser;
public static Io_url Find_fil_by(Io_url dir, String filter) {
Io_url[] fil_ary = Io_mgr._.QueryDir_args(dir).FilPath_(filter).ExecAsUrlAry();
Io_url[] fil_ary = Io_mgr.I.QueryDir_args(dir).FilPath_(filter).ExecAsUrlAry();
int fil_ary_len = fil_ary.length;
return fil_ary_len == 0 ? null : fil_ary[fil_ary_len - 1]; // return last
}

View File

@@ -35,7 +35,7 @@ class Io_sort_filCmd_reg implements Io_sort_filCmd { // 123|bgn|end|1
itm_count = 0;
}
public void Flush(Io_url fil) {
Io_mgr._.SaveFilBry(fil, bfr.Bfr(), bfr.Len());
Io_mgr.I.SaveFilBry(fil, bfr.Bfr(), bfr.Len());
} private Bry_bfr bfr = Bry_bfr.new_(); int fil_idx = 0; int itm_count = 0;
}
class Io_url_gen_nest implements gplx.ios.Io_url_gen {
@@ -48,6 +48,6 @@ class Io_url_gen_nest implements gplx.ios.Io_url_gen {
}
return rv;
}
public void Del_all() {if (Io_mgr._.ExistsDir(root_dir)) Io_mgr._.DeleteDirDeep(root_dir);}
public Io_url_gen_nest(Io_url root_dir, String ext) {this.root_dir = root_dir; this.ext = Bry_.new_utf8_(ext);} Io_url root_dir; byte[] ext; int fil_idx;
public void Del_all() {if (Io_mgr.I.ExistsDir(root_dir)) Io_mgr.I.DeleteDirDeep(root_dir);}
public Io_url_gen_nest(Io_url root_dir, String ext) {this.root_dir = root_dir; this.ext = Bry_.new_u8(ext);} Io_url root_dir; byte[] ext; int fil_idx;
}