diff --git a/100_core/.classpath b/100_core/.classpath index b1b8fc464..0240594b5 100644 --- a/100_core/.classpath +++ b/100_core/.classpath @@ -26,6 +26,6 @@ - + diff --git a/100_core/src/gplx/String_bldr.java b/100_core/src/gplx/String_bldr.java index 77c6d80e8..73d8ccfed 100644 --- a/100_core/src/gplx/String_bldr.java +++ b/100_core/src/gplx/String_bldr.java @@ -30,7 +30,7 @@ public interface String_bldr { String_bldr Add_str_w_crlf(String v); String_bldr Add_spr_unless_first(String s, String spr, int i); String_bldr Clear(); - String XtoStrAndClear(); + String Xto_str_and_clear(); String XtoStr(); int Count(); String_bldr Add(byte[] v); @@ -70,7 +70,7 @@ abstract class String_bldr_base implements String_bldr { return this; } public String_bldr Clear() {Del(0, Count()); return this;} - public String XtoStrAndClear() { + public String Xto_str_and_clear() { String rv = XtoStr(); Clear(); return rv; diff --git a/100_core/src_000_err/gplx/ErrMsgWtr.java b/100_core/src_000_err/gplx/ErrMsgWtr.java index 39027b31c..f514349a4 100644 --- a/100_core/src_000_err/gplx/ErrMsgWtr.java +++ b/100_core/src_000_err/gplx/ErrMsgWtr.java @@ -105,7 +105,7 @@ public class ErrMsgWtr { errAry.Add(cur); cur = cur.Inner(); } - return (Err[])errAry.XtoAry(Err.class); + return (Err[])errAry.Xto_ary(Err.class); } public static final ErrMsgWtr _ = new ErrMsgWtr(); ErrMsgWtr() {} } diff --git a/100_core/src_000_err/gplx/ErrProcData.java b/100_core/src_000_err/gplx/ErrProcData.java index ba23b0135..f14b989ec 100644 --- a/100_core/src_000_err/gplx/ErrProcData.java +++ b/100_core/src_000_err/gplx/ErrProcData.java @@ -45,7 +45,7 @@ class ErrProcData { if (String_.HasAtBgn(md.signatureRaw, "gplx.Err_") || String_.HasAtBgn(md.signatureRaw, "gplx.Err.")) continue; // java includes entire stackTrace from point of creation; only care about point of throw list.Add(md); } - return (ErrProcData[])list.XtoAry(ErrProcData.class); + return (ErrProcData[])list.Xto_ary(ErrProcData.class); } public static ErrProcData parse_(String raw) { ErrProcData rv = new ErrProcData().Raw_(raw); diff --git a/100_core/src_000_err/gplx/Gfo_msg_grp_.java b/100_core/src_000_err/gplx/Gfo_msg_grp_.java index 073035750..4e4e71ca7 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_grp_.java +++ b/100_core/src_000_err/gplx/Gfo_msg_grp_.java @@ -24,7 +24,7 @@ public class Gfo_msg_grp_ { public static int Uid_next() {return uid_next++;} static int uid_next = 0; public static byte[] Path(byte[] owner_path, byte[] key) { if (owner_path != Bry_.Empty) tmp_bfr.Add(owner_path).Add_byte(Byte_ascii.Dot); // only add "." if owner_path is available; prevents creating ".gplx" - return tmp_bfr.Add(key).XtoAryAndClear(); + return tmp_bfr.Add(key).Xto_bry_and_clear(); } static Bry_bfr tmp_bfr = Bry_bfr.reset_(256); } diff --git a/100_core/src_000_err/gplx/Gfo_msg_itm.java b/100_core/src_000_err/gplx/Gfo_msg_itm.java index 0fc9e0f07..8c9b224a5 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_itm.java +++ b/100_core/src_000_err/gplx/Gfo_msg_itm.java @@ -38,7 +38,7 @@ public class Gfo_msg_itm implements Gfo_msg_obj { if (fmtr == null) fmtr = Bry_fmtr.new_bry_(fmt).Compile(); if (fmtr.Fmt_args_exist()) { fmtr.Bld_bfr_many(tmp_bfr, vals); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } else return String_.new_utf8_(fmt); @@ -47,7 +47,7 @@ public class Gfo_msg_itm implements Gfo_msg_obj { if (fmtr == null) fmtr = Bry_fmtr.new_bry_(fmt).Compile(); if (fmtr.Fmt_args_exist()) { fmtr.Bld_bfr_one(tmp_bfr, val); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } else return String_.new_utf8_(fmt); diff --git a/100_core/src_110_primitive/gplx/Bry_.java b/100_core/src_110_primitive/gplx/Bry_.java index b4dea0561..b097fa723 100644 --- a/100_core/src_110_primitive/gplx/Bry_.java +++ b/100_core/src_110_primitive/gplx/Bry_.java @@ -747,7 +747,7 @@ public class Bry_ { } else if (next == lkp) { posRef.Val_(pos + 2); // 1=endQuote;1=lkp; - return make ? bb.XtoAry() : Bry_.Empty; + return make ? bb.Xto_bry() : Bry_.Empty; } else throw Err_.new_("quote found, but not doubled").Add("txt", String_.new_utf8_len_safe_(ary, bgn, pos + 1)); } @@ -840,7 +840,12 @@ public class Bry_ { if (last) break; ++src_pos; } - return (byte[][])rv.XtoAry(byte[].class); + return (byte[][])rv.Xto_ary(byte[].class); + } + public static byte[] Replace_create(byte[] src, byte find, byte replace) { + byte[] rv = Bry_.Copy(src); + Replace_reuse(rv, find, replace); + return rv; } public static void Replace_reuse(byte[] src, byte find, byte replace) { int src_len = src.length; @@ -878,7 +883,7 @@ public class Bry_ { } if (dirty) bfr.Add_mid(src, bfr_bgn, src_end); - return dirty ? bfr.XtoAryAndClear() : src; + return dirty ? bfr.Xto_bry_and_clear() : src; } public static byte[] Replace(byte[] src, byte[] find, byte[] replace) {return Replace_between(src, find, null, replace);} public static byte[] Replace_between(byte[] src, byte[] bgn, byte[] end, byte[] replace) { @@ -907,7 +912,7 @@ public class Bry_ { } } } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public static int Trim_end_pos(byte[] src, int end) { for (int i = end - 1; i > -1; i--) { @@ -934,7 +939,7 @@ public class Bry_ { if (find_pos == src_len) break; cur_pos = find_pos + dlm_len; } - return (byte[][])rv.XtoAry(byte[].class); + return (byte[][])rv.Xto_ary(byte[].class); } public static byte[][] Split_lines(byte[] src) { if (Bry_.Len_eq_0(src)) return Bry_.Ary_empty; @@ -960,7 +965,7 @@ public class Bry_ { if (last) break; src_pos = nxt_bgn; } - return (byte[][])rv.XtoAry(byte[].class); + return (byte[][])rv.Xto_ary(byte[].class); } public static byte[] Increment_last(byte[] ary) {return Increment_last(ary, ary.length - 1);} public static byte[] Increment_last(byte[] ary, int end_idx) { diff --git a/100_core/src_110_primitive/gplx/Bry_bfr.java b/100_core/src_110_primitive/gplx/Bry_bfr.java index f09bbedc6..72b2498fe 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr.java @@ -417,29 +417,28 @@ public class Bry_bfr { return this; } public boolean Eq(byte b) {return bfr_len == 1 && bfr[0] == b;} - public byte[] XtoAry() {return bfr_len == 0 ? Bry_.Empty : Bry_.Mid(bfr, 0, bfr_len);} - public byte[] XtoAryAndReset(int v) { - byte[] rv = XtoAry(); + public byte[] Xto_bry() {return bfr_len == 0 ? Bry_.Empty : Bry_.Mid(bfr, 0, bfr_len);} + public byte[] Xto_bry_and_reset(int v) { + byte[] rv = Xto_bry(); this.Clear().Reset_if_gt(v); return rv; } - public byte[] XtoAryAndClearAndTrim() {return XtoAryAndClearAndTrim(true, true, Bry_.Trim_ary_ws);} - public byte[] XtoAryAndClearAndTrim(boolean trim_bgn, boolean trim_end, byte[] trim_bry) { + public byte[] Xto_bry_and_clear_and_trim() {return Xto_bry_and_clear_and_trim(true, true, Bry_.Trim_ary_ws);} + public byte[] Xto_bry_and_clear_and_trim(boolean trim_bgn, boolean trim_end, byte[] trim_bry) { byte[] rv = Bry_.Trim(bfr, 0, bfr_len, trim_bgn, trim_end, trim_bry); this.Clear(); return rv; } - public byte[] XtoAryAndClear() { - byte[] rv = XtoAry(); + public byte[] Xto_bry_and_clear() { + byte[] rv = Xto_bry(); this.Clear(); if (reset > 0) Reset_if_gt(reset); return rv; } - public String XtoStr() {return String_.new_utf8_(XtoAry());} - public String XtoStrByPos(int bgn, int end) {return String_.new_utf8_(XtoAry(), bgn, end);} - public String XtoStrAndClear() {return String_.new_utf8_(XtoAryAndClear());} - public String XtoStrAndClearAndTrim() {return String_.new_utf8_(XtoAryAndClearAndTrim());} - public String XtoStrAndReset(int v) {return String_.new_utf8_(XtoAryAndReset(v));} + public String Xto_str() {return String_.new_utf8_(Xto_bry());} + public String Xto_str_by_pos(int bgn, int end) {return String_.new_utf8_(Xto_bry(), bgn, end);} + public String Xto_str_and_clear() {return String_.new_utf8_(Xto_bry_and_clear());} + public String Xto_str_and_clear_and_trim() {return String_.new_utf8_(Xto_bry_and_clear_and_trim());} public int XtoIntAndClear(int or) {int rv = XtoInt(or); this.Clear(); return rv;} public int XtoInt(int or) { switch (bfr_len) { diff --git a/100_core/src_110_primitive/gplx/Bry_bfr_tst.java b/100_core/src_110_primitive/gplx/Bry_bfr_tst.java index 510ac8f16..64d300b24 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr_tst.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr_tst.java @@ -33,13 +33,13 @@ public class Bry_bfr_tst { @Test public void Add_byte_repeat() { // NOTE: make sure auto-expands bb = Bry_bfr.new_(2); tst_Add_byte_repeat(Byte_ascii.Space, 12, String_.Repeat(" ", 12)); - } void tst_Add_byte_repeat(byte b, int len, String expd) {Tfds.Eq(expd, bb.Add_byte_repeat(b, len).XtoStrAndClear());} + } void tst_Add_byte_repeat(byte b, int len, String expd) {Tfds.Eq(expd, bb.Add_byte_repeat(b, len).Xto_str_and_clear());} void tst_AddByte(String s, String expdStr, int expdLen) { if (String_.Len(s) == 1) bb.Add_byte((byte)String_.CharAt(s, 0)); else bb.Add(Bry_.new_utf8_(s)); - Tfds.Eq(expdStr, String_.new_utf8_(bb.XtoAry())); + Tfds.Eq(expdStr, String_.new_utf8_(bb.Xto_bry())); Tfds.Eq(expdLen, bb.Bfr_max()); } @Test public void Add_dte() { @@ -47,7 +47,7 @@ public class Bry_bfr_tst { } void tst_AddDte(String raw) { bb.Add_dte(DateAdp_.parse_fmt(raw, Bry_.Fmt_csvDte)); - Tfds.Eq(raw, String_.new_utf8_(bb.XtoAry())); + Tfds.Eq(raw, String_.new_utf8_(bb.Xto_bry())); } @Test public void Add_int_variable() { Add_int_variable(-1); @@ -64,12 +64,12 @@ public class Bry_bfr_tst { } void tst_Add_float(float v) { bb.Add_float(v); - Tfds.Eq(v, Float_.parse_(String_.new_utf8_(bb.XtoAry()))); + Tfds.Eq(v, Float_.parse_(String_.new_utf8_(bb.Xto_bry()))); } void Add_int_variable(int val) { bb.Clear(); bb.Add_int_variable(val); - Tfds.Eq(val, Int_.parse_(String_.new_utf8_(bb.XtoAry()))); + Tfds.Eq(val, Int_.parse_(String_.new_utf8_(bb.Xto_bry()))); } @Test public void Add_int_fixed_len3() {tst_Add_int_fixed(123, 3, "123");} @Test public void Add_int_fixed_pad_1() {tst_Add_int_fixed(2, 1, "2");} @@ -79,7 +79,7 @@ public class Bry_bfr_tst { @Test public void Add_int_fixed_neg_pad1() {tst_Add_int_fixed(-2, 1, "-");} @Test public void Add_int_fixed_chop_1() {tst_Add_int_fixed(123, 1, "3");} @Test public void Add_int_fixed_chop_neg() {tst_Add_int_fixed(-21, 2, "-1");} - void tst_Add_int_fixed(int val, int digits, String expd) {Tfds.Eq(expd, String_.new_utf8_(bb.Add_int_fixed(val, digits).XtoAry()));} + void tst_Add_int_fixed(int val, int digits, String expd) {Tfds.Eq(expd, String_.new_utf8_(bb.Add_int_fixed(val, digits).Xto_bry()));} @Test public void Add_long_fixed_len3() {tst_Add_long_fixed(123, 3, "123");} @Test public void Add_long_fixed_pad_1() {tst_Add_long_fixed(2, 1, "2");} @Test public void Add_long_fixed_pad_2() {tst_Add_long_fixed(2, 2, "02");} @@ -89,7 +89,7 @@ public class Bry_bfr_tst { @Test public void Add_long_fixed_chop_1() {tst_Add_long_fixed(123, 1, "3");} @Test public void Add_long_fixed_chop_neg() {tst_Add_long_fixed(-21, 2, "-1");} @Test public void Add_long_fixed_large() {tst_Add_long_fixed(123456789012345L, 15, "123456789012345");} - void tst_Add_long_fixed(long val, int digits, String expd) {Tfds.Eq(expd, String_.new_utf8_(bb.Add_long_fixed(val, digits).XtoAry()));} + void tst_Add_long_fixed(long val, int digits, String expd) {Tfds.Eq(expd, String_.new_utf8_(bb.Add_long_fixed(val, digits).Xto_bry()));} @Test public void AddDte_short() { tst_AddDte_short("2010-08-26T22:38:36Z"); } @@ -122,10 +122,10 @@ public class Bry_bfr_tst { // bb = Bry_bfr.new_(16); // bb.Add_str(orig); // bb.InsertAt_str(insertAt, insertStr); -// String actl = bb.XtoStrAndClear(); +// String actl = bb.Xto_str_and_clear(); // Tfds.Eq(expd, actl); // } - @Test public void XtoAryAndClearAndTrim() { + @Test public void Xto_bry_and_clear_and_trim() { tst_XtoAryAndClearAndTrim("a" , "a"); tst_XtoAryAndClearAndTrim(" a " , "a"); tst_XtoAryAndClearAndTrim(" a b " , "a b"); @@ -133,7 +133,7 @@ public class Bry_bfr_tst { } void tst_XtoAryAndClearAndTrim(String raw, String expd) { bb.Add_str(raw); - Tfds.Eq(expd, String_.new_utf8_(bb.XtoAryAndClearAndTrim())); + Tfds.Eq(expd, String_.new_utf8_(bb.Xto_bry_and_clear_and_trim())); } @Test public void XtoInt() { tst_XtoInt("123", 123); @@ -167,7 +167,7 @@ public class Bry_bfr_tst { } void tst_Add_bfr_trimEnd_and_clear(String raw, String expd) { Bry_bfr tmp = Bry_bfr.new_().Add_str(raw); - Tfds.Eq(expd, bb.Add_bfr_trim_and_clear(tmp, false, true).XtoStrAndClear()); + Tfds.Eq(expd, bb.Add_bfr_trim_and_clear(tmp, false, true).Xto_str_and_clear()); } @Test public void Add_bfr_trimAll_and_clear() { tst_Add_bfr_trimAll_and_clear(" a ", "a"); @@ -177,7 +177,7 @@ public class Bry_bfr_tst { } void tst_Add_bfr_trimAll_and_clear(String raw, String expd) { Bry_bfr tmp = Bry_bfr.new_().Add_str(raw); - Tfds.Eq(expd, bb.Add_bfr_trim_and_clear(tmp, true, true).XtoStrAndClear()); + Tfds.Eq(expd, bb.Add_bfr_trim_and_clear(tmp, true, true).Xto_str_and_clear()); } @Test public void Add_int_pad_bgn() { fxt.Test_Add_int_pad_bgn(Byte_ascii.Num_0, 3, 0, "000"); @@ -214,14 +214,14 @@ class ByteAryBfr_fxt { public void Clear() { bfr.ClearAndReset(); } - public void Test_Add_int_pad_bgn(byte pad_byte, int str_len, int val, String expd) {Tfds.Eq(expd, bfr.Add_int_pad_bgn(pad_byte, str_len, val).XtoStrAndClear());} + public void Test_Add_int_pad_bgn(byte pad_byte, int str_len, int val, String expd) {Tfds.Eq(expd, bfr.Add_int_pad_bgn(pad_byte, str_len, val).Xto_str_and_clear());} public void Test_Add_bry_escape(String val, String expd) { byte[] val_bry = Bry_.new_utf8_(val); - Tfds.Eq(expd, bfr.Add_bry_escape(Byte_ascii.Apos, Byte_ascii.Apos, val_bry, 0, val_bry.length).XtoStrAndClear()); + Tfds.Eq(expd, bfr.Add_bry_escape(Byte_ascii.Apos, Byte_ascii.Apos, val_bry, 0, val_bry.length).Xto_str_and_clear()); } - public void Test_Insert_at(String init, int pos, String val, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Insert_at(pos, Bry_.new_utf8_(val)).XtoStrAndClear());} - public void Test_Insert_at(String init, int pos, String val, int val_bgn, int val_end, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Insert_at(pos, Bry_.new_utf8_(val), val_bgn, val_end).XtoStrAndClear());} - public void Test_Delete_rng(String init, int bgn, int end, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng(bgn, end).XtoStrAndClear());} - public void Test_Delete_rng_to_bgn(String init, int pos, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng_to_bgn(pos).XtoStrAndClear());} - public void Test_Delete_rng_to_end(String init, int pos, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng_to_end(pos).XtoStrAndClear());} + public void Test_Insert_at(String init, int pos, String val, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Insert_at(pos, Bry_.new_utf8_(val)).Xto_str_and_clear());} + public void Test_Insert_at(String init, int pos, String val, int val_bgn, int val_end, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Insert_at(pos, Bry_.new_utf8_(val), val_bgn, val_end).Xto_str_and_clear());} + public void Test_Delete_rng(String init, int bgn, int end, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng(bgn, end).Xto_str_and_clear());} + public void Test_Delete_rng_to_bgn(String init, int pos, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng_to_bgn(pos).Xto_str_and_clear());} + public void Test_Delete_rng_to_end(String init, int pos, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Delete_rng_to_end(pos).Xto_str_and_clear());} } diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr.java b/100_core/src_110_primitive/gplx/Bry_fmtr.java index 309043dc3..039f907f4 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr.java @@ -87,14 +87,14 @@ public class Bry_fmtr { bfr.Add(itm.Dat); } } - public byte[] Bld_bry_none(Bry_bfr bfr) {Bld_bfr_ary(bfr, Object_.Ary_empty); return bfr.XtoAryAndClear();} + public byte[] Bld_bry_none(Bry_bfr bfr) {Bld_bfr_ary(bfr, Object_.Ary_empty); return bfr.Xto_bry_and_clear();} public byte[] Bld_bry_many(Bry_bfr bfr, Object... args) { Bld_bfr_ary(bfr, args); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public String Bld_str_many(Bry_bfr bfr, String fmt, Object... args) { this.Fmt_(fmt).Bld_bfr_many(bfr, args); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public String Bld_str_many(String... args) { @@ -135,7 +135,7 @@ public class Bry_fmtr { if (lkp_is_numeric) list.Add(Bry_fmtr_itm.arg_(lkp_bfr.XtoInt(0) - baseInt)); else { - byte[] key_fmt = lkp_bfr.XtoAry(); + byte[] key_fmt = lkp_bfr.Xto_bry(); Object idx_ref = keys.Fetch(Bry_obj_ref.new_(key_fmt)); if (idx_ref == null) { int lkp_bfr_len = lkp_bfr.Len(); @@ -209,7 +209,7 @@ public class Bry_fmtr { } if (lkp_is_active) throw Err_.new_("idx mode not closed"); if (trg_pos > 0) {list.Add(Bry_fmtr_itm.dat_(trg_bry, trg_pos)); trg_pos = 0;} - itms = (Bry_fmtr_itm[])list.XtoAry(Bry_fmtr_itm.class); + itms = (Bry_fmtr_itm[])list.Xto_ary(Bry_fmtr_itm.class); itms_len = itms.length; return this; } @@ -252,12 +252,12 @@ public class Bry_fmtr { tmp_bfr.Add_byte(Byte_ascii.Curly_end); tmp_bfr.Add_byte(Byte_ascii.Apos); } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } static Bry_bfr tmp_bfr = Bry_bfr.reset_(255); public void Bld_bfr_many_and_set_fmt(Object... args) { Bry_bfr bfr = Bry_bfr.new_(); this.Bld_bfr_many(bfr, args); - byte[] bry = bfr.XtoAryAndClear(); + byte[] bry = bfr.Xto_bry_and_clear(); this.Fmt_(bry).Compile(); } public static String Escape_tilde(String v) {return String_.Replace(v, "~", "~~");} diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_.java b/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_.java index 32d55dbb0..dae413ba6 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_.java @@ -22,6 +22,6 @@ public class Bry_fmtr_eval_mgr_ { Bry_bfr bfr = Bry_bfr.reset_(255); Bry_fmtr fmtr = Bry_fmtr.tmp_(); fmtr.Eval_mgr_(eval_mgr).Fmt_(fmt).Bld_bfr_none(bfr); - return Io_url_.new_any_(bfr.XtoStrAndClear()); + return Io_url_.new_any_(bfr.Xto_str_and_clear()); } } diff --git a/100_core/src_110_primitive/gplx/Byte_ascii.java b/100_core/src_110_primitive/gplx/Byte_ascii.java index c7724dc7e..ac64d7a9b 100644 --- a/100_core/src_110_primitive/gplx/Byte_ascii.java +++ b/100_core/src_110_primitive/gplx/Byte_ascii.java @@ -42,7 +42,23 @@ public class Byte_ascii { , Curly_end = 125, Tilde = 126 ; public static final byte Max_7_bit = (byte)127, Ascii_min = 0, Ascii_max = 127; - public static final byte[] Space_len2 = new byte[] {Space, Space}, Space_len4 = new byte[] {Space, Space, Space, Space}; + public static boolean Is_sym(byte b) { + switch (b) { + case Byte_ascii.Bang: case Byte_ascii.Quote: + case Byte_ascii.Hash: case Byte_ascii.Dollar: case Byte_ascii.Percent: case Byte_ascii.Amp: case Byte_ascii.Apos: + case Byte_ascii.Paren_bgn: case Byte_ascii.Paren_end: case Byte_ascii.Asterisk: case Byte_ascii.Plus: case Byte_ascii.Comma: + case Byte_ascii.Dash: case Byte_ascii.Dot: case Byte_ascii.Slash: + case Byte_ascii.Colon: case Byte_ascii.Semic: + case Byte_ascii.Lt: case Byte_ascii.Eq: case Byte_ascii.Gt: case Byte_ascii.Question: case Byte_ascii.At: + case Byte_ascii.Brack_bgn: case Byte_ascii.Backslash: case Byte_ascii.Brack_end: case Byte_ascii.Pow: + case Byte_ascii.Underline: case Byte_ascii.Tick: + case Byte_ascii.Curly_bgn: case Byte_ascii.Pipe: + case Byte_ascii.Curly_end: case Byte_ascii.Tilde: + return true; + default: + return false; + } + } public static boolean Is_ltr(byte b) { return ( b >= Byte_ascii.Ltr_a && b <= Byte_ascii.Ltr_z || b >= Byte_ascii.Ltr_A && b <= Byte_ascii.Ltr_Z); @@ -69,6 +85,7 @@ public class Byte_ascii { : b ; } + public static final byte[] Space_len2 = new byte[] {Space, Space}, Space_len4 = new byte[] {Space, Space, Space, Space}; public static final byte[] Tab_bry = new byte[] {Byte_ascii.Tab} , NewLine_bry = new byte[] {Byte_ascii.NewLine} diff --git a/100_core/src_110_primitive/gplx/Int_.java b/100_core/src_110_primitive/gplx/Int_.java index 7baefb954..8be0ba006 100644 --- a/100_core/src_110_primitive/gplx/Int_.java +++ b/100_core/src_110_primitive/gplx/Int_.java @@ -151,7 +151,7 @@ public class Int_ implements GfoInvkAble { bfr.Add_int_fixed(val, len); bfr.Add_byte_repeat(pad_chr, pad_len); if (bgn) bfr.Add_int_fixed(val, len); // NOTE: neg handled above - return bfr.XtoStr(); + return bfr.Xto_str(); } public static int read_(Object o) {String s = String_.as_(o); return s != null ? Int_.parse_(s) : Int_.cast_(o);} public static int parse_(String raw) {try {return Integer.parseInt(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, int.class, raw);}} diff --git a/100_core/src_110_primitive/gplx/String_.java b/100_core/src_110_primitive/gplx/String_.java index 7d55976d6..8739208e2 100644 --- a/100_core/src_110_primitive/gplx/String_.java +++ b/100_core/src_110_primitive/gplx/String_.java @@ -343,13 +343,13 @@ public class String_ implements GfoInvkAble { c = String_.CharAt(raw, i); if (c == dlm) { if (!addEmptyIfDlmIsLast && sb.Count() == 0 && i == rawLen - 1) {} - else list.Add(sb.XtoStrAndClear()); + else list.Add(sb.Xto_str_and_clear()); } else sb.Add(c); } if (sb.Count() > 0) - list.Add(sb.XtoStrAndClear()); + list.Add(sb.Xto_str_and_clear()); return list.XtoStrAry(); } public static String[] Split(String s, String separator) {return Split_do(s, separator, false);} @@ -418,7 +418,7 @@ public class String_ implements GfoInvkAble { while (true) { if (sprMatched || i == textLength) { // last pass; add whatever's in sb to list - list.Add(sb.XtoStrAndClear()); + list.Add(sb.Xto_str_and_clear()); if (sprMatched && i == textLength) list.Add(""); // if s ends with spr and last pass, add emptyString as last sprMatched = false; } @@ -445,7 +445,7 @@ public class String_ implements GfoInvkAble { i++; } } - return (String[])list.XtoAry(String.class); + return (String[])list.Xto_ary(String.class); } static String Mid_lang(String s, int bgn, int len) {return s.substring(bgn, bgn + len);} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time_tst.java b/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time_tst.java index 54c43e980..78679709b 100644 --- a/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time_tst.java +++ b/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time_tst.java @@ -37,6 +37,6 @@ class Time_fmtr_arg_fxt { Bry_bfr bfr = Bry_bfr.reset_(255); arg.Seconds_(seconds); arg.XferAry(bfr, 0); - Tfds.Eq(expd, bfr.XtoStr()); + Tfds.Eq(expd, bfr.Xto_str()); } } diff --git a/100_core/src_120_basicDataType/gplx/KeyValHash.java b/100_core/src_120_basicDataType/gplx/KeyValHash.java index 6e4f8aa4c..0b8f9f277 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValHash.java +++ b/100_core/src_120_basicDataType/gplx/KeyValHash.java @@ -29,7 +29,7 @@ public class KeyValHash { public KeyValHash Add(String key, Object val) {hash.Add(key, KeyVal_.new_(key, val)); return this;} public KeyValHash AddReplace(String key, Object val) {hash.AddReplace(key, KeyVal_.new_(key, val)); return this;} public void Del(String key) {hash.Del(key);} - public KeyVal[] XtoAry() { + public KeyVal[] Xto_bry() { KeyVal[] rv = new KeyVal[this.Count()]; for (int i = 0; i < rv.length; i++) rv[i] = this.FetchAt(i); diff --git a/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java b/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java index 3a0d813cb..37e37fa52 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java +++ b/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java @@ -30,7 +30,7 @@ public class KeyValHash_tst { } catch (Exception e) {Err_.Noop(e);} } - void tst_AryVals(String[] ary, KeyVal... expd) {Tfds.Eq_ary_str(expd, KeyValHash.strAry_(ary).XtoAry());} + void tst_AryVals(String[] ary, KeyVal... expd) {Tfds.Eq_ary_str(expd, KeyValHash.strAry_(ary).Xto_bry());} KeyVal kv_(String key, Object val) {return KeyVal_.new_(key, val);} String[] ary_(String... ary) {return ary;} } diff --git a/100_core/src_120_basicDataType/gplx/KeyValList.java b/100_core/src_120_basicDataType/gplx/KeyValList.java index e6545c1ef..2a873ccc0 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValList.java +++ b/100_core/src_120_basicDataType/gplx/KeyValList.java @@ -21,7 +21,7 @@ public class KeyValList {//20101217 public void Clear() {list.Clear();} public KeyVal GetAt(int i) {return (KeyVal)list.FetchAt(i);} public KeyValList Add(String key, Object val) {list.Add(KeyVal_.new_(key, val)); return this;} - public KeyVal[] XtoAry() {return (KeyVal[])list.XtoAry(KeyVal.class);} + public KeyVal[] Xto_bry() {return (KeyVal[])list.Xto_ary(KeyVal.class);} public String XtoStr() { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < list.Count(); i++) { diff --git a/100_core/src_120_basicDataType/gplx/KeyVal_.java b/100_core/src_120_basicDataType/gplx/KeyVal_.java index 9a4202045..35e4414fd 100644 --- a/100_core/src_120_basicDataType/gplx/KeyVal_.java +++ b/100_core/src_120_basicDataType/gplx/KeyVal_.java @@ -65,7 +65,7 @@ public class KeyVal_ { public static String Ary_xto_str_nested(KeyVal... ary) { Bry_bfr bfr = Bry_bfr.new_(); Ary_xto_str_nested(bfr, 0, ary); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private static void Ary_xto_str_nested(Bry_bfr bfr, int indent, KeyVal[] ary) { int len = ary.length; diff --git a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java index 4efff325f..13ff6b3ae 100644 --- a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java +++ b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java @@ -94,7 +94,7 @@ public class TimeSpanAdp_ { sb.Add("0"); sb.Add(Int_.Xto_str(val)); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } boolean fmt_fracs = !String_.Eq(fmt, TimeSpanAdp_.Fmt_NoFractionals); boolean fmt_padZeros = String_.Eq(fmt, TimeSpanAdp_.Fmt_PadZeros); diff --git a/100_core/src_140_list/gplx/ListAdp.java b/100_core/src_140_list/gplx/ListAdp.java index 9aa83b31c..bd5da2f61 100644 --- a/100_core/src_140_list/gplx/ListAdp.java +++ b/100_core/src_140_list/gplx/ListAdp.java @@ -40,8 +40,8 @@ public interface ListAdp extends EnumerAble { void SetAt(int i, Object o); String XtoStr(); String[] XtoStrAry(); - Object XtoAry(Class memberType); - Object XtoAryAndClear(Class memberType); + Object Xto_ary(Class memberType); + Object Xto_ary_and_clear(Class memberType); void Reverse(); void Sort(); diff --git a/100_core/src_140_list/gplx/ListAdp_.java b/100_core/src_140_list/gplx/ListAdp_.java index d78437776..14d366a05 100644 --- a/100_core/src_140_list/gplx/ListAdp_.java +++ b/100_core/src_140_list/gplx/ListAdp_.java @@ -73,8 +73,8 @@ class ListAdp_null implements ListAdp { public void MoveTo(int elemPos, int newPos) {} public boolean RangeCheck(int v) {return false;} public void ResizeBounds(int i) {} - public Object XtoAry(Class memberType) {return Object_.Ary_empty;} - public Object XtoAryAndClear(Class memberType) {return Object_.Ary_empty;} + public Object Xto_ary(Class memberType) {return Object_.Ary_empty;} + public Object Xto_ary_and_clear(Class memberType) {return Object_.Ary_empty;} public String XtoStr() {return "< NULL LIST >";} public String[] XtoStrAry() {return new String[0];} public java.util.Iterator iterator() {return Iterator_null._;} diff --git a/100_core/src_140_list/gplx/ListAdp_base.java b/100_core/src_140_list/gplx/ListAdp_base.java index fc0cfc622..a62e22f41 100644 --- a/100_core/src_140_list/gplx/ListAdp_base.java +++ b/100_core/src_140_list/gplx/ListAdp_base.java @@ -18,8 +18,8 @@ along with this program. If not, see . package gplx; import gplx.lists.*; public abstract class ListAdp_base implements ListAdp, GfoInvkAble { - public Object XtoAryAndClear(Class memberType) {Object rv = XtoAry(memberType); this.Clear(); return rv;} - public Object XtoAry(Class memberType) { + public Object Xto_ary_and_clear(Class memberType) {Object rv = Xto_ary(memberType); this.Clear(); return rv;} + public Object Xto_ary(Class memberType) { Object rv = Array_.Create(memberType, count); for (int i = 0; i < count; i++) Array_.Set(rv, i, list[i]); @@ -144,7 +144,7 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { list[i-1] = tmp; } } - public String[] XtoStrAry() {return (String[])XtoAry(String.class);} + public String[] XtoStrAry() {return (String[])Xto_ary(String.class);} public Object FetchAt(int i) {return FetchAt_base(i);} public Object FetchAtLast() {if (count == 0) throw Err_.invalid_op_("cannot call FetchAtLast on empty list"); return FetchAt_base(count - 1);} public Object FetchAtOr(int i, Object or) {return (i >= count) ? or : FetchAt(i);} diff --git a/100_core/src_140_list/gplx/ListAdp_tst.java b/100_core/src_140_list/gplx/ListAdp_tst.java index db7dad9c4..090a23483 100644 --- a/100_core/src_140_list/gplx/ListAdp_tst.java +++ b/100_core/src_140_list/gplx/ListAdp_tst.java @@ -150,14 +150,14 @@ public class ListAdp_tst { tst_Enumerator("0", "1", "2"); } @Test public void Sort_empty() {list.Sort();} - @Test public void XtoAry() { + @Test public void Xto_bry() { list_AddMany("0", "1"); - String[] ary = (String[])list.XtoAry(String.class); + String[] ary = (String[])list.Xto_ary(String.class); Tfds.Eq_nullNot(ary); Tfds.Eq(2, Array_.Len(ary)); } @Test public void XtoAry_empty() { - String[] ary = (String[])list.XtoAry(String.class); + String[] ary = (String[])list.Xto_ary(String.class); Tfds.Eq_nullNot(ary); Tfds.Eq(0, Array_.Len(ary)); } @@ -214,7 +214,7 @@ public class ListAdp_tst { } ListAdp_tst run_MoveTo(int elemPos, int newPos) {list.MoveTo(elemPos, newPos); return this;} ListAdp_tst tst_Order(String... expd) { - String[] actl = (String[])list.XtoAry(String.class); + String[] actl = (String[])list.Xto_ary(String.class); Tfds.Eq_ary(expd, actl); return this; } diff --git a/100_core/src_140_list/gplx/OrderedHash.java b/100_core/src_140_list/gplx/OrderedHash.java index d57ae8e3e..8d8883dd7 100644 --- a/100_core/src_140_list/gplx/OrderedHash.java +++ b/100_core/src_140_list/gplx/OrderedHash.java @@ -25,7 +25,7 @@ public interface OrderedHash extends HashAdp { void Sort(); void SortBy(ComparerAble comparer); void ResizeBounds(int i); - Object XtoAry(Class t); + Object Xto_ary(Class t); String XtoStr_ui(); void MoveTo(int src, int trg); void Lock(); diff --git a/100_core/src_140_list/gplx/OrderedHash_base.java b/100_core/src_140_list/gplx/OrderedHash_base.java index 5c9858b74..66e9293fe 100644 --- a/100_core/src_140_list/gplx/OrderedHash_base.java +++ b/100_core/src_140_list/gplx/OrderedHash_base.java @@ -37,7 +37,7 @@ public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoIn super.Clear(); ordered.Clear(); } - public Object XtoAry(Class type) {return ordered.XtoAry(type);} + public Object Xto_ary(Class type) {return ordered.Xto_ary(type);} @gplx.Virtual public void Sort() {if (locked) Lock_fail(); ordered.Sort();} // NOTE: uses item's .compareTo public void SortBy(ComparerAble comparer) {if (locked) Lock_fail(); ordered.SortBy(comparer);} @Override public java.util.Iterator iterator() {return ordered.iterator();} diff --git a/100_core/src_140_list/gplx/lists/StackAdp_tst.java b/100_core/src_140_list/gplx/lists/StackAdp_tst.java index 862d12cfd..1eaa2487e 100644 --- a/100_core/src_140_list/gplx/lists/StackAdp_tst.java +++ b/100_core/src_140_list/gplx/lists/StackAdp_tst.java @@ -26,7 +26,7 @@ public class StackAdp_tst { for (int i : ary) stack.Push(i); ListAdp list = stack.XtoList(); - int[] actl = (int[])list.XtoAry(int.class); + int[] actl = (int[])list.Xto_ary(int.class); for (int i = 0; i < ary.length; i++) Tfds.Eq(ary[i], actl[i]); } diff --git a/100_core/src_150_text/gplx/intl/Utf8__tst.java b/100_core/src_150_text/gplx/intl/Utf8__tst.java index 4835f3f21..62bb81f6a 100644 --- a/100_core/src_150_text/gplx/intl/Utf8__tst.java +++ b/100_core/src_150_text/gplx/intl/Utf8__tst.java @@ -54,7 +54,7 @@ public class Utf8__tst { // bgn = end; // bgn_bry = end_by_codepoint_next; // } -// Tfds.WriteText(bfr.XtoStrAndClear()); +// Tfds.WriteText(bfr.Xto_str_and_clear()); // } } class Utf8__fxt { diff --git a/100_core/src_150_text/gplx/texts/CharStream.java b/100_core/src_150_text/gplx/texts/CharStream.java index 932da2b38..d11c75033 100644 --- a/100_core/src_150_text/gplx/texts/CharStream.java +++ b/100_core/src_150_text/gplx/texts/CharStream.java @@ -53,7 +53,7 @@ public class CharStream { length = (pos + length > len) ? len - pos : length; return Char_.XtoStr(ary, pos, length); } - public String XtoStrByPos(int bgn, int end) { + public String Xto_str_by_pos(int bgn, int end) { if (bgn < 0) bgn = 0; if (end > len - 1) end = len - 1; return Char_.XtoStr(ary, bgn, end - bgn + 1); } diff --git a/100_core/src_150_text/gplx/texts/RegxAdp.java b/100_core/src_150_text/gplx/texts/RegxAdp.java index 76d420f83..f6280ca04 100644 --- a/100_core/src_150_text/gplx/texts/RegxAdp.java +++ b/100_core/src_150_text/gplx/texts/RegxAdp.java @@ -58,7 +58,7 @@ public class RegxAdp { : find_bgn + find_len // otherwise search after find_end ; } - return (RegxMatch[])rv.XtoAry(RegxMatch.class); + return (RegxMatch[])rv.Xto_ary(RegxMatch.class); } @gplx.Internal protected RegxAdp(String regx) {Pattern_(regx);} } diff --git a/100_core/src_150_text/gplx/texts/StringTableBldr.java b/100_core/src_150_text/gplx/texts/StringTableBldr.java index 0e3847e16..83c8c4b0e 100644 --- a/100_core/src_150_text/gplx/texts/StringTableBldr.java +++ b/100_core/src_150_text/gplx/texts/StringTableBldr.java @@ -46,7 +46,7 @@ public class StringTableBldr { } sb.Add(String_.CrLf); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } public static StringTableBldr new_() {return new StringTableBldr();} StringTableBldr() {} diff --git a/100_core/src_200_io/gplx/ios/Io_download_fmt.java b/100_core/src_200_io/gplx/ios/Io_download_fmt.java index db84f5722..6a98158e8 100644 --- a/100_core/src_200_io/gplx/ios/Io_download_fmt.java +++ b/100_core/src_200_io/gplx/ios/Io_download_fmt.java @@ -77,7 +77,7 @@ public class Io_download_fmt { , rate_fmtr_arg.Val_(prog_rate) , prog_left_fmtr_arg.Seconds_(prog_left / 1000) ); - prog_msg = prog_bfr.XtoStrAndClear(); + prog_msg = prog_bfr.Xto_str_and_clear(); if (usr_dlg != null) usr_dlg.Prog_none(GRP_KEY, "prog", prog_msg); } private Bry_bfr prog_bfr = Bry_bfr.new_(); Bry_fmtr prog_fmtr = Bry_fmtr.new_().Fail_when_invalid_escapes_(false); // NOTE: prog_fmtr can be passed file_names with ~ which are not easy to escape; DATE:2013-02-19 diff --git a/100_core/src_200_io/gplx/ios/Io_stream_rdr_.java b/100_core/src_200_io/gplx/ios/Io_stream_rdr_.java index 31d880a08..56748563d 100644 --- a/100_core/src_200_io/gplx/ios/Io_stream_rdr_.java +++ b/100_core/src_200_io/gplx/ios/Io_stream_rdr_.java @@ -51,7 +51,7 @@ public class Io_stream_rdr_ { public static byte[] Load_all_as_bry(Io_stream_rdr rdr) {return Load_all_as_bry(Bry_bfr.new_(), rdr);} public static byte[] Load_all_as_bry(Bry_bfr rv, Io_stream_rdr rdr) { Load_all_to_bfr(rv, rdr); - return rv.XtoAryAndClear(); + return rv.Xto_bry_and_clear(); } public static void Load_all_to_bfr(Bry_bfr rv, Io_stream_rdr rdr) { try { diff --git a/100_core/src_200_io/gplx/ios/Io_stream_wtr_.java b/100_core/src_200_io/gplx/ios/Io_stream_wtr_.java index 0907706c2..7f2cf1154 100644 --- a/100_core/src_200_io/gplx/ios/Io_stream_wtr_.java +++ b/100_core/src_200_io/gplx/ios/Io_stream_wtr_.java @@ -70,7 +70,7 @@ abstract class Io_stream_wtr_base implements Io_stream_wtr { java.io.OutputStream zip_stream; public Io_url Url() {return url;} public Io_stream_wtr Url_(Io_url v) {url = v; trg_bfr = null; return this;} Io_url url; public void Trg_bfr_(Bry_bfr v) {trg_bfr = v;} Bry_bfr trg_bfr; java.io.ByteArrayOutputStream mem_stream; - public byte[] Xto_ary_and_clear() {return trg_bfr.XtoAryAndClear();} + public byte[] Xto_ary_and_clear() {return trg_bfr.Xto_bry_and_clear();} @SuppressWarnings("resource") // rely on OutputStream to close bry_stream public Io_stream_wtr Open() { java.io.OutputStream bry_stream = null; @@ -165,7 +165,7 @@ class Io_stream_wtr_zip implements Io_stream_wtr { catch (Exception e) {throw Err_.new_fmt_("close failed: url={0}", url.Raw());} } public byte[] Xto_ary_and_clear() { - byte[] rv = trg_bfr.XtoAryAndClear(); + byte[] rv = trg_bfr.Xto_bry_and_clear(); this.Rls(); return rv; } @@ -192,7 +192,7 @@ class Io_stream_wtr_file implements Io_stream_wtr { trg_bfr.Add_mid(bry, bgn, bgn + len); } public byte[] Xto_ary_and_clear() { - return trg_bfr == null ? Io_mgr._.LoadFilBry(url) : trg_bfr.XtoAryAndClear(); + return trg_bfr == null ? Io_mgr._.LoadFilBry(url) : trg_bfr.Xto_bry_and_clear(); } public void Flush() { if (trg_bfr == null) diff --git a/100_core/src_210_env/gplx/ProcessAdp.java b/100_core/src_210_env/gplx/ProcessAdp.java index 6b872c0eb..bf3875b53 100644 --- a/100_core/src_210_env/gplx/ProcessAdp.java +++ b/100_core/src_210_env/gplx/ProcessAdp.java @@ -60,7 +60,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { if (!args_fmtr.Fmt_null()) { Bry_bfr tmp_bfr = Bry_bfr.new_(); args_fmtr.Bld_bfr_many(tmp_bfr, args); - args_str = tmp_bfr.XtoStrAndClear(); + args_str = tmp_bfr.Xto_str_and_clear(); } prog_dlg.Log_many(GRP_KEY, "run", "running process: ~{0} ~{1}", exe_url.Raw(), args_str); exit_code = Exit_init; @@ -157,7 +157,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { elapsed = notify_checkpoint; notify_checkpoint += notify_interval; notify_fmtr.Bld_bfr_many(notify_bfr, exe_url.NameAndExt(), args_str, elapsed / 1000); - prog_dlg.Prog_none(GRP_KEY, "notify.prog", notify_bfr.XtoStrAndClear()); + prog_dlg.Prog_none(GRP_KEY, "notify.prog", notify_bfr.Xto_str_and_clear()); } } if (thread_timeout == 0) break; @@ -178,7 +178,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { } if (elapsed != notify_checkpoint) { notify_fmtr.Bld_bfr_many(notify_bfr, exe_url.NameAndExt(), args_str, elapsed / 1000); - if (prog_dlg != null) prog_dlg.Prog_none(GRP_KEY, "notify.prog", notify_bfr.XtoStrAndClear()); + if (prog_dlg != null) prog_dlg.Prog_none(GRP_KEY, "notify.prog", notify_bfr.Xto_str_and_clear()); } return this; } @@ -235,7 +235,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { exit_code = process.exitValue(); WhenEnd_run(); process.destroy(); - rslt_out = sb.XtoStrAndClear(); + rslt_out = sb.Xto_str_and_clear(); } public void Process_term() { try { @@ -337,7 +337,7 @@ class StreamGobbler extends Thread { sb.Add(s); } stream.close(); - rslt = sb.XtoStrAndClear(); + rslt = sb.Xto_str_and_clear(); } catch (Exception ex) {throw Err_.new_fmt_("failed reading stream; name={0} ex={1}", name, Err_.Message_lang(ex));} } diff --git a/100_core/src_310_gfoNde/gplx/GfoNde_.java b/100_core/src_310_gfoNde/gplx/GfoNde_.java index b9b256390..2343686e6 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNde_.java +++ b/100_core/src_310_gfoNde/gplx/GfoNde_.java @@ -38,7 +38,7 @@ public class GfoNde_ { valAry[i] = rdr.ReadAt(i); rows.Add(GfoNde_.vals_(flds, valAry)); } - return GfoNde_.tbl_("", flds, (GfoNde[])rows.XtoAry(GfoNde.class)); + return GfoNde_.tbl_("", flds, (GfoNde[])rows.Xto_ary(GfoNde.class)); } finally {rdr.Rls();} } diff --git a/100_core/src_311_gfoObj/gplx/GfoMsg_.java b/100_core/src_311_gfoObj/gplx/GfoMsg_.java index a74cb9e1c..dcfe809b6 100644 --- a/100_core/src_311_gfoObj/gplx/GfoMsg_.java +++ b/100_core/src_311_gfoObj/gplx/GfoMsg_.java @@ -222,7 +222,7 @@ class GfoMsg_base implements GfoMsg { public String XtoStr() { String_bldr sb = String_bldr_.new_(); XtoStr(sb, new XtoStrWkr_gplx(), this); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } void XtoStr(String_bldr sb, XtoStrWkr wkr, GfoMsg m) { sb.Add(m.Key()); diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java index d613c1e00..004984a8f 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java @@ -71,7 +71,7 @@ class DsvParser { qteOn = false; } else - throw Err_.new_("invalid quote in quoted field; quote must be followed by quote, fieldSpr, or recordSpr").Add("sym", strm.Cur()).Add("text", strm.XtoStrByPos(strm.Pos() - 10, strm.Pos() + 10)); + throw Err_.new_("invalid quote in quoted field; quote must be followed by quote, fieldSpr, or recordSpr").Add("sym", strm.Cur()).Add("text", strm.Xto_str_by_pos(strm.Pos() - 10, strm.Pos() + 10)); } else { // regular char; append and continue sb.Add(strm.Cur()); @@ -79,7 +79,7 @@ class DsvParser { } } void ProcessFld(CharStream strm) { - String val = sb.XtoStrAndClear(); + String val = sb.Xto_str_and_clear(); if (cmdSeqOn) { cmdSeqOn = false; if (String_.Eq(val, sym.CmdDlm()) && qteOn) { // 2 cmdDlms in a row; cmdSeq encountered; next fld must be cmdName diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_csv_dat_tst.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_csv_dat_tst.java index 24a1681f5..e8c89faf0 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_csv_dat_tst.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_csv_dat_tst.java @@ -161,7 +161,7 @@ class DsvDataRdr_fxt { for (int i = 0; i < flds.Count(); i++) { GfoFld fld = flds.FetchAt(i); sb.Add(fld.Key()).Add(",").Add(fld.Type().Key()); - list.Add(sb.XtoStrAndClear()); + list.Add(sb.Xto_str_and_clear()); } } public DsvDataRdr_fxt tst_Tbls(String... expdNames) { @@ -192,7 +192,7 @@ class DsvDataRdr_fxt { if (j != 0) sb.Add("~"); sb.Add_obj(Object_.Xto_str_strict_or_null_mark(row.ReadAt(j))); } - expdList.Add(sb.XtoStrAndClear()); + expdList.Add(sb.Xto_str_and_clear()); } for (Object[] expdRow : expdRows) { if (expdRow == null) { @@ -203,7 +203,7 @@ class DsvDataRdr_fxt { if (j != 0) sb.Add("~"); sb.Add_obj(Object_.Xto_str_strict_or_null_mark(expdRow[j])); } - actlList.Add(sb.XtoStrAndClear()); + actlList.Add(sb.Xto_str_and_clear()); } Tfds.Eq_list(expdList, actlList); return this; diff --git a/100_core/src_420_usrMsg/gplx/Gfo_log_bfr.java b/100_core/src_420_usrMsg/gplx/Gfo_log_bfr.java index 6ab5589e2..f3a59c692 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_log_bfr.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_log_bfr.java @@ -25,5 +25,5 @@ public class Gfo_log_bfr { bfr.Add_byte_nl(); return this; } - public String Xto_str() {return bfr.XtoStrAndClear();} + public String Xto_str() {return bfr.Xto_str_and_clear();} } diff --git a/110_gfml/.classpath b/110_gfml/.classpath index 813419156..d858d25a6 100644 --- a/110_gfml/.classpath +++ b/110_gfml/.classpath @@ -9,6 +9,6 @@ - + diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java index 1ca74847d..162d8ca0f 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java @@ -89,7 +89,7 @@ class GfmlLxr_group implements GfmlLxr { hookLength = trie.LastMatchCount; } if (ignoreOutput) return GfmlTkn_.IgnoreOutput; - String raw = sb.XtoStrAndClear(); + String raw = sb.Xto_str_and_clear(); return outputTkn.MakeNew(raw, raw); } public GfmlLxr SubLxr() {throw Err_sublxr();} diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlFld.java b/110_gfml/src_200_type/gplx/gfml/GfmlFld.java index 4b6712ccb..0c34a0a5f 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlFld.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlFld.java @@ -27,7 +27,7 @@ public class GfmlFld { rv.defaultTkn = defaultTkn; // FIXME: defaultTkn.clone_() return rv; } - public String XtoStr() {String_bldr sb = String_bldr_.new_(); this.XtoStr(sb); return sb.XtoStrAndClear();} + public String XtoStr() {String_bldr sb = String_bldr_.new_(); this.XtoStr(sb); return sb.Xto_str_and_clear();} public void XtoStr(String_bldr sb) {sb.Add_fmt("name={0} typeKey={1}", name, typeKey);} public static final GfmlFld Null = new_(false, GfmlItmKeys.NullKey, GfmlType_.AnyKey); diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlTypeMakr.java b/110_gfml/src_200_type/gplx/gfml/GfmlTypeMakr.java index 327d9e7ff..65289d865 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlTypeMakr.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlTypeMakr.java @@ -38,8 +38,8 @@ class GfmlTypeMakr { return rv; } public void AddSubFld(GfmlFld subFld) {AddSubFld_imp(owner, subFld);} - public GfmlType[] XtoAry() { - GfmlType[] rv = (GfmlType[])list.XtoAry(GfmlType.class); + public GfmlType[] Xto_bry() { + GfmlType[] rv = (GfmlType[])list.Xto_ary(GfmlType.class); list.Clear(); owner = null; return rv; diff --git a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java index 26a72483a..f20a568f0 100644 --- a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java +++ b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.gfml; import gplx.*; public class GfmlDocWtr_ { - public String XtoStrAndClear() {return sb.XtoStrAndClear();} + public String Xto_str_and_clear() {return sb.Xto_str_and_clear();} public void BuildAttrib(GfmlAtr atr) {Build(atr);} public void BuildNode(GfmlNde nde) {Build(nde);} void Build(GfmlItm owner) { @@ -34,6 +34,6 @@ public class GfmlDocWtr_ { public static String xtoStr_(GfmlNde nde) { GfmlDocWtr_ wtr = new GfmlDocWtr_(); wtr.BuildNode(nde); - return wtr.XtoStrAndClear(); + return wtr.Xto_str_and_clear(); } } diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java index b7aa36093..edaf2dd56 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java @@ -48,7 +48,7 @@ class GfmlPragmaDefault implements GfmlPragma { makr.MakeSubTypeAsOwner( "_default"); makr.MakeSubTypeAsOwner( "type", "typeKey"); makr.MakeSubTypeAsOwner( "atr", "key", "val"); - return makr.XtoAry(); + return makr.Xto_bry(); } public static GfmlPragmaDefault new_() {return new GfmlPragmaDefault();} GfmlPragmaDefault() {} public static final GfmlTkn Default_none = GfmlTkn_.raw_("DEFAULT NONE"); diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java index c11c57d3b..eddd0c0b2 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java @@ -58,7 +58,7 @@ class GfmlPragmaLxrFrm implements GfmlPragma { } public GfmlType[] MakePragmaTypes(GfmlTypeMakr makr) { makr.MakeRootType("_lxr_frame", "_lxr_frame", "key", "type", "bgn", "end"); - return makr.XtoAry(); + return makr.Xto_bry(); } public static GfmlPragmaLxrFrm new_() {return new GfmlPragmaLxrFrm();} GfmlPragmaLxrFrm() {} } diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrSym.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrSym.java index 93d0c5b48..ada7f65d9 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrSym.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrSym.java @@ -49,7 +49,7 @@ class GfmlPragmaLxrSym implements GfmlPragma { makr.MakeRootType("_lxr_sym", "_lxr_sym", "key", "raw"); GfmlFld fld = GfmlFld.new_(true, "cmd", GfmlType_.StringKey).DefaultTkn_(GfmlTkn_.val_("gfml.elm_data")); makr.AddSubFld(fld); - return makr.XtoAry(); + return makr.Xto_bry(); } public static GfmlPragmaLxrSym new_() {return new GfmlPragmaLxrSym();} GfmlPragmaLxrSym() {} public static final String CacheLog_key = "log:var"; diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaType.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaType.java index 835c4c9c1..307f87d50 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaType.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaType.java @@ -45,7 +45,7 @@ class GfmlPragmaType implements GfmlPragma { makr.MakeSubTypeAsOwner( "type", "name", "key"); makr.MakeSubTypeAsOwner( "fld", "name", "default", "type"); makr.AddSubFld(GfmlFld.new_(false, "fld", "_type/type/fld")); - return makr.XtoAry(); + return makr.Xto_bry(); } public static final String CacheLog_key = "log:type"; @gplx.Internal protected static void ExecList(GfmlTypRegy regy, OrderedHash list, ListAdp replaced) { diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaVar.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaVar.java index 1e22f19c9..4c02a2733 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaVar.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaVar.java @@ -41,7 +41,7 @@ class GfmlPragmaVar implements GfmlPragma { public GfmlType[] MakePragmaTypes(GfmlTypeMakr makr) { makr.MakeSubTypeAsOwner (pragmaKey); makr.MakeSubType ( "text", "key", "val", "ctx"); - return makr.XtoAry(); + return makr.Xto_bry(); } void ExecList(HashAdp cache, ListAdp list) { GfmlVarCtx ctx = null; diff --git a/110_gfml/tst/gplx/gfml/yfxts_GfmlParse_fxt.java b/110_gfml/tst/gplx/gfml/yfxts_GfmlParse_fxt.java index ca61bb265..8bb88ab47 100644 --- a/110_gfml/tst/gplx/gfml/yfxts_GfmlParse_fxt.java +++ b/110_gfml/tst/gplx/gfml/yfxts_GfmlParse_fxt.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfml; import gplx.*; class GfmlParse_fxt { public GfmlNde_mok nde_() {return GfmlNde_mok.new_();} - public GfmlTkn_mok tkn_grp_ary_(String... ary) {return GfmlTkn_mok.new_().Subs_(GfmlTkn_mok.XtoAry(ary));} + public GfmlTkn_mok tkn_grp_ary_(String... ary) {return GfmlTkn_mok.new_().Subs_(GfmlTkn_mok.Xto_bry(ary));} public GfmlTkn_mok tkn_grp_(GfmlTkn_mok... ary) {return GfmlTkn_mok.new_().Subs_(ary);} public GfmlTkn_mok tkn_itm_(String r) {return GfmlTkn_mok.new_().Raw_(r);} public void ini_RootLxr_Add(GfmlLxr... ary) {rootLxr.SubLxr_Add(ary);} diff --git a/110_gfml/tst/gplx/gfml/ymoks_GfmlTkn_mok.java b/110_gfml/tst/gplx/gfml/ymoks_GfmlTkn_mok.java index 98e6c671b..1954e3cac 100644 --- a/110_gfml/tst/gplx/gfml/ymoks_GfmlTkn_mok.java +++ b/110_gfml/tst/gplx/gfml/ymoks_GfmlTkn_mok.java @@ -55,7 +55,7 @@ class GfmlTkn_mok { } } } - public static GfmlTkn_mok[] XtoAry(String... ary) { + public static GfmlTkn_mok[] Xto_bry(String... ary) { GfmlTkn_mok[] rv = new GfmlTkn_mok[ary.length]; for (int i = 0; i < rv.length; i++) rv[i] = GfmlTkn_mok.new_().Raw_(ary[i]); diff --git a/110_gfml/tst/gplx/gfml/z091_GfmlLxr_basic_tst.java b/110_gfml/tst/gplx/gfml/z091_GfmlLxr_basic_tst.java index 6730b66a6..f27473a56 100644 --- a/110_gfml/tst/gplx/gfml/z091_GfmlLxr_basic_tst.java +++ b/110_gfml/tst/gplx/gfml/z091_GfmlLxr_basic_tst.java @@ -61,7 +61,7 @@ public class z091_GfmlLxr_basic_tst { if (tkn == GfmlTkn_.EndOfStream) break; list.Add(tkn.Raw()); } - String[] actl = (String[])list.XtoAry(String.class); + String[] actl = (String[])list.Xto_ary(String.class); Tfds.Eq_ary(expd, actl); return tkn; } diff --git a/110_gfml/tst/gplx/gfml/z400_GfmlTypeMakr_tst.java b/110_gfml/tst/gplx/gfml/z400_GfmlTypeMakr_tst.java index e13ceb367..1cbf13c30 100644 --- a/110_gfml/tst/gplx/gfml/z400_GfmlTypeMakr_tst.java +++ b/110_gfml/tst/gplx/gfml/z400_GfmlTypeMakr_tst.java @@ -56,7 +56,7 @@ public class z400_GfmlTypeMakr_tst { Tfds.Eq(expdKey, typeMakr.Owner().Key()); } void tst_XtoAry(GfmlTypeMakr typeMakr, String... expdAry) { - GfmlType[] actlTypeAry = typeMakr.XtoAry(); + GfmlType[] actlTypeAry = typeMakr.Xto_bry(); String[] actlAry = new String[actlTypeAry.length]; for (int i = 0; i < actlAry.length; i++) { actlAry[i] = actlTypeAry[i].Key(); diff --git a/110_gfml/tst/gplx/gfml/z424_types_apply_ndes_nest_tst.java b/110_gfml/tst/gplx/gfml/z424_types_apply_ndes_nest_tst.java index 1b25ab9fc..c9d17403a 100644 --- a/110_gfml/tst/gplx/gfml/z424_types_apply_ndes_nest_tst.java +++ b/110_gfml/tst/gplx/gfml/z424_types_apply_ndes_nest_tst.java @@ -22,7 +22,7 @@ public class z424_types_apply_ndes_nest_tst { GfmlTypeMakr makr = GfmlTypeMakr.new_(); makr.MakeRootType("gfml.item", "item"); makr.MakeSubType("pos", "x", "y"); - fx.Regy().Add_ary(makr.XtoAry()); + fx.Regy().Add_ary(makr.Xto_bry()); } GfmlTypeCompiler_fxt fx = GfmlTypeCompiler_fxt.new_(); @Test public void InvokeByHnd() { fx.tst_Resolve @@ -52,7 +52,7 @@ public class z424_types_apply_ndes_nest_tst { GfmlTypeMakr makr = GfmlTypeMakr.new_(); makr.MakeRootType("font", "size"); makr.MakeSubType("color", "name"); - fx.Regy().Add_ary(makr.XtoAry()); + fx.Regy().Add_ary(makr.Xto_bry()); fx.tst_Resolve ( fx.nde_().Hnd_("color").Atru_("blue") , fx.nde_().Typ_(GfmlType_.AnyKey).Atru_("blue")// confirm that subFlds in other types are not selectable by name; i.e.: must be font/color, not just color diff --git a/140_dbs/.classpath b/140_dbs/.classpath index cf653f977..8d056becb 100644 --- a/140_dbs/.classpath +++ b/140_dbs/.classpath @@ -16,6 +16,6 @@ - + diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_stmt_sql.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_stmt_sql.java index 4adb4eabd..fef18b790 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_stmt_sql.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_stmt_sql.java @@ -65,7 +65,7 @@ class Db_stmt_sql implements Db_stmt { try { Bry_bfr bfr = Bry_bfr.new_(); gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v); - Add(++val_idx, bfr.XtoStrAndClear()); + Add(++val_idx, bfr.Xto_str_and_clear()); } catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "rdr", v);} return this; } @@ -99,8 +99,8 @@ class Db_stmt_sql implements Db_stmt { public void Add(String v) {Add(-1, v);} public void Add(int idx, String v) {args.Add(v);} ListAdp args = ListAdp_.new_(); public String Xto_sql() { - tmp_fmtr.Bld_bfr_many(tmp_bfr, (Object[])args.XtoAryAndClear(Object.class)); - return tmp_bfr.XtoStrAndClear(); + tmp_fmtr.Bld_bfr_many(tmp_bfr, (Object[])args.Xto_ary_and_clear(Object.class)); + return tmp_bfr.Xto_str_and_clear(); } String sql_orig; public Db_stmt Parse(String sql_str) { @@ -119,7 +119,7 @@ class Db_stmt_sql implements Db_stmt { pos_prv = pos_cur + 1; } tmp_bfr.Add_mid(src, pos_prv, src.length); - tmp_fmtr.Fmt_(tmp_bfr.XtoAryAndClear()); + tmp_fmtr.Fmt_(tmp_bfr.Xto_bry_and_clear()); return this; } } diff --git a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java index 989633d1c..589b5ae1e 100644 --- a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java +++ b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java @@ -33,10 +33,10 @@ class Db_obj_ary_fxt { public Db_obj_ary_fxt Test_sql(String expd) { Sql_cmd_wtr_ansi cmd_wtr = (Sql_cmd_wtr_ansi)Sql_cmd_wtr_ansi_.default_(); String_bldr sb = String_bldr_.new_(); - crt.Flds_((Db_fld[])flds_list.XtoAryAndClear(Db_fld.class)); - crt.Vals_((Object[][])vals_list.XtoAryAndClear(Object[].class)); + crt.Flds_((Db_fld[])flds_list.Xto_ary_and_clear(Db_fld.class)); + crt.Vals_((Object[][])vals_list.Xto_ary_and_clear(Object[].class)); cmd_wtr.Append_db_obj_ary(sb, crt); - Tfds.Eq(expd, sb.XtoStrAndClear()); + Tfds.Eq(expd, sb.Xto_str_and_clear()); return this; } } diff --git a/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java b/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java index ebe819572..9815f7a77 100644 --- a/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java +++ b/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java @@ -28,7 +28,7 @@ class TdbSelectWkr implements Db_qryWkr { if (cmd.GroupBy() != null) rv = TdbGroupByWkr.GroupByExec(cmd, rv, tbl); if (cmd.OrderBy() != null) { // don't use null pattern here; if null ORDER BY, then don't call .Sort on GfoNdeList - ComparerAble comparer = Sql_order_by_sorter.new_((Sql_order_by_itm[])cmd.OrderBy().Flds().XtoAry(Sql_order_by_itm.class)); + ComparerAble comparer = Sql_order_by_sorter.new_((Sql_order_by_itm[])cmd.OrderBy().Flds().Xto_ary(Sql_order_by_itm.class)); rv.SortBy(comparer); } return GfoNdeRdr_.peers_(rv, false); diff --git a/150_gfui/.classpath b/150_gfui/.classpath index 4734e2bb1..bd1efe2b3 100644 --- a/150_gfui/.classpath +++ b/150_gfui/.classpath @@ -15,10 +15,10 @@ - + diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java b/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java index 42f03d35c..375202a80 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java @@ -54,7 +54,7 @@ public class IptKey_ { IptKeyStrMgr._.XtoIptKeyAry(list); for (IptKey key : del) list.Del(key); - return (IptKey[])list.XtoAry(IptKey.class); + return (IptKey[])list.Xto_ary(IptKey.class); } static IptKey getOrNew_(int val) { IptKey rv = (IptKey)enmMgr.Get(val); diff --git a/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java b/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java index c7fa1fd0a..2d63fba01 100644 --- a/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java +++ b/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java @@ -51,7 +51,7 @@ class GftGrid_fx { public GftGrid_fx ini_Set(int idx, GftBand orig) {return ini_Set(idx, idx, orig);} public GftGrid_fx ini_Set(int bgn, int end, GftBand orig) {curGrid.Bands_set(bgn, end, orig); return this;} public GftGrid_fx run() { - GftItem[] ary = (GftItem[])itms.XtoAry(GftItem.class); + GftItem[] ary = (GftItem[])itms.Xto_ary(GftItem.class); grid.Exec(owner, ary); return this; } diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java b/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java index 64e6ef27f..807946e8e 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java @@ -215,7 +215,7 @@ class GxwTextHtml_editor extends JEditorPane implements GxwTextHtml { Element elm = Html_sel_elm(); if (elm == null) return KeyVal_.Ary_empty; ListAdp sel_atrs_list = ListAdp_.new_(); Html_sel_atrs(elm.getAttributes(), sel_atrs_list, null, "."); - return (KeyVal[])sel_atrs_list.XtoAry(KeyVal.class); + return (KeyVal[])sel_atrs_list.Xto_ary(KeyVal.class); } @Override public void processKeyEvent(KeyEvent e) { diff --git a/150_gfui/src_300_gxw/gplx/gfui/Gxw_html.java b/150_gfui/src_300_gxw/gplx/gfui/Gxw_html.java index c0746ece7..829c717e0 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/Gxw_html.java +++ b/150_gfui/src_300_gxw/gplx/gfui/Gxw_html.java @@ -24,6 +24,7 @@ public interface Gxw_html extends GxwElem { String Html_doc_selected_get_text_or_href(); String Html_doc_selected_get_href_or_text(); String Html_doc_selected_get_src_or_empty(); + String Html_doc_selected_get_active_or_selection(); // gets selected anchor or highlighted text for opening a new page boolean Html_doc_find(String id, String find, boolean dir_fwd, boolean case_match, boolean wrap_find); void Html_doc_body_focus(); void Html_doc_selection_focus_toggle(); diff --git a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html.java b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html.java index dcea68c46..0f1b91102 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html.java @@ -26,6 +26,7 @@ public class Gfui_html extends GfuiElemBase { public String Html_doc_selected_get_text_or_href() {return under.Html_doc_selected_get_text_or_href();} public String Html_doc_selected_get_href_or_text() {return under.Html_doc_selected_get_href_or_text();} public String Html_doc_selected_get_src_or_empty() {return under.Html_doc_selected_get_src_or_empty();} + public String Html_doc_selected_get_active_or_selection() {return under.Html_doc_selected_get_active_or_selection();} public boolean Html_doc_find(String elem_id, String find, boolean dir_fwd, boolean case_match, boolean wrap_find) {return under.Html_doc_find(elem_id, find, dir_fwd, case_match, wrap_find);} public void Html_doc_body_focus() {under.Html_doc_body_focus();} public void Html_doc_selection_focus_toggle() {under.Html_doc_selection_focus_toggle();} diff --git a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java index 75b157937..97c50eb47 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java @@ -23,6 +23,7 @@ public class Gfui_html_cfg implements GfoInvkAble { public String Doc_selected_get_text_or_href() {return Exec_fmt(fmtr_doc_selected_get_text_or_href);} private Bry_fmtr fmtr_doc_selected_get_text_or_href = Bry_fmtr.keys_(); public String Doc_selected_get_href_or_text() {return Exec_fmt(fmtr_doc_selected_get_href_or_text);} private Bry_fmtr fmtr_doc_selected_get_href_or_text = Bry_fmtr.keys_(); public String Doc_selected_get_src_or_empty() {return Exec_fmt(fmtr_doc_selected_get_src_or_empty);} private Bry_fmtr fmtr_doc_selected_get_src_or_empty = Bry_fmtr.keys_(); + public String Doc_selected_get_active_or_selection() {return Exec_fmt(fmtr_doc_selected_get_active_or_selection);} private Bry_fmtr fmtr_doc_selected_get_active_or_selection = Bry_fmtr.keys_(); public String Doc_find_html(String find, boolean dir_fwd, boolean case_match, boolean wrap_find, boolean search_text_is_diff, int prv_find_bgn) { return Exec_fmt(fmtr_doc_find_html, find, Bool_.Xto_str_lower(dir_fwd), Bool_.Xto_str_lower(case_match), Bool_.Xto_str_lower(wrap_find), Bool_.Xto_str_lower(search_text_is_diff), Int_.Xto_str(prv_find_bgn)); } private Bry_fmtr fmtr_doc_find_html = Bry_fmtr.keys_("find_text", "dir_fwd", "case_match", "wrap_find", "find_text_is_diff", "prv_find_bgn"); @@ -62,30 +63,31 @@ public class Gfui_html_cfg implements GfoInvkAble { return rv; } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_doc_html_)) fmtr_doc_html.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_body_focus_)) fmtr_doc_body_focus.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_selection_focus_toggle_)) fmtr_doc_selection_focus_toggle.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_selected_get_text_or_href_)) fmtr_doc_selected_get_text_or_href.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_selected_get_href_or_text_)) fmtr_doc_selected_get_href_or_text.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_selected_get_src_or_empty_)) fmtr_doc_selected_get_src_or_empty.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_find_html_)) fmtr_doc_find_html.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_find_edit_)) fmtr_doc_find_edit.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_atr_get_)) fmtr_elem_atr_get.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_atr_get_toString_)) fmtr_elem_atr_get_toString.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_atr_set_)) fmtr_elem_atr_set.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_atr_set_append_)) fmtr_elem_atr_set_append.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_delete_)) fmtr_elem_delete.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_replace_html_)) fmtr_elem_replace_html.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_gallery_packed_exec_)) fmtr_gallery_packed_exec.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_focus_)) fmtr_elem_focus.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_scroll_into_view_)) fmtr_elem_scroll_into_view.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_img_update_)) fmtr_elem_img_update.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_path_get_)) fmtr_window_vpos.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_win_print_preview_)) fmtr_window_print_preview.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_elem_path_set_)) fmtr_window_vpos_.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_doc_active_atr_get_)) fmtr_active_atr_get.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_js_scripts_add)) Js_scripts_add(m.ReadStr("name"), m.ReadStr("text")); - else if (ctx.Match(k, Invk_debug_file_)) debug_file = m.ReadIoUrl("v"); + if (ctx.Match(k, Invk_doc_html_)) fmtr_doc_html.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_body_focus_)) fmtr_doc_body_focus.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_selection_focus_toggle_)) fmtr_doc_selection_focus_toggle.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_selected_get_text_or_href_)) fmtr_doc_selected_get_text_or_href.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_selected_get_href_or_text_)) fmtr_doc_selected_get_href_or_text.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_selected_get_src_or_empty_)) fmtr_doc_selected_get_src_or_empty.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_selected_get_active_or_selection_)) fmtr_doc_selected_get_active_or_selection.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_find_html_)) fmtr_doc_find_html.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_find_edit_)) fmtr_doc_find_edit.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_atr_get_)) fmtr_elem_atr_get.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_atr_get_toString_)) fmtr_elem_atr_get_toString.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_atr_set_)) fmtr_elem_atr_set.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_atr_set_append_)) fmtr_elem_atr_set_append.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_delete_)) fmtr_elem_delete.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_replace_html_)) fmtr_elem_replace_html.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_gallery_packed_exec_)) fmtr_gallery_packed_exec.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_focus_)) fmtr_elem_focus.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_scroll_into_view_)) fmtr_elem_scroll_into_view.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_img_update_)) fmtr_elem_img_update.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_path_get_)) fmtr_window_vpos.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_win_print_preview_)) fmtr_window_print_preview.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_elem_path_set_)) fmtr_window_vpos_.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_doc_active_atr_get_)) fmtr_active_atr_get.Fmt_(m.ReadBry("v")); + else if (ctx.Match(k, Invk_js_scripts_add)) Js_scripts_add(m.ReadStr("name"), m.ReadStr("text")); + else if (ctx.Match(k, Invk_debug_file_)) debug_file = m.ReadIoUrl("v"); else return GfoInvkAble_.Rv_unhandled; return this; } @@ -99,7 +101,7 @@ public class Gfui_html_cfg implements GfoInvkAble { public static final String Invk_debug_file_ = "debug_file_" , Invk_doc_html_ = "doc_html_", Invk_doc_body_focus_ = "doc_body_focus_", Invk_doc_selection_focus_toggle_ = "doc_selection_focus_toggle_" , Invk_doc_active_atr_get_ = "doc_active_atr_get_", Invk_doc_find_html_ = "doc_find_html_", Invk_doc_find_edit_ = "doc_find_edit_" - , Invk_doc_selected_get_text_or_href_ = "doc_selected_get_text_or_href_", Invk_doc_selected_get_href_or_text_ = "doc_selected_get_href_or_text_", Invk_doc_selected_get_src_or_empty_ = "doc_selected_get_src_or_empty_" + , Invk_doc_selected_get_text_or_href_ = "doc_selected_get_text_or_href_", Invk_doc_selected_get_href_or_text_ = "doc_selected_get_href_or_text_", Invk_doc_selected_get_src_or_empty_ = "doc_selected_get_src_or_empty_", Invk_doc_selected_get_active_or_selection_ = "doc_selected_get_active_or_selection_" , Invk_win_print_preview_ = "win_print_preview_" , Invk_elem_atr_get_ = "elem_atr_get_", Invk_elem_atr_get_toString_ = "elem_atr_get_toString_", Invk_elem_atr_set_ = "elem_atr_set_", Invk_elem_atr_set_append_ = "elem_atr_set_append_" , Invk_elem_path_get_ = "elem_path_get_", Invk_elem_path_set_ = "elem_path_set_" diff --git a/150_gfui/src_700_env/gplx/gfui/Mem_html.java b/150_gfui/src_700_env/gplx/gfui/Mem_html.java index 8e551d04c..94d5d3118 100644 --- a/150_gfui/src_700_env/gplx/gfui/Mem_html.java +++ b/150_gfui/src_700_env/gplx/gfui/Mem_html.java @@ -24,6 +24,7 @@ class Mem_html extends GxwTextMemo_lang implements Gxw_html { public String Htm public String Html_doc_selected_get_text_or_href() {return "";} public String Html_doc_selected_get_href_or_text() {return "";} public String Html_doc_selected_get_src_or_empty() {return "";} + public String Html_doc_selected_get_active_or_selection() {return "";} public boolean Html_window_print_preview() {return false;} public void Html_invk_src_(GfoEvObj v) {} public String Html_elem_atr_get_str(String elem_id, String atr_key) { diff --git a/150_gfui/xtn/gplx/gfui/Swt_html.java b/150_gfui/xtn/gplx/gfui/Swt_html.java index 05d5524a3..87c198100 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_html.java +++ b/150_gfui/xtn/gplx/gfui/Swt_html.java @@ -64,6 +64,7 @@ class Swt_html implements Gxw_html, Swt_control, FocusListener { public String Html_doc_selected_get_text_or_href() {return Eval_script_as_str(kit.Html_cfg().Doc_selected_get_text_or_href());} public String Html_doc_selected_get_href_or_text() {return Eval_script_as_str(kit.Html_cfg().Doc_selected_get_href_or_text());} public String Html_doc_selected_get_src_or_empty() {return Eval_script_as_str(kit.Html_cfg().Doc_selected_get_src_or_empty());} + public String Html_doc_selected_get_active_or_selection() {return Eval_script_as_str(kit.Html_cfg().Doc_selected_get_active_or_selection());} public void Html_doc_body_focus() {Eval_script_as_exec(kit.Html_cfg().Doc_body_focus());} public void Html_doc_selection_focus_toggle() {Eval_script_as_exec(kit.Html_cfg().Doc_selection_focus_toggle());} public String Html_elem_atr_get_str(String elem_id, String atr_key) {return Eval_script_as_str(kit.Html_cfg().Elem_atr_get(elem_id, atr_key));} diff --git a/400_xowa/.classpath b/400_xowa/.classpath index 008e709d5..70444e82f 100644 --- a/400_xowa/.classpath +++ b/400_xowa/.classpath @@ -19,8 +19,6 @@ - - @@ -30,6 +28,6 @@ - + diff --git a/400_xowa/src/gplx/core/brys/Bry_comparer.java b/400_xowa/src/gplx/core/brys/Bry_comparer.java index 7373319e5..83a9c574a 100644 --- a/400_xowa/src/gplx/core/brys/Bry_comparer.java +++ b/400_xowa/src/gplx/core/brys/Bry_comparer.java @@ -22,22 +22,5 @@ public class Bry_comparer implements ComparerAble { byte[] lhs = (byte[])lhsObj, rhs = (byte[])rhsObj; return Bry_.Compare(lhs, 0, lhs.length, rhs, 0, rhs.length); } -// public static int Compare(byte[] lhs, byte[] rhs, int lhs_bgn, int lhs_end, int rhs_bgn, int rhs_end) { -// int lhs_len = lhs_end - lhs_bgn; -// for (int i = 0; i < lhs_len; i++) { -// int lhs_byte = lhs[i + lhs_bgn] & 0xff; // PATCH.JAVA:need to convert to unsigned byte -// int rhs_idx = i + rhs_bgn; if (rhs_idx == rhs_end) return CompareAble_.More; -// int rhs_byte = rhs[rhs_idx] & 0xff; // PATCH.JAVA:need to convert to unsigned byte -// if (lhs_byte == rhs_byte) { -// if (lhs_byte == Byte_ascii.Pipe) return CompareAble_.Same; -// } -// else { -// if (rhs_byte == Byte_ascii.Pipe) return CompareAble_.More; -// else if (lhs_byte == Byte_ascii.Pipe) return CompareAble_.Less; -// else return lhs_byte < rhs_byte ? CompareAble_.Less : CompareAble_.More; -// } -// } -// return Int_.Compare(lhs_len, rhs_end - rhs_bgn); -// } public static final Bry_comparer _ = new Bry_comparer(); Bry_comparer() {} } diff --git a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java index 2b1e01595..0c1284b24 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java @@ -106,7 +106,7 @@ public class Btrie_fast_mgr { pos = match_pos; } } - return dirty ? tmp_bfr.XtoAryAndClear() : src; + return dirty ? tmp_bfr.Xto_bry_and_clear() : src; } public static Btrie_fast_mgr cs_() {return new Btrie_fast_mgr(false);} public static Btrie_fast_mgr ci_ascii_() {return new Btrie_fast_mgr(true);} diff --git a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java index 254963317..e2f9e16eb 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java @@ -116,7 +116,7 @@ public class Btrie_slim_mgr implements Btrie_mgr { pos = match_pos; } } - return dirty ? tmp_bfr.XtoAryAndClear() : src; + return dirty ? tmp_bfr.Xto_bry_and_clear() : src; } public void Clear() {root.Clear(); count = 0;} public static Btrie_slim_mgr cs_() {return new Btrie_slim_mgr(true);} diff --git a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java index f17c22501..f2c43ef36 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java @@ -80,8 +80,8 @@ public class Gfo_fld_rdr extends Gfo_fld_base { } throw Err_.new_("fld_dlm failed").Add("fld_dlm", (char)fld_dlm).Add("bgn", fld_bgn); } - public String Read_str_escape() {Move_next_escaped(bfr); return String_.new_utf8_(bfr.XtoAryAndClear());} - public byte[] Read_bry_escape() {Move_next_escaped(bfr); return bfr.XtoAryAndClear();} + public String Read_str_escape() {Move_next_escaped(bfr); return String_.new_utf8_(bfr.Xto_bry_and_clear());} + public byte[] Read_bry_escape() {Move_next_escaped(bfr); return bfr.Xto_bry_and_clear();} public void Move_1() {++pos;} public void Move_next_escaped() {Move_next_escaped(bfr); bfr.Clear();} public int Move_next_simple_fld() { diff --git a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr_tst.java b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr_tst.java index 6163e7861..f8f10485f 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr_tst.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr_tst.java @@ -50,7 +50,7 @@ class Gfo_fld_rdr_fxt { byte[] bry = Bry_.new_utf8_(val); wtr.Bfr_(bfr); wtr.Write_bry_escape_fld(bry); - Tfds.Eq(expd, bfr.XtoStr()); + Tfds.Eq(expd, bfr.Xto_str()); return this; } private Bry_bfr bfr = Bry_bfr.new_(); } diff --git a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java index fa3f439f3..2e90b2071 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java @@ -46,6 +46,6 @@ public class Gfo_pattern_itm_ { ++pos; if (last) break; } - return (Gfo_pattern_itm[])rv.XtoAryAndClear(Gfo_pattern_itm.class); + return (Gfo_pattern_itm[])rv.Xto_ary_and_clear(Gfo_pattern_itm.class); } } diff --git a/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java b/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java index bb68e689e..8da850f68 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java @@ -78,6 +78,6 @@ class Gfo_pattern_itm_fxt { Gfo_pattern_itm itm = ary[i]; itm.Xto_str(sb); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java index 177c8523d..35bd2c65f 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java @@ -30,7 +30,7 @@ public class Fsdb_db_atr_tbl { rv.Add(itm); } } finally {rdr.Rls();} - return (Fsdb_db_atr_fil[])rv.XtoAry(Fsdb_db_atr_fil.class); + return (Fsdb_db_atr_fil[])rv.Xto_ary(Fsdb_db_atr_fil.class); } public static void Commit_all(Db_provider provider, Fsdb_db_atr_fil[] ary) { stmt_bldr.Init(provider); diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java index 862ca34da..9857306af 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java @@ -50,7 +50,7 @@ public class Fsdb_db_bin_tbl { rv.Add(itm); } } finally {rdr.Rls();} - return (Fsdb_db_bin_fil[])rv.XtoAry(Fsdb_db_bin_fil.class); + return (Fsdb_db_bin_fil[])rv.Xto_ary(Fsdb_db_bin_fil.class); } public static final String Tbl_name = "fsdb_db_bin", Fld_uid = "uid", Fld_url = "url", Fld_bin_len = "bin_len", Fld_bin_max = "bin_max"; private static final String Tbl_sql = String_.Concat_lines_nl diff --git a/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java index 652d07bd2..5ad185cd3 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java @@ -54,7 +54,7 @@ public class Fsdb_mnt_tbl { } } finally {rdr.Rls();} - return (Fsdb_mnt_itm[])list.XtoAryAndClear(Fsdb_mnt_itm.class); + return (Fsdb_mnt_itm[])list.Xto_ary_and_clear(Fsdb_mnt_itm.class); } public static final String Tbl_name = "fsdb_mnt", Fld_mnt_id = "mnt_id", Fld_mnt_name = "mnt_name", Fld_mnt_url = "mnt_url"; private static final String Tbl_sql = String_.Concat_lines_nl diff --git a/400_xowa/src/gplx/gfs/Gfs_lxr.java b/400_xowa/src/gplx/gfs/Gfs_lxr.java index 8200be759..c46ec27ac 100644 --- a/400_xowa/src/gplx/gfs/Gfs_lxr.java +++ b/400_xowa/src/gplx/gfs/Gfs_lxr.java @@ -167,7 +167,7 @@ class Gfs_lxr_quote implements Gfs_lxr { break; } } - ctx.Make_atr_by_bry(lxr_bgn + bgn_bry_len, end_pos, bfr.XtoAryAndClear()); + ctx.Make_atr_by_bry(lxr_bgn + bgn_bry_len, end_pos, bfr.Xto_bry_and_clear()); } else ctx.Make_atr(lxr_bgn + bgn_bry_len, end_pos); diff --git a/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java b/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java index 9ec4ff8d6..0e3c8d540 100644 --- a/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java @@ -71,6 +71,6 @@ class Gfs_msg_bldr_fxt { if (i != 0) sb.Add_char_crlf(); sb.Add(ary[i].XtoStr()); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java index 438ecfb10..0978a37df 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java @@ -97,7 +97,7 @@ class Gfs_err_mgr { tmp_fail_bfr.Add_byte(Byte_ascii.Eq).Add_byte(Byte_ascii.Apos); tmp_fail_bfr.Add_str(kv.Val_to_str_or_empty()).Add_byte(Byte_ascii.Apos); } - return tmp_fail_bfr.XtoStrAndClear(); + return tmp_fail_bfr.Xto_str_and_clear(); } Bry_bfr tmp_fail_bfr = Bry_bfr.reset_(255); KeyValList tmp_fail_args = new KeyValList(); @@ -105,12 +105,12 @@ class Gfs_err_mgr { String Fail_excerpt_bgn(byte[] src, int src_len, int pos) { int bgn = pos - excerpt_len; if (bgn < 0) bgn = 0; Fail_excerpt_rng(tmp_fail_bfr, src, bgn, pos); - return tmp_fail_bfr.XtoStrAndClear(); + return tmp_fail_bfr.Xto_str_and_clear(); } String Fail_excerpt_end(byte[] src, int src_len, int pos) { int end = pos + excerpt_len; if (end > src_len) end = src_len; Fail_excerpt_rng(tmp_fail_bfr, src, pos, end); - return tmp_fail_bfr.XtoStrAndClear(); + return tmp_fail_bfr.Xto_str_and_clear(); } private static void Fail_excerpt_rng(Bry_bfr bfr, byte[] src, int bgn, int end) { for (int i = bgn; i < end; i++) { diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java index 116dd9081..b1fe44670 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java @@ -159,7 +159,7 @@ class Gfs_parser_fxt { path_bfr.Clear().Add_int_variable(i); To_str(tmp_bfr, path_bfr, src, expd[i]); } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } public void To_str(Bry_bfr bfr, Bry_bfr path, byte[] src, Gfs_nde nde) { To_str_atr(bfr, path, src, Atr_name, nde.Name(), nde.Name_bgn(), nde.Name_end()); diff --git a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java index 92aed2b44..fadd92730 100644 --- a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java +++ b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java @@ -88,7 +88,7 @@ public class Gfui_bnd_parser { Gfui_bnd_tkn tkn = (Gfui_bnd_tkn)tkns.FetchAt(i); tkn.Write(tmp_bfr, !src_is_gfui); } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } private void Process_sym(boolean src_is_gfui, Gfui_bnd_tkn sym_tkn, int itm_bgn, int itm_end) { Hash_adp_bry regy = src_is_gfui ? gfui_regy : norm_regy; diff --git a/400_xowa/src/gplx/html/Html_nde.java b/400_xowa/src/gplx/html/Html_nde.java index d729db6bf..0201d744c 100644 --- a/400_xowa/src/gplx/html/Html_nde.java +++ b/400_xowa/src/gplx/html/Html_nde.java @@ -77,7 +77,7 @@ public class Html_nde { break; } } - return dirty ? tmp_bfr.XtoAryAndClear() : Bry_.Mid(src, bgn, end); + return dirty ? tmp_bfr.Xto_bry_and_clear() : Bry_.Mid(src, bgn, end); } public byte[] Data(byte[] src) { return Bry_.Mid(src, tag_lhs_end, tag_rhs_bgn); diff --git a/400_xowa/src/gplx/html/Html_parser.java b/400_xowa/src/gplx/html/Html_parser.java index 7d431c66a..5a8e4b76e 100644 --- a/400_xowa/src/gplx/html/Html_parser.java +++ b/400_xowa/src/gplx/html/Html_parser.java @@ -53,7 +53,7 @@ public class Html_parser { break; } } - return (Html_nde[])rv.XtoAry(Html_nde.class); + return (Html_nde[])rv.Xto_ary(Html_nde.class); } int cur_lhs_bgn, cur_lhs_end, cur_name_bgn, cur_name_end, cur_rhs_bgn; boolean xnde_init = true, tag_tid_is_inline = false; private boolean Parse_xnde_rhs() { diff --git a/400_xowa/src/gplx/html/Html_selecter.java b/400_xowa/src/gplx/html/Html_selecter.java index 810dd1cb7..da6c464a7 100644 --- a/400_xowa/src/gplx/html/Html_selecter.java +++ b/400_xowa/src/gplx/html/Html_selecter.java @@ -33,7 +33,7 @@ public class Html_selecter { } } } - Html_nde[] rv = (Html_nde[])list.XtoAry(Html_nde.class); + Html_nde[] rv = (Html_nde[])list.Xto_ary(Html_nde.class); list.Clear(); return rv; } diff --git a/400_xowa/src/gplx/html/Html_utl.java b/400_xowa/src/gplx/html/Html_utl.java index 812a70a92..38d2df616 100644 --- a/400_xowa/src/gplx/html/Html_utl.java +++ b/400_xowa/src/gplx/html/Html_utl.java @@ -25,7 +25,7 @@ public class Html_utl { public static byte[] Escape_for_atr_val_as_bry(Bry_bfr tmp_bfr, byte quote_byte, byte[] bry) { if (bry == null) return null; boolean dirty = Escape_for_atr_val_as_bry(tmp_bfr, quote_byte, bry, 0, bry.length); - return dirty ? tmp_bfr.XtoAryAndClear() : bry; + return dirty ? tmp_bfr.Xto_bry_and_clear() : bry; } public static boolean Escape_for_atr_val_as_bry(Bry_bfr tmp_bfr, byte quote_byte, byte[] src, int bgn, int end) { boolean dirty = false; @@ -92,7 +92,7 @@ public class Html_utl { if (write_to_bfr) return null; else - return dirty ? bfr.XtoAryAndClear() : bry; + return dirty ? bfr.Xto_bry_and_clear() : bry; } private static final Btrie_slim_mgr unescape_trie = Btrie_slim_mgr.ci_ascii_() @@ -106,7 +106,7 @@ public class Html_utl { Bry_bfr bfr = Bry_bfr.reset_(255); byte[] bry = Bry_.new_utf8_(src); Unescape(Bool_.Y, bfr, bry, 0, bry.length, Bool_.Y, Bool_.Y, Bool_.Y, Bool_.Y, Bool_.Y); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public static byte[] Unescape(boolean write_to_bfr, Bry_bfr bfr, byte[] bry, int bgn, int end, boolean escape_lt, boolean escape_gt, boolean escape_amp, boolean escape_quote, boolean escape_apos) { if (bry == null) return null; @@ -148,7 +148,7 @@ public class Html_utl { if (write_to_bfr) return null; else - return dirty ? bfr.XtoAryAndClear() : bry; + return dirty ? bfr.Xto_bry_and_clear() : bry; } public static byte[] Del_comments(Bry_bfr bfr, byte[] src) {return Del_comments(bfr, src, 0, src.length);} public static byte[] Del_comments(Bry_bfr bfr, byte[] src, int pos, int end) { @@ -167,6 +167,6 @@ public class Html_utl { bfr.Add_mid(src, pos, comm_bgn); // add everything between pos and comm_bgn pos = comm_end + Html_tag_.Comm_end_len; // reposition pos after comm_end } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } diff --git a/400_xowa/src/gplx/html/Html_wtr.java b/400_xowa/src/gplx/html/Html_wtr.java index bbe1d26c2..73d8f8a0e 100644 --- a/400_xowa/src/gplx/html/Html_wtr.java +++ b/400_xowa/src/gplx/html/Html_wtr.java @@ -82,9 +82,9 @@ public class Html_wtr { bfr.Add_byte(Byte_ascii.Gt); return this; } - public byte[] Xto_bry_and_clear() {return bfr.XtoAryAndClear();} - public byte[] Xto_bry() {return bfr.XtoAry();} - public String Xto_str() {return bfr.XtoStr();} + public byte[] Xto_bry_and_clear() {return bfr.Xto_bry_and_clear();} + public byte[] Xto_bry() {return bfr.Xto_bry();} + public String Xto_str() {return bfr.Xto_str();} public static void Write_atr_bry(Bry_bfr bfr, byte[] key, byte[] val) {Write_atr_bry(bfr, Bool_.Y, Byte_ascii.Quote, key, val);} public static void Write_atr_bry(Bry_bfr bfr, boolean write_space, byte atr_quote, byte[] key, byte[] val) { if (Bry_.Len_eq_0(val)) return; // don't write empty diff --git a/400_xowa/src/gplx/json/Json_doc_srl.java b/400_xowa/src/gplx/json/Json_doc_srl.java index 88b5fe48a..6f4c31cf7 100644 --- a/400_xowa/src/gplx/json/Json_doc_srl.java +++ b/400_xowa/src/gplx/json/Json_doc_srl.java @@ -20,8 +20,8 @@ public class Json_doc_srl { private int indent = -1; private Bry_bfr bfr = Bry_bfr.reset_(255); public boolean Ws_enabled() {return ws_enabled;} public void Ws_enabled_(boolean v) {ws_enabled = v;} private boolean ws_enabled = false; - public byte[] Bld() {return bfr.XtoAryAndClear();} - public String Bld_as_str() {return bfr.XtoStrAndClear();} + public byte[] Bld() {return bfr.Xto_bry_and_clear();} + public String Bld_as_str() {return bfr.Xto_str_and_clear();} public Json_doc_srl Write_root(byte[] key, Object val) { Write_nde_bgn(); Write_obj(false, key, val); diff --git a/400_xowa/src/gplx/json/Json_doc_wtr.java b/400_xowa/src/gplx/json/Json_doc_wtr.java index fc06091c5..e13f7c852 100644 --- a/400_xowa/src/gplx/json/Json_doc_wtr.java +++ b/400_xowa/src/gplx/json/Json_doc_wtr.java @@ -93,6 +93,6 @@ public class Json_doc_wtr { bfr.Add_byte(Byte_ascii.Colon); return this; } - public byte[] Bld() {return bfr.XtoAryAndClear();} - public String Bld_as_str() {return bfr.XtoStrAndClear();} + public byte[] Bld() {return bfr.Xto_bry_and_clear();} + public String Bld_as_str() {return bfr.Xto_str_and_clear();} } diff --git a/400_xowa/src/gplx/json/Json_itm.java b/400_xowa/src/gplx/json/Json_itm.java index 7d27490c2..6d00764f0 100644 --- a/400_xowa/src/gplx/json/Json_itm.java +++ b/400_xowa/src/gplx/json/Json_itm.java @@ -111,6 +111,6 @@ class Json_itm_str extends Json_itm_base { break; } } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } diff --git a/400_xowa/src/gplx/json/Json_itm_base.java b/400_xowa/src/gplx/json/Json_itm_base.java index bdb526ff3..e7f36bf8a 100644 --- a/400_xowa/src/gplx/json/Json_itm_base.java +++ b/400_xowa/src/gplx/json/Json_itm_base.java @@ -23,7 +23,7 @@ public abstract class Json_itm_base implements Json_itm { public int Src_end() {return src_end;} protected int src_end; public abstract Object Data(); public abstract byte[] Data_bry(); - public String Print_as_json() {Bry_bfr bfr = Bry_bfr.new_(); Print_as_json(bfr, 0); return bfr.XtoStrAndClear();} + public String Print_as_json() {Bry_bfr bfr = Bry_bfr.new_(); Print_as_json(bfr, 0); return bfr.Xto_str_and_clear();} public abstract void Print_as_json(Bry_bfr bfr, int depth); @gplx.Virtual public boolean Data_eq(byte[] comp) {return false;} } diff --git a/400_xowa/src/gplx/json/Json_parser_tst.java b/400_xowa/src/gplx/json/Json_parser_tst.java index 51acc62c8..4bef9f18f 100644 --- a/400_xowa/src/gplx/json/Json_parser_tst.java +++ b/400_xowa/src/gplx/json/Json_parser_tst.java @@ -78,7 +78,7 @@ class Json_parser_fxt { byte[] raw = Json_parser_tst.Replace_apos(Bry_.new_utf8_(raw_str)); Json_doc doc = parser.Parse(raw); doc.Root().Print_as_json(tmp_bfr, 0); - String actl = tmp_bfr.XtoStrAndClear(); + String actl = tmp_bfr.Xto_str_and_clear(); String expd = Xto_str(raw, doc, expd_ary, 0, expd_ary.length); Tfds.Eq_str_lines(expd, actl, actl); } @@ -94,6 +94,6 @@ class Json_parser_fxt { Json_itm itm = ary[i]; itm.Print_as_json(tmp_bfr, 0); } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/php/Php_parser.java b/400_xowa/src/gplx/php/Php_parser.java index 5e6ea9542..5479dd5e6 100644 --- a/400_xowa/src/gplx/php/Php_parser.java +++ b/400_xowa/src/gplx/php/Php_parser.java @@ -49,7 +49,7 @@ public class Php_parser { Init_lxr(list, new Php_lxr_num()); Init_lxr(list, new Php_lxr_quote(Byte_ascii.Apos)); Init_lxr(list, new Php_lxr_quote(Byte_ascii.Quote)); - lxrs = (Php_lxr[])list.XtoAry(Php_lxr.class); + lxrs = (Php_lxr[])list.Xto_ary(Php_lxr.class); lxrs_len = list.Count(); } private void Init_lxr(ListAdp list, Php_lxr lxr) { diff --git a/400_xowa/src/gplx/php/Php_parser_tst.java b/400_xowa/src/gplx/php/Php_parser_tst.java index 70da36462..0bd3fc024 100644 --- a/400_xowa/src/gplx/php/Php_parser_tst.java +++ b/400_xowa/src/gplx/php/Php_parser_tst.java @@ -163,7 +163,7 @@ class Php_parser_fxt { public void tst_tkns(String raw, Php_tkn_chkr_base... expd) { byte[] raw_bry = Bry_.new_utf8_(raw); parser.Parse_tkns(raw_bry, tkn_wkr); - Php_tkn[] actl = (Php_tkn[])tkn_wkr.List().XtoAry(Php_tkn.class); + Php_tkn[] actl = (Php_tkn[])tkn_wkr.List().Xto_ary(Php_tkn.class); tst_mgr.Vars().Clear().Add("raw_bry", raw_bry); tst_mgr.Tst_ary("", expd, actl); log_mgr_chkr.tst(tst_mgr, tkn_wkr.Msg_log()); @@ -171,7 +171,7 @@ class Php_parser_fxt { public void tst_lines(String raw, Php_line_assign_chkr... expd) { byte[] raw_bry = Bry_.new_utf8_(raw); parser.Parse_tkns(raw_bry, line_wkr); - Php_line[] actl = (Php_line[])line_wkr.List().XtoAry(Php_line.class); + Php_line[] actl = (Php_line[])line_wkr.List().Xto_ary(Php_line.class); tst_mgr.Vars().Clear().Add("raw_bry", raw_bry); tst_mgr.Tst_ary("", expd, actl); log_mgr_chkr.tst(tst_mgr, line_wkr.Msg_log()); @@ -380,7 +380,7 @@ class Gfo_msg_log_chkr implements Tst_chkr { Gfo_msg_data[] actl_itms = new Gfo_msg_data[actl_itms_len]; for (int i = 0; i < actl_itms_len; i++) actl_itms[i] = actl.Ary_get(i); - mgr.Tst_ary("itms", (Gfo_msg_data_chkr[])itms.XtoAry(Gfo_msg_data_chkr.class), actl_itms); + mgr.Tst_ary("itms", (Gfo_msg_data_chkr[])itms.Xto_ary(Gfo_msg_data_chkr.class), actl_itms); } } class Gfo_msg_data_chkr implements Tst_chkr { diff --git a/400_xowa/src/gplx/php/Php_srl_parser_tst.java b/400_xowa/src/gplx/php/Php_srl_parser_tst.java index e5780cefa..1ae0e78fd 100644 --- a/400_xowa/src/gplx/php/Php_srl_parser_tst.java +++ b/400_xowa/src/gplx/php/Php_srl_parser_tst.java @@ -98,7 +98,7 @@ class Php_srl_parser_fxt { Php_srl_itm_ary root = parser.Parse(raw); Php_srl_itm root_sub = root.Subs_get_at(0).Val(); root_sub.Xto_bfr(tmp_bfr, 0); - String actl = tmp_bfr.XtoStrAndClear(); + String actl = tmp_bfr.Xto_str_and_clear(); String expd = Xto_str(expd_ary, 0, expd_ary.length); Tfds.Eq_str_lines(expd, actl, actl); } @@ -107,6 +107,6 @@ class Php_srl_parser_fxt { Php_srl_itm itm = ary[i]; itm.Xto_bfr(tmp_bfr, 0); } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/php/Php_text_itm_parser.java b/400_xowa/src/gplx/php/Php_text_itm_parser.java index ae178bb99..df099add7 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_parser.java +++ b/400_xowa/src/gplx/php/Php_text_itm_parser.java @@ -32,7 +32,7 @@ public class Php_text_itm_parser { Php_text_itm itm = (Php_text_itm)tmp_list.FetchAt(i); itm.Bld(tmp_bfr, raw); } - rv = tmp_bfr.XtoAryAndClear(); + rv = tmp_bfr.Xto_bry_and_clear(); break; } return rv; diff --git a/400_xowa/src/gplx/php/Php_text_itm_tst.java b/400_xowa/src/gplx/php/Php_text_itm_tst.java index e6b62f0d5..948cee7b2 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_tst.java +++ b/400_xowa/src/gplx/php/Php_text_itm_tst.java @@ -48,6 +48,6 @@ class Php_text_itm_fxt { Php_text_itm itm = (Php_text_itm)list.FetchAt(i); itm.Bld(bfr, raw); } - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_int_tst.java b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_int_tst.java index 984e761ca..e7302c126 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_int_tst.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_int_tst.java @@ -38,7 +38,7 @@ class Mok_int_itm implements XtoStrAble { } class Mok_int_mgr extends Mok_mgr_base { public void Clear() {itms.Clear();} - @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.XtoAry(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); + @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.Xto_ary(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); private String fld_0; private int fld_1, fld_2; @Override public Dsv_fld_parser[] Fld_parsers() { diff --git a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_str_tst.java b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_str_tst.java index 2c6402cb1..e81c5d534 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_str_tst.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser_str_tst.java @@ -83,7 +83,7 @@ class Mok_str_mgr extends Mok_mgr_base { this.flds_len = flds_len; } public void Clear() {itms.Clear();} - @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.XtoAry(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); + @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.Xto_ary(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); private ListAdp flds = ListAdp_.new_(); @Override public boolean Write_bry(Dsv_tbl_parser parser, int fld_idx, byte[] src, int bgn, int end) { flds.Add(String_.new_utf8_(src, bgn, end)); @@ -96,7 +96,7 @@ class Mok_str_mgr extends Mok_mgr_base { return rv; } @Override public void Commit_itm(Dsv_tbl_parser parser, int pos) { - Mok_str_itm itm = new Mok_str_itm((String[])flds.XtoAryAndClear(String.class)); + Mok_str_itm itm = new Mok_str_itm((String[])flds.Xto_ary_and_clear(String.class)); itms.Add(itm); } } diff --git a/400_xowa/src/gplx/xowa/Xoa_app.java b/400_xowa/src/gplx/xowa/Xoa_app.java index a82f5eefc..af8edff83 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app.java +++ b/400_xowa/src/gplx/xowa/Xoa_app.java @@ -20,12 +20,13 @@ import gplx.core.btries.*; import gplx.core.flds.*; import gplx.ios.*; import gp import gplx.xowa.apps.*; import gplx.xowa.apps.caches.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.apis.*; import gplx.xowa.urls.encoders.*; import gplx.xowa.langs.*; import gplx.xowa.specials.*; import gplx.xowa.cfgs2.*; import gplx.xowa.wikis.*; import gplx.xowa.users.*; import gplx.xowa.gui.*; import gplx.xowa.cfgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.html.tocs.*; import gplx.xowa.fmtrs.*; import gplx.xowa.html.*; -import gplx.xowa.parsers.*; import gplx.xowa.parsers.amps.*; +import gplx.xowa.parsers.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.scribunto.*; import gplx.xowa.xtns.math.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.servers.tcp.*; import gplx.xowa.servers.http.*; public class Xoa_app implements GfoInvkAble { public Xoa_app(Gfo_usr_dlg usr_dlg, Io_url root_dir, Io_url user_dir, String bin_dir_name) { this.usr_dlg = usr_dlg; + Io_url.Http_file_str_encoder = encoder_mgr.Fsys(); log_wtr = usr_dlg.Log_wtr(); cfg_mgr = new Xoa_cfg_mgr(this); api_root = new Xoapi_root(this); @@ -50,7 +51,6 @@ public class Xoa_app implements GfoInvkAble { gfs_mgr = new Xoa_gfs_mgr(this); xtn_mgr = new Xow_xtn_mgr().Ctor_by_app(this); hive_mgr = new Xoa_hive_mgr(this); - Io_url.Http_file_str_encoder = encoder_mgr.Fsys(); tcp_server.App_ctor(this); fmtr_mgr = new Xoa_fmtr_mgr(this); log_mgr = new Xop_log_mgr(this); @@ -112,6 +112,7 @@ public class Xoa_app implements GfoInvkAble { public Gfo_log_wtr Log_wtr() {return log_wtr;} private Gfo_log_wtr log_wtr; public Xoa_gfs_mgr Gfs_mgr() {return gfs_mgr;} private Xoa_gfs_mgr gfs_mgr; public Xoa_special_mgr Special_mgr() {return special_mgr;} private Xoa_special_mgr special_mgr = new gplx.xowa.specials.Xoa_special_mgr(); + public Xoh_html_mgr Html_mgr() {return html_mgr;} private Xoh_html_mgr html_mgr; public Xop_log_mgr Log_mgr() {return log_mgr;} private Xop_log_mgr log_mgr; public Xoa_shell Shell() {return shell;} private Xoa_shell shell; public byte Mode() {return mode;} public Xoa_app Mode_(byte v) {mode = v; return this;} private byte mode = Xoa_app_.Mode_console; @@ -143,12 +144,11 @@ public class Xoa_app implements GfoInvkAble { public boolean Xwiki_missing(byte[] wiki_key) {return user.Wiki().Xwiki_mgr().Get_by_key(wiki_key) == null;} // NOTE: only the user_wiki has a full list of all wikis b/c it has xwiki objects; wiki_mgr does not, b/c it has heavier wiki objects which are loaded dynamically; public boolean Xwiki_exists(byte[] wiki_key) {return user.Wiki().Xwiki_mgr().Get_by_key(wiki_key) != null;} public Xoa_ctg_mgr Ctg_mgr() {return ctg_mgr;} private Xoa_ctg_mgr ctg_mgr = new Xoa_ctg_mgr(); - public Xoa_fsys_eval Url_cmd_eval() {return url_cmd_eval;} Xoa_fsys_eval url_cmd_eval; + public Xoa_fsys_eval Url_cmd_eval() {return url_cmd_eval;} Xoa_fsys_eval url_cmd_eval; public Xoa_cur Cur_redirect() {return cur_redirect;} private Xoa_cur cur_redirect; public Xoa_cfg_mgr Cfg_mgr() {return cfg_mgr;} private Xoa_cfg_mgr cfg_mgr; public Xocfg_regy Cfg_regy() {return cfg_regy;} private Xocfg_regy cfg_regy; public Io_stream_zip_mgr Zip_mgr() {return zip_mgr;} Io_stream_zip_mgr zip_mgr = new Io_stream_zip_mgr(); - public gplx.xowa.html.Xoh_html_mgr Html_mgr() {return html_mgr;} private Xoh_html_mgr html_mgr; public Xoa_cache_mgr Cache_mgr() {return cache_mgr;} private Xoa_cache_mgr cache_mgr = new Xoa_cache_mgr(); public Xosrv_server Tcp_server() {return tcp_server;} private Xosrv_server tcp_server = new Xosrv_server(); diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java index 681857542..b2aa71d7e 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_.java @@ -24,7 +24,7 @@ public class Xoa_app_ { boot_mgr.Run(args); } public static final String Name = "xowa"; - public static final String Version = "1.10.1.1"; + public static final String Version = "1.10.2.1"; public static String Build_date = "2012-12-30 00:00:00"; public static String Op_sys; public static String User_agent = ""; diff --git a/400_xowa/src/gplx/xowa/apis/xowa/html/modules/Xoapi_popups.java b/400_xowa/src/gplx/xowa/apis/xowa/html/modules/Xoapi_popups.java index e31ba585e..5c1a04300 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/html/modules/Xoapi_popups.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/html/modules/Xoapi_popups.java @@ -201,8 +201,8 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { , " }'>" , " }'>" , " }'>" - , " }'>" - , " }'> " + , " }'>" + , " }'> " , " }'>" , " }'>" , " " diff --git a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_history.java b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_history.java index f5828f169..418126d8f 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_history.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_history.java @@ -23,7 +23,7 @@ public class Xoapi_history implements GfoInvkAble { public void Init_by_kit(Xoa_app app) {this.win = app.Gui_mgr().Browser_win();} public boolean Enabled() {return enabled;} private boolean enabled = true; public void Enabled_(boolean v) {enabled = v;} - public void Goto_recent() {win.Page__navigate_by_url_bar(app.User().History_mgr().Get_at_last(app));} + public void Goto_recent() {win.Page__navigate_by_url_bar(app.User().History_mgr().Get_at_last());} public void Show() {win.Page__navigate_by_url_bar("home/wiki/Special:XowaPageHistory");} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(this.Enabled()); diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java index 78c839b6c..a9bf0d8b0 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java @@ -79,11 +79,11 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { cur_msg = cur_msg.Subs_getAt(0); } } - public byte[] Build_prop_set_to_bry(Bry_bfr bfr, byte[] prop, byte[] val) {Build_prop_set(bfr, prop, val); return bfr.XtoAryAndClear();} + public byte[] Build_prop_set_to_bry(Bry_bfr bfr, byte[] prop, byte[] val) {Build_prop_set(bfr, prop, val); return bfr.Xto_bry_and_clear();} public void Build_prop_set(Bry_bfr bfr, byte[] prop, byte[] val) { fmtr_eval_set.Bld_bfr_many(bfr, prop, Xoa_gfs_mgr.Cfg_save_escape(val)); } private Bry_fmtr fmtr_eval_set = Bry_fmtr.new_("~{prop}_('~{val}');\n", "prop", "val"); - public byte[] Build_prop_get_to_bry(Bry_bfr bfr, byte[] prop) {Build_prop_get(bfr, prop); return bfr.XtoAryAndClear();} + public byte[] Build_prop_get_to_bry(Bry_bfr bfr, byte[] prop) {Build_prop_get(bfr, prop); return bfr.Xto_bry_and_clear();} public void Build_prop_get(Bry_bfr bfr, byte[] prop) { fmtr_eval_get.Bld_bfr_many(bfr, prop); } private Bry_fmtr fmtr_eval_get = Bry_fmtr.new_("~{prop};\n", "prop"); @@ -108,7 +108,7 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { if (i != 0) Build_code_bfr.Add_byte(Byte_ascii.Dot); Build_code_bfr.Add_str(ary[i]); } - return Build_code_bfr.XtoStrAndClear(); + return Build_code_bfr.Xto_str_and_clear(); } static final Bry_bfr Build_code_bfr = Bry_bfr.new_(); public static final String Cfg_user_file = "xowa_user_cfg.gfs", Cfg_user_custom_file = "user_custom_cfg.gfs", Cfg_os = "xowa_cfg_os.gfs"; public static boolean Fail_if_unhandled = false; diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr.java b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr.java index 44fa41674..3c2160521 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr.java @@ -55,7 +55,7 @@ public class Xoa_gfs_php_mgr { break; } } - return dirty ? bfr.XtoAryAndClear() : src; + return dirty ? bfr.Xto_bry_and_clear() : src; } private static int Xto_php_swap(Bry_bfr bfr, byte[] src, int len, int pos) { if (pos >= len) throw Err_.new_("invalid gfs: tilde is last char; src={0}", String_.new_utf8_(src)); @@ -112,6 +112,6 @@ public class Xoa_gfs_php_mgr { break; } } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_mgr.java b/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_mgr.java index cf64ede77..83c1f8a89 100644 --- a/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_mgr.java @@ -19,6 +19,7 @@ package gplx.xowa.apps.fsys; import gplx.*; import gplx.xowa.*; import gplx.xowa public class Xoa_fsys_mgr implements GfoInvkAble { public Xoa_fsys_mgr(Io_url root_dir, String plat_name) { this.root_dir = root_dir; + root_dir_bry = root_dir.To_http_file_bry(); file_dir = root_dir.GenSubDir("file"); wiki_dir = root_dir.GenSubDir("wiki"); bin_plat_dir = root_dir.GenSubDir("bin").GenSubDir(plat_name); @@ -28,6 +29,7 @@ public class Xoa_fsys_mgr implements GfoInvkAble { cfg_wiki_core_dir = bin_any_dir.GenSubDir_nest("xowa", "cfg", "wiki", "core"); } public Io_url Root_dir() {return root_dir;} private final Io_url root_dir; + public byte[] Root_dir_bry() {return root_dir_bry;} private final byte[] root_dir_bry; public Io_url File_dir() {return file_dir;} private final Io_url file_dir; public Io_url Wiki_dir() {return wiki_dir;} public Xoa_fsys_mgr Wiki_dir_(Io_url v) {wiki_dir = v; return this;} private Io_url wiki_dir; public Io_url Bin_plat_dir() {return bin_plat_dir;} private final Io_url bin_plat_dir; diff --git a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java index 673673b2f..8355e34d4 100644 --- a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java @@ -21,8 +21,11 @@ public class Xoa_setup_mgr { public static void Delete_old_files(Xoa_app app) { String version_previous = app.Api_root().App().Env().Version_previous(); Gfo_usr_dlg usr_dlg = app.Usr_dlg(); - Delete_old_dir(usr_dlg, version_previous, "1.8.2.1", app.Fsys_mgr().Root_dir().GenSubDir_nest("user", "anonymous", "lang")); - Delete_old_dir(usr_dlg, version_previous, "1.8.2.1", app.Fsys_mgr().Root_dir().GenSubDir_nest("user", "anonymous", "wiki", "#cfg")); + Io_url root_dir = app.Fsys_mgr().Root_dir(); + Delete_old_dir(usr_dlg, version_previous, "1.8.2.1" , root_dir.GenSubDir_nest("user", "anonymous", "lang")); + Delete_old_dir(usr_dlg, version_previous, "1.8.2.1" , root_dir.GenSubDir_nest("user", "anonymous", "wiki", "#cfg")); + Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "javascript")); + Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "xowa", "html", "modules")); } @gplx.Internal protected static void Delete_old_dir(Gfo_usr_dlg usr_dlg, String version_prv, String version_del, Io_url dir) { if (Xoa_version_.Compare(version_prv, version_del) != CompareAble_.Less) return; diff --git a/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java index eca50381c..b1f74dcfc 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java @@ -98,7 +98,7 @@ public class Db_mgr_fxt { list.Add(itm.Id()); } } - return (int[])list.XtoAryAndClear(int.class); + return (int[])list.Xto_ary_and_clear(int.class); } public void Test_category_v2(String ctg_name_str, int... expd) { Xow_wiki wiki = bldr_fxt.Wiki(); @@ -122,7 +122,7 @@ public class Db_mgr_fxt { list.Add(itm.Id()); } } - return (int[])list.XtoAryAndClear(int.class); + return (int[])list.Xto_ary_and_clear(int.class); } public void Init_db_sqlite() {Init_db_sqlite(Xoa_test_.Url_wiki_enwiki().GenSubFil_nest("en.wikipedia.org.sqlite3"));} public void Init_db_sqlite(Io_url url) { @@ -163,7 +163,7 @@ public class Db_mgr_fxt { dsv_tbl_text(sb); dsv_tbl_category(sb); dsv_tbl_categorylinks(sb); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } private static void Add_lines_w_crlf(String_bldr sb, String... ary) { int len = ary.length; diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java index 570409496..c5bdc642b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java @@ -81,7 +81,7 @@ public class Xob_fxt { } private void tst_fils(Io_url[] ary) { Io_fil[] actls = Get_actl(ary); - Io_fil_chkr[] expds = (Io_fil_chkr[])expd_list.XtoAry(Io_fil_chkr.class); + Io_fil_chkr[] expds = (Io_fil_chkr[])expd_list.Xto_ary(Io_fil_chkr.class); tst_mgr.Tst_ary("all", expds, actls); } Io_fil[] Get_actl(Io_url[] ary) { @@ -135,7 +135,7 @@ public class Xob_fxt { } private void Test_expd_files() { if (expd_list.Count() > 0) { - Io_fil_chkr[] expd = (Io_fil_chkr[])expd_list.XtoAry(Io_fil_chkr.class); + Io_fil_chkr[] expd = (Io_fil_chkr[])expd_list.Xto_ary(Io_fil_chkr.class); Io_fil[] actl = wiki_(); tst_mgr.Tst_ary("all", expd, actl); } @@ -145,7 +145,7 @@ public class Xob_fxt { wiki_fil_add(rv, wiki.Fsys_mgr().Ns_dir()); wiki_fil_add(rv, wiki.Fsys_mgr().Site_dir()); rv.Sort(); - return (Io_fil[])rv.XtoAry(Io_fil.class); + return (Io_fil[])rv.Xto_ary(Io_fil.class); } private void wiki_fil_add(ListAdp list, Io_url root_dir) { Io_url[] ary = Io_mgr._.QueryDir_args(root_dir).Recur_().ExecAsUrlAry(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr_tst.java b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr_tst.java index b21e624d1..5ce84798d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr_tst.java @@ -89,7 +89,7 @@ public class Xob_wiki_cfg_bldr_tst { // String[] terms = String_.Split(line, '|'); // sb.Add(lang_code).Add("|").Add(String_.Trim(terms[0])).Add("|").Add(String_.Trim(terms[1])).Add("\n"); // } -// Tfds.Write(sb.XtoStrAndClear()); +// Tfds.Write(sb.Xto_str_and_clear()); // } @Test public void Ns_aliases() { Io_mgr._.InitEngine_mem(); @@ -144,7 +144,7 @@ public class Xob_wiki_cfg_bldr_tst { } catch(Exception e) {sb.Add("// fail: " + wiki + " " + Err_.Message_gplx_brief(e)).Add_char_nl();} } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } class Xob_wiki_cfg_bldr_fxt { diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_page_txt.java b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_page_txt.java index a4d3d8f8f..4d5de3534 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_page_txt.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_page_txt.java @@ -47,7 +47,7 @@ public class Xob_page_txt extends Xob_itm_dump_base implements Xobd_wkr, GfoInvk // 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() - ListAdp_.LastIdxOffset; - page.Db_file_idx_(file_idx).Db_row_idx_(row_idx); + page.Text_db_id_(file_idx).Db_row_idx_(row_idx); if (ttl_wtr.FlushNeeded(Xodb_page_.Txt_ttl_len__fixed + ttl_len)) ttl_wtr.Flush(bldr.Usr_dlg()); Xodb_page_.Txt_ttl_save(ttl_wtr.Bfr(), id, file_idx, row_idx, redirect, text_len, ttl_wo_ns); } diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java index 633ce3f9f..64929e926 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java @@ -73,7 +73,7 @@ public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_ while (true) { if (word_done || i == ttl_len) { if (bfr.Len() > 0) { - byte[] word = bfr.XtoAry(); + byte[] word = bfr.Xto_bry(); word_ref.Val_(word); if (!list.Has(word_ref)) list.Add(word_ref, word); bfr.ClearAndReset(); @@ -104,7 +104,7 @@ public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_ } } bfr.ClearAndReset(); - byte[][] rv = (byte[][])list.XtoAry(byte[].class); + byte[][] rv = (byte[][])list.Xto_ary(byte[].class); list.Clear(); list.ResizeBounds(16); return rv; } diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_batch.java b/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_batch.java index b6ad91b0d..ca9e79269 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_batch.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_batch.java @@ -30,7 +30,7 @@ public class Xobc_core_batch implements GfoInvkAble { bz2_fil.Fil_(bz2_fil_url).Parse(bz2_fil_url.NameOnly()); fmtr.Bld_bfr_many(bfr, bz2_fil_url.Raw(), bz2_fil.Domain()); bldr.Usr_dlg().Note_many(GRP_KEY, "bgn", "starting script for ~{0}", String_.new_utf8_(bz2_fil.Domain())); - bldr.App().Gfs_mgr().Run_str(bfr.XtoStrAndClear()); + bldr.App().Gfs_mgr().Run_str(bfr.Xto_str_and_clear()); } } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Uca_trie_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Uca_trie_tst.java index 8daeda3ff..a28d4d47e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Uca_trie_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Uca_trie_tst.java @@ -40,6 +40,6 @@ class Uca_trie_fxt { public void Init_trie_itm(String charAsStr, byte[] uca) {trie.Init_itm(gplx.intl.Utf16_.Decode_to_int(Bry_.new_utf8_(charAsStr), 0), uca);} public void Test_decode(byte[] bry, String expd) { trie.Decode(bfr, bry, 0, bry.length); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java index 1d0db29d9..d3d058e62 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java @@ -58,6 +58,6 @@ class Xob_category_registry_sql_fxt { String[] flds = String_.Split(line, '|'); list.Add(Base85_utl.XtoIntByStr(flds[1])); } - return (int[])list.XtoAryAndClear(int.class); + return (int[])list.Xto_ary_and_clear(int.class); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_base.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_base.java index f8690cf7b..4fd1c6077 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_base.java @@ -53,7 +53,7 @@ public abstract class Xob_categorylinks_base extends Xob_sql_dump_base implement trie.Init(); } trie.Decode(uca_bfr, cur_sortkey, 0, cur_sortkey.length); - cur_sortkey = uca_bfr.Len() == 0 ? Sortkey_space : uca_bfr.XtoAryAndClear(); + cur_sortkey = uca_bfr.Len() == 0 ? Sortkey_space : uca_bfr.Xto_bry_and_clear(); } fld_wtr.Bfr_(file_bfr); fld_wtr.Write_bry_escape_fld(cur_ctg); diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql.java index a51004c20..f6b5944b2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql.java @@ -23,7 +23,7 @@ public class Xob_categorylinks_sql extends Xob_categorylinks_base { @Override public String Cmd_key() {return KEY;} public static final String KEY = "import.sql.categorylinks"; @Override public Io_sort_cmd Make_sort_cmd(Sql_file_parser sql_parser) {return new Xob_categorylinks_sql_make(sql_parser, wiki, idx_mode);} public static final String Tbl_categorylinks = String_.Concat_lines_nl - ( "CREATE TABLE `categorylinks` (" + ( "CREATE TABLE `categorylinks` (" , " `cl_from` int(10) unsigned NOT NULL DEFAULT '0'," , " `cl_to` varbinary(255) NOT NULL DEFAULT ''," , " `cl_sortkey` varbinary(230) NOT NULL DEFAULT ''," diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java index e9455723e..d2475695d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java @@ -128,7 +128,7 @@ class Db_tst_qry { if (!pass) { bfr.Add(Lbl_row_hdr).Add_int_variable(expd_row_idx).Add_byte_nl(); bfr.Add_str(qry.XtoSql()).Add_byte(Byte_ascii.Semic); - throw Err_.new_(bfr.XtoStrAndClear()); + throw Err_.new_(bfr.Xto_str_and_clear()); } } static final byte[] Lbl_row_hdr = Bry_.new_ascii_("row: "), Lbl_eq_y = Bry_.new_ascii_(" == "), Lbl_eq_n = Bry_.new_ascii_(" != "); public static Db_tst_qry tbl_(String tbl_name, String order_by) {return new_(Db_qry_.select_tbl_(tbl_name).OrderBy_asc_(order_by));} diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java index 896f1d769..9a5044584 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java @@ -133,7 +133,7 @@ public abstract class Xob_ctg_v1_base extends Xob_itm_dump_base implements Xobd_ } private void wkr_hooks_add(Bry_bfr tmp_bfr, byte[] word) { tmp_bfr.Add_byte(Byte_ascii.Brack_bgn).Add_byte(Byte_ascii.Brack_bgn).Add(word).Add_byte(Byte_ascii.Colon); - byte[] key = tmp_bfr.XtoAryAndClear(); + byte[] key = tmp_bfr.Xto_bry_and_clear(); if (!wkr_hooks.Has(key)) wkr_hooks.Add(key, key); } static final String GRP_KEY = "xowa.bldr.make_ctg"; diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base_tst.java index 7ff258b98..fa7b32dd2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base_tst.java @@ -44,7 +44,7 @@ class Xodb_page_wkr_ctg_fxt { Xodb_page page = new Xodb_page().Text_(src);//.Ttl_(Bry_.new_utf8_("Test"), new Xow_ns_mgr()); mgr.Wkr_bgn(bldr); mgr.Wkr_run(page); - byte[][] ttl = (byte[][])wkr.Found().XtoAry(byte[].class); + byte[][] ttl = (byte[][])wkr.Found().Xto_ary(byte[].class); String[] actl = new String[ttl.length]; for (int i = 0; i < actl.length; i++) { actl[i] = String_.new_utf8_(ttl[i]); diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_sql.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_sql.java index c7bb3b05b..431aa38f2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_sql.java @@ -71,6 +71,6 @@ class Xob_ctg_v1_sql_make implements Io_make_cmd { } } bfr.Mkr_rls(); - return dirty ? bfr.XtoAryAndClear() : bry; + return dirty ? bfr.Xto_bry_and_clear() : bry; } } diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_kwds.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_kwds.java index 429eecbf5..c4fa275f0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_kwds.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_kwds.java @@ -70,7 +70,7 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform if (!tmp.Has(itm)) tmp.Add(itm, itm); } } - byte[][] words = (byte[][])tmp.XtoAry(byte[].class); + byte[][] words = (byte[][])tmp.Xto_ary(byte[].class); kwd_grp.Srl_load(kwd_grp.Case_match(), words); } } @@ -138,7 +138,7 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform if (last) break; ++pos; } - return (Xobcl_kwd_row[])rv.XtoAry(Xobcl_kwd_row.class); + return (Xobcl_kwd_row[])rv.Xto_ary(Xobcl_kwd_row.class); } } class Xobcl_kwd_lang { diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_tst.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_tst.java index 3dcf2c169..c2ecca415 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang_tst.java @@ -174,6 +174,6 @@ class Xobc_utl_make_lang_fxt { } sb.Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser.java index 567131914..05b58758c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser.java @@ -114,7 +114,7 @@ public class Xol_mw_lang_parser { public void Parse_core(String text, Xol_lang lang, Bry_bfr bfr, Xol_lang_transform lang_transform) { evaluator.Clear(); parser.Parse_tkns(text, evaluator); - Php_line[] lines = (Php_line[])evaluator.List().XtoAry(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().Xto_ary(Php_line.class); int lines_len = lines.length; ListAdp bry_list = ListAdp_.new_(); for (int i = 0; i < lines_len; i++) { @@ -173,7 +173,7 @@ public class Xol_mw_lang_parser { evaluator.Clear(); parser.Parse_tkns(text, evaluator); ListAdp bry_list = ListAdp_.new_(); - Php_line[] lines = (Php_line[])evaluator.List().XtoAry(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().Xto_ary(Php_line.class); int lines_len = lines.length; for (int i = 0; i < lines_len; i++) { Php_line_assign line = (Php_line_assign)lines[i]; @@ -216,7 +216,7 @@ public class Xol_mw_lang_parser { } } public Xow_ns[] Parse_namespace_strings(ListAdp list, boolean ns_names) { - byte[][] brys = (byte[][])list.XtoAry(byte[].class); + byte[][] brys = (byte[][])list.Xto_ary(byte[].class); int brys_len = brys.length; Xow_ns[] rv = new Xow_ns[brys_len / 2]; int key_dif = ns_names ? 0 : 1; @@ -232,7 +232,7 @@ public class Xol_mw_lang_parser { return rv; } private void Parse_messages(ListAdp rv, Xol_lang lang, Bry_bfr bfr) { - byte[][] brys = (byte[][])rv.XtoAry(byte[].class); + byte[][] brys = (byte[][])rv.Xto_ary(byte[].class); int brys_len = brys.length; Xol_msg_mgr mgr = lang.Msg_mgr(); ListAdp quote_itm_list = ListAdp_.new_(); Byte_obj_ref quote_parse_result = Byte_obj_ref.zero_(); @@ -308,7 +308,7 @@ public class Xol_mw_lang_parser { byte[] key_bry = Php_itm_.Parse_bry(kv.Key()), val_bry = Php_itm_.Parse_bry(kv.Val()); val_bry = php_quote_parser.Parse_as_bry(tmp_list, val_bry, tmp_result, tmp_bfr); Xol_csv_parser._.Load(tmp_bfr, val_bry); - val_bry = tmp_bfr.XtoAryAndClear(); + val_bry = tmp_bfr.Xto_bry_and_clear(); if ( Bry_.Eq(key_bry, Bry_separatorTransformTable_dot) || Bry_.Eq(key_bry, Bry_separatorTransformTable_comma) ) diff --git a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_dump_mgr_base.java b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_dump_mgr_base.java index 911c4f282..2a5833177 100644 --- a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_dump_mgr_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_dump_mgr_base.java @@ -282,7 +282,7 @@ class Xob_rate_mgr { .Add_int_variable(count).Add_byte_pipe() .Add_int_variable(dif).Add_byte_nl() ; - Io_mgr._.AppendFilByt(log_file, save_bfr.XtoAryAndClear()); + Io_mgr._.AppendFilByt(log_file, save_bfr.Xto_bry_and_clear()); } public String Rate_as_str() {return Int_.Xto_str(Rate());} public int Rate() { diff --git a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_parse_all_src_sql.java b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_parse_all_src_sql.java index c15d435e0..7c08a6406 100644 --- a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_parse_all_src_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xob_parse_all_src_sql.java @@ -44,7 +44,7 @@ class Xob_dump_src_ttl implements Xob_parse_all_db { if (file.Tid() == Xodb_file_tid.Tid_text) text_files_list.Add(file); } - return (Xodb_file[])text_files_list.XtoAryAndClear(Xodb_file.class); + return (Xodb_file[])text_files_list.Xto_ary_and_clear(Xodb_file.class); } } class Xob_dump_src_id { diff --git a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xob_subpage_parser.java b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xob_subpage_parser.java index 1901d94bf..327817b6d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xob_subpage_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xob_subpage_parser.java @@ -25,7 +25,7 @@ class Xob_subpage_parser { Php_parser php_parser = new Php_parser(); Php_evaluator eval = new Php_evaluator(new Gfo_msg_log("test")); php_parser.Parse_tkns(src, eval); - Php_line[] lines = (Php_line[])eval.List().XtoAry(Php_line.class); + Php_line[] lines = (Php_line[])eval.List().Xto_ary(Php_line.class); Php_line_assign line = (Php_line_assign)lines[0]; Php_itm_ary root_ary = (Php_itm_ary)line.Val(); Php_itm_kv root_kv = (Php_itm_kv)root_ary.Subs_get(0); @@ -41,7 +41,7 @@ class Xob_subpage_parser { catch (Exception e) { throw Err_.new_fmt_("parse failed; src={0} err={1}", String_.new_utf8_(src), Err_.Message_gplx(e)); } - return (Xob_subpage_wiki[])wikis_list.XtoAry(Xob_subpage_wiki.class); + return (Xob_subpage_wiki[])wikis_list.Xto_ary(Xob_subpage_wiki.class); } private void Parse_wiki(Php_itm_kv wiki_tkn, Xob_subpage_wiki wiki_itm) { wiki_itm.Name_(wiki_tkn.Key().Val_obj_bry()); diff --git a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api.java b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api.java index 4b0fb8123..ff8a9c93f 100644 --- a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api.java +++ b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api.java @@ -69,7 +69,7 @@ public class Xoi_wiki_props_api { sub_itm.Init_by_xml(sub_nde); list.Add(sub_itm); } - return (Xoi_wiki_props_alias[])list.XtoAryAndClear(Xoi_wiki_props_alias.class); + return (Xoi_wiki_props_alias[])list.Xto_ary_and_clear(Xoi_wiki_props_alias.class); } private Xoi_wiki_props_ns[] Parse_ns_ary(XmlNde xnde) { int xndes_len = xnde.SubNdes().Count(); @@ -81,6 +81,6 @@ public class Xoi_wiki_props_api { sub_itm.Init_by_xml(sub_nde); list.Add(sub_itm); } - return (Xoi_wiki_props_ns[])list.XtoAryAndClear(Xoi_wiki_props_ns.class); + return (Xoi_wiki_props_ns[])list.Xto_ary_and_clear(Xoi_wiki_props_ns.class); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java index be2c1606c..ceb437433 100644 --- a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java @@ -75,7 +75,7 @@ class Xoi_wiki_props_fxt { } public void Test_build(Xoi_wiki_props_wiki wiki, String expd) { api.Build_cfg(bfr, wiki); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } private String Xto_str(Xoi_wiki_props_wiki v) { int len = v.Alias_ary().length; @@ -91,7 +91,7 @@ class Xoi_wiki_props_fxt { bfr.Add_int_variable(ns.Id()).Add_byte_pipe().Add_int_bool(ns.Subpages_enabled()).Add_byte_nl(); } bfr.Add_byte_nl(); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } } class Xob_subpage_tst_fxt { @@ -120,7 +120,7 @@ class Xob_subpage_tst_fxt { } public String X_str_wikis(Xob_subpage_wiki[] ary) { X_str_wikis(sb, ary); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } private void X_str_wikis(String_bldr sb, Xob_subpage_wiki[] ary) { diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_siteinfo_parser.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_siteinfo_parser.java index 9d85cb1b0..805fe9c66 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_siteinfo_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_siteinfo_parser.java @@ -51,7 +51,7 @@ public class Xob_siteinfo_parser { else if ( String_.Eq(sub_nde.Name(), "#text")) {} // NOTE: JAVA has node names for "#text" // else throw Err_mgr._.fmt_(GRP_KEY, "siteinfo.root.unknown_sub", "unknown sub for root nde: ~{0}", sub_nde.Name()); // NOTE: do not fail if MW introduces something odd in future (or if JAVA starts picking up other elements) } - wiki.Props().Siteinfo_misc_(siteinfo_misc_bfr.XtoAryAndClear()); + wiki.Props().Siteinfo_misc_(siteinfo_misc_bfr.Xto_bry_and_clear()); wiki.Props().Bldr_version_(Bry_.new_ascii_(Xoa_app_.Version)); } private static byte[] Siteinfo_parse_mainpage(byte[] url) { diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_page_bldr.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_page_bldr.java index c09cf0822..4f6d37065 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_page_bldr.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_page_bldr.java @@ -18,16 +18,16 @@ along with this program. If not, see . package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.ios.*; public class Xob_xml_page_bldr { - public byte[] Xto_bry() {return bfr.XtoAryAndClear();} + public byte[] Xto_bry() {return bfr.Xto_bry_and_clear();} public Io_buffer_rdr XtoByteStreamRdr() {return XtoByteStreamRdr(Io_mgr.Len_kb);} public Io_buffer_rdr XtoByteStreamRdr(int bfr_len) { Io_url url = Io_url_.mem_fil_("mem/byteStreamRdr.txt"); - Io_mgr._.SaveFilBry(url, bfr.XtoAryAndClear()); + Io_mgr._.SaveFilBry(url, bfr.Xto_bry_and_clear()); return Io_buffer_rdr.new_(gplx.ios.Io_stream_rdr_.file_(url), bfr_len); } public Bry_bfr Bfr() {return bfr;} Bry_bfr bfr = Bry_bfr.new_(); public Xob_xml_page_bldr Upd(String find, String repl) { - String all = bfr.XtoStrAndClear(); + String all = bfr.Xto_str_and_clear(); all = String_.Replace(all, find, repl); bfr.Add_str(all); return this; diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser.java index c2a50b84e..45b90933c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser.java @@ -74,13 +74,13 @@ public class Xob_xml_parser { case Xob_xml_parser_.Id_title_end: if (title_needed) { data_bfr_add = false; - byte[] ttl = data_bfr.XtoAryAndClear(); + byte[] ttl = data_bfr.Xto_bry_and_clear(); Bry_.Replace_reuse(ttl, Byte_ascii.Space, Byte_ascii.Underline); rv.Ttl_(ttl, ns_mgr); title_needed = false; } break; - case Xob_xml_parser_.Id_text_end: data_bfr_add = false; rv.Text_(data_bfr.XtoAryAndClear()); break; + case Xob_xml_parser_.Id_text_end: data_bfr_add = false; rv.Text_(data_bfr.Xto_bry_and_clear()); break; case Xob_xml_parser_.Id_amp: case Xob_xml_parser_.Id_quot: case Xob_xml_parser_.Id_lt: case Xob_xml_parser_.Id_gt: case Xob_xml_parser_.Id_cr_nl: case Xob_xml_parser_.Id_cr: if (data_bfr_add) data_bfr.Add_byte(itm.Subst_byte()); diff --git a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_itm_srl.java b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_itm_srl.java index 75b567d68..79a81aeac 100644 --- a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_itm_srl.java +++ b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_itm_srl.java @@ -39,7 +39,7 @@ public class Xocfg_bnd_itm_srl implements GfoInvkAble { Gfs_wtr wtr = app.Gfs_mgr().Wtr(); wtr.Add_set_eq(Key_box, Bry_.new_ascii_(Xog_bnd_box_.Xto_sys_str(box))); wtr.Add_set_eq(Key_ipt, Bry_.new_ascii_(ipt.Key())); - return wtr.Bfr().XtoStrAndClear(); + return wtr.Bfr().Xto_str_and_clear(); } private static final byte[] Key_box = Bry_.new_ascii_("box"), Key_ipt = Bry_.new_ascii_("ipt"); public static void Src_(Xoa_app app, Xocfg_bnd_itm_srl itm, String v) { Xoa_gfs_mgr gfs_mgr = app.Gfs_mgr(); diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java index c2c2d21d7..83db6ff66 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java @@ -111,7 +111,7 @@ class Xoctg_fmtr_all { Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); Html_nav_bry(bfr, wiki, ttl, view_grp, Bool_.N); Html_nav_bry(bfr, wiki, ttl, view_grp, Bool_.Y); - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } private void Html_nav_bry(Bry_bfr bfr, Xow_wiki wiki, Xoa_ttl ttl, Xoctg_view_grp view_grp, boolean fill_at_bgn) { Bry_bfr href_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); @@ -130,7 +130,7 @@ class Xoctg_fmtr_all { href_bfr.Add_byte(Byte_ascii.Question).Add(arg_idx_lbl).Add_byte(Byte_ascii.Eq); // filefrom= href_bfr.Add(arg_sortkey); // Abc href_bfr.Add_byte(Byte_ascii.Hash).Add(div_id); // #mw-subcategories - byte[] nav_href = href_bfr.Mkr_rls().XtoAryAndClear(); + byte[] nav_href = href_bfr.Mkr_rls().Xto_bry_and_clear(); byte[] nav_ttl = ttl.Full_url(); int nav_text_id = fill_at_bgn ? Xol_msg_itm_.Id_next_results : Xol_msg_itm_.Id_prev_results; byte[] nav_text = wiki.Msg_mgr().Val_by_id_args(nav_text_id, grp_max); // fill_at_bgn 200 / previous 200 diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java index 87f54ae6b..9ef681382 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java @@ -110,7 +110,7 @@ class Xoctg_fmtr_itm_subc extends Xoctg_fmtr_itm_base { Bld_contains_text_itm(bfr, Xol_msg_itm_.Id_ctgtree_subc_counts_page, sub_pages); Bld_contains_text_itm(bfr, Xol_msg_itm_.Id_ctgtree_subc_counts_file, sub_files); bfr.Add_byte(Byte_ascii.Paren_end); - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } private void Bld_contains_text_itm(Bry_bfr bfr, int msg_id, int val) { if (val == 0) return; diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr_tst.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr_tst.java index 0ae839fe1..16d80969d 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr_tst.java @@ -252,7 +252,7 @@ class Xoh_ctg_page_fxt { fmtr_itm.Col_idx_(0, 0); Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); fmtr_itm.XferAry(bfr, 0); - Tfds.Eq_str_lines(expd, bfr.Mkr_rls().XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Mkr_rls().Xto_str_and_clear()); } public void Test_html_grp(byte tid, String expd) { Xoctg_fmtr_all list_mgr = ctg_html.Fmtr(tid); @@ -260,11 +260,11 @@ class Xoh_ctg_page_fxt { fmtr_grp.Init_from_all(wiki, wiki.Lang(), ctg, list_mgr, ctg.Grp_by_tid(tid)); Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); fmtr_grp.XferAry(bfr, 0); - Tfds.Eq_str_lines(expd, bfr.Mkr_rls().XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Mkr_rls().Xto_str_and_clear()); } public void Test_html_all(byte tid, String expd) { Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); ctg_html.Bld_all(bfr, wiki, wiki.Lang(), ctg, tid); - Tfds.Eq_str_lines(expd, bfr.Mkr_rls().XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Mkr_rls().Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java index 65d2cfcdd..3bfc4c5c7 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java @@ -85,7 +85,7 @@ class Xoctg_idx_mgr_fxt { if (i < 10) bfr.Add_byte(Byte_ascii.Num_0); bfr.Add_int_variable(i).Add_byte_pipe(); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public Xoctg_idx_mgr_fxt Init_itms(int block_len, byte[] src) {idx_mgr.Block_len_(block_len); idx_mgr.Index(Gfo_usr_dlg_base.test_(), Ctg_name, src); return this;} public Xoctg_idx_mgr_fxt Init_block_len(int block_len) {idx_mgr.Block_len_(block_len); return this;} diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_wtr_tst.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_wtr_tst.java index 54df332bd..7c1afb903 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_wtr_tst.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_wtr_tst.java @@ -79,9 +79,9 @@ class Xoctg_pagelist_mgr_fxt { } private ListAdp init_ctgs = ListAdp_.new_(); public void Test_print_hidden(String expd) { Bry_bfr bfr = Bry_bfr.new_(); - Xodb_page[] page_ary = (Xodb_page[])init_ctgs.XtoAryAndClear(Xodb_page.class); + Xodb_page[] page_ary = (Xodb_page[])init_ctgs.Xto_ary_and_clear(Xodb_page.class); hidden_wtr.Print_hidden(bfr, fxt.Wiki(), page_ary); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); -// Tfds.Write(bfr.XtoAryAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); +// Tfds.Write(bfr.Xto_bry_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java index c4af38b24..793a4b043 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java @@ -36,6 +36,6 @@ public class Xoctg_view_grp { } public void Itms_add(Xoctg_view_itm sub) {tmp_list.Add(sub);} public ListAdp Itms_list() {return tmp_list;} ListAdp tmp_list = ListAdp_.new_(); - public void Itms_make() {itms = (Xoctg_view_itm[])tmp_list.XtoAry(Xoctg_view_itm.class);} + public void Itms_make() {itms = (Xoctg_view_itm[])tmp_list.Xto_ary(Xoctg_view_itm.class);} public byte[] Itms_last_sortkey() {return itms_last_sortkey;} public Xoctg_view_grp Itms_last_sortkey_(byte[] v) {itms_last_sortkey = v; return this;} private byte[] itms_last_sortkey; } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_fsys_mgr.java b/400_xowa/src/gplx/xowa/dbs/Xodb_fsys_mgr.java index 718a6ef5a..a20386e1d 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_fsys_mgr.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_fsys_mgr.java @@ -87,7 +87,7 @@ public class Xodb_fsys_mgr { int file_idx = files_ary_len; Io_url url = Create_sqlite3(src_dir, trg_dir, wiki_name, file_idx); Xodb_file rv = Xodb_file.make_(file_idx, file_tid, url.NameAndExt()).Connect_(Db_conn_info_.sqlite_(url)); - Xodb_xowa_cfg_tbl.Insert_str(rv.Provider(), "db.meta", "type_name", Xodb_file_tid.Xto_key(file_tid)); + Xodb_xowa_cfg_tbl.Insert_str(rv.Provider(), Cfg_grp_db_meta, "type_name", Xodb_file_tid.Xto_key(file_tid)); files_ary = (Xodb_file[])Array_.Resize(files_ary, files_ary_len + 1); files_ary[files_ary_len++] = rv; return rv; @@ -104,4 +104,5 @@ public class Xodb_fsys_mgr { } private static final int File_id_core = 0; public static final int Heap_max_infinite = 0; + public static final String Cfg_grp_db_meta = "db.meta"; } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql.java index 537425809..797f5d1c6 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql.java @@ -46,12 +46,12 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { KeyVal kv = kv_ary[i]; gfs_mgr.Build_prop_set(bfr, Bry_.new_utf8_(kv.Key()), Bry_.new_utf8_(kv.Val_to_str_or_empty())); } - gfs_mgr.Run_str_for(wiki, bfr.XtoStrAndClear()); + gfs_mgr.Run_str_for(wiki, bfr.Xto_str_and_clear()); } finally {bfr.Mkr_rls();} } public boolean Load_by_ttl(Xodb_page rv, Xow_ns ns, byte[] ttl) {return db_mgr.Tbl_page().Select_by_ttl(rv, ns, ttl);} - public void Load_by_ttls(Cancelable cancelable, OrderedHash rv, boolean fill_idx_fields_only, int bgn, int end) {db_mgr.Tbl_page().Select_by_ttl_in(cancelable, rv, db_mgr.Wiki(), fill_idx_fields_only, bgn, end);} - public void Load_page(Xodb_page rv, Xow_ns ns, boolean timestamp_enabled) {rv.Text_(db_mgr.Tbl_text().Select(rv.Db_file_idx(), rv.Id()));} + public void Load_by_ttls(Cancelable cancelable, OrderedHash rv, boolean fill_idx_fields_only, int bgn, int end) {db_mgr.Tbl_page().Select_by_ttl_in(cancelable, rv, db_mgr.Db_ctx(), fill_idx_fields_only, bgn, end);} + public void Load_page(Xodb_page rv, Xow_ns ns, boolean timestamp_enabled) {rv.Text_(db_mgr.Tbl_text().Select(rv.Text_db_id(), rv.Id()));} public boolean Load_by_id (Xodb_page rv, int id) {return db_mgr.Tbl_page().Select_by_id(rv, id);} public void Load_by_ids(Cancelable cancelable, ListAdp rv, int bgn, int end) {db_mgr.Tbl_page().Select_by_id_list(cancelable, false, rv, bgn, end);} public boolean Load_ctg_v1(Xoctg_view_ctg rv, byte[] ctg_bry) { @@ -128,7 +128,7 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { if (search_version == gplx.xowa.specials.search.Xosrh_core.Version_1) db_mgr.Tbl_page().Select_by_search(cancelable, rv, search, results_max); else { - Xodb_search_title_word_tbl.Select_by_word(cancelable, rv, db_mgr.Wiki(), search, results_max, db_mgr.Fsys_mgr().Get_tid_root(Xodb_file_tid.Tid_search).Provider()); + Xodb_search_title_word_tbl.Select_by_word(cancelable, rv, db_mgr.Db_ctx(), search, results_max, db_mgr.Fsys_mgr().Get_tid_root(Xodb_file_tid.Tid_search).Provider()); db_mgr.Tbl_page().Select_by_id_list(cancelable, true, rv); } } @@ -166,7 +166,7 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { hash2.Add(page.Id_val(), page); } len = hash2.Count(); // must update len (!hash2.Has() may have skipped titles) - db_mgr.Tbl_category().Select_by_cat_id_in(Cancelable_.Never, hash2, fsys_mgr.Provider_ctg(), db_mgr.Wiki(), 0, len); - return (Xodb_page[])hash.XtoAry(Xodb_page.class); + db_mgr.Tbl_category().Select_by_cat_id_in(Cancelable_.Never, hash2, fsys_mgr.Provider_ctg(), db_mgr.Db_ctx(), 0, len); + return (Xodb_page[])hash.Xto_ary(Xodb_page.class); } } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java index a06e76f3a..1d1aa6493 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java @@ -91,7 +91,7 @@ class Xodb_load_mgr_sql_fxt { bfr.Add(page.Ttl_wo_ns()).Add_byte_pipe(); bfr.Add_byte(Bool_.Xto_byte(ctg_itm.Hidden())).Add_byte_nl(); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public Xoctg_url_mok ctg_url_() {return new Xoctg_url_mok();} diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_txt.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_txt.java index 9ca49ff31..96eba5552 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_txt.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_txt.java @@ -24,7 +24,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } private Xow_wiki wiki; Xow_fsys_mgr fsys_mgr; Xob_xdat_file tmp_xdat_file = new Xob_xdat_file(); Xob_xdat_itm tmp_xdat_itm = new Xob_xdat_itm(); public void Load_init (Xow_wiki wiki) {} - public void Load_page(Xodb_page rv, Xow_ns ns, boolean timestamp_enabled) {Load_page(rv, rv.Db_file_idx(), rv.Db_row_idx(), ns, timestamp_enabled, tmp_xdat_file, tmp_xdat_itm);} + public void Load_page(Xodb_page rv, Xow_ns ns, boolean timestamp_enabled) {Load_page(rv, rv.Text_db_id(), rv.Db_row_idx(), ns, timestamp_enabled, tmp_xdat_file, tmp_xdat_itm);} public void Load_page(Xodb_page rv, int txtdb_fil_idx, int txtdb_row_idx, Xow_ns ns, boolean timestamp_enabled, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm) { Io_url file = fsys_mgr.Url_ns_fil(Xow_dir_info_.Tid_page, ns.Id(), txtdb_fil_idx); byte[] bry = gplx.ios.Io_stream_rdr_.Load_all(file); int bry_len = bry.length; @@ -526,7 +526,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { this.Load_by_ttl(page, ns, ttl); Load_ctg_v2_main(ctg_temp, page.Ttl_wo_ns()); - Xodb_category_itm ctg_itm = Xodb_category_itm.load_(page.Id(), page.Db_file_idx(), ctg_temp.Hidden(), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_subc), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_file), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_page)); + Xodb_category_itm ctg_itm = Xodb_category_itm.load_(page.Id(), page.Text_db_id(), ctg_temp.Hidden(), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_subc), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_file), ctg_temp.Total_by_tid(Xoa_ctg_mgr.Tid_page)); page.Xtn_(ctg_itm); rv[i] = page; } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr.java b/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr.java index 3d4c0571b..fb2b560c8 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr.java @@ -30,7 +30,7 @@ class Xodb_ns_map_mgr { Xodb_ns_map_itm itm = Parse_itm(src, line, canonical_ns_mgr); itms.Add(itm); } - rv.itms = (Xodb_ns_map_itm[])itms.XtoAryAndClear(Xodb_ns_map_itm.class); + rv.itms = (Xodb_ns_map_itm[])itms.Xto_ary_and_clear(Xodb_ns_map_itm.class); return rv; } private static Xodb_ns_map_itm Parse_itm(byte[] src, byte[] line, Xow_ns_mgr ns_mgr) { diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr_tst.java b/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr_tst.java index 2f1cab790..cee941111 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_ns_map_mgr_tst.java @@ -52,6 +52,6 @@ class Xodb_ns_map_mgr_fxt { } bfr.Add_byte_nl(); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_sql.java b/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_sql.java index 5fd061e33..565f74233 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_sql.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_sql.java @@ -80,7 +80,7 @@ public class Xodb_save_mgr_sql implements Xodb_save_mgr { Xodb_page db_page = new Xodb_page(); db_mgr.Load_mgr().Load_by_id(db_page, page.Revision_data().Id()); text = zip_mgr.Zip(db_mgr.Data_storage_format(), text); - db_mgr.Tbl_text().Update(db_page.Db_file_idx(), page.Revision_data().Id(), text); + db_mgr.Tbl_text().Update(db_page.Text_db_id(), page.Revision_data().Id(), text); } public void Data_rename(Xoa_page page, int trg_ns, byte[] trg_ttl) { Db_qry qry = Db_qry_.update_common_("page", Db_crt_.eq_("page_id", page.Revision_data().Id()) diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_txt.java b/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_txt.java index cd3eb72e3..47fa209cb 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_txt.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_save_mgr_txt.java @@ -45,14 +45,14 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { if (Bry_.Len_gt_0(page_rdr_bry)) page_rdr.Parse(page_rdr_bry, page_rdr_bry.length, page_rdr_url); int row_idx = page_rdr.Count(); Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); - page_rdr.Insert(tmp_bfr, tmp.XtoAryAndClear()); + page_rdr.Insert(tmp_bfr, tmp.Xto_bry_and_clear()); this.Data_save(Xow_dir_info_.Tid_page, page_rdr, page_rdr_url, tmp_bfr); tmp_bfr.Mkr_rls(); Xoa_ttl redirect_ttl = redirect_mgr.Extract_redirect(text, text_len); db_page.Set_all_(page_id, fil_idx, row_idx, redirect_ttl != null, text_len, ttl.Page_db()); Xodb_page_.Txt_ttl_save(tmp, db_page); - byte[] ttl_row_bry = tmp.Mkr_rls().XtoAryAndClear(); + byte[] ttl_row_bry = tmp.Mkr_rls().Xto_bry_and_clear(); Xowd_hive_mgr ttl_hive = new Xowd_hive_mgr(wiki, Xow_dir_info_.Tid_ttl); ttl_hive.Create(ttl.Ns(), ttl.Page_db(), ttl_row_bry, Bry_comparer_fld_last._); wiki.Db_mgr().Load_mgr().Clear(); // NOTE: need to clear cached regy_ary in load_mgr @@ -77,7 +77,7 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { } // update page Xob_xdat_file page_rdr = new Xob_xdat_file(); Xob_xdat_itm page_itm = new Xob_xdat_itm(); - load_mgr.Load_page(tmp_page, db_page.Db_file_idx(), db_page.Db_row_idx(), ns, true, page_rdr, page_itm); + load_mgr.Load_page(tmp_page, db_page.Text_db_id(), db_page.Db_row_idx(), ns, true, page_rdr, page_itm); Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); if (text == null) text = tmp_page.Text(); int text_len = text.length; @@ -87,8 +87,8 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { page.Revision_data().Modified_on_(modified_on); } Xodb_page_.Txt_page_save(tmp_bfr, db_page.Id(), modified_on, ttl_bry, text, true); - page_rdr.Update(tmp_bfr, page_itm, tmp_bfr.XtoAryAndClear()); - Io_url page_rdr_url = fsys_mgr.Url_ns_fil(Xow_dir_info_.Tid_page, ttl.Ns().Id(), db_page.Db_file_idx()); + page_rdr.Update(tmp_bfr, page_itm, tmp_bfr.Xto_bry_and_clear()); + Io_url page_rdr_url = fsys_mgr.Url_ns_fil(Xow_dir_info_.Tid_page, ttl.Ns().Id(), db_page.Text_db_id()); this.Data_save(Xow_dir_info_.Tid_page, page_rdr, page_rdr_url, tmp_bfr); tmp_bfr.Mkr_rls(); // update ttl @@ -97,7 +97,7 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { db_page.Type_redirect_(redirect_ttl != null); Bry_bfr tmp = wiki.Utl_bry_bfr_mkr().Get_b512(); Xodb_page_.Txt_ttl_save(tmp, db_page); - byte[] ttl_row_bry = tmp.XtoAryAndClear(); + byte[] ttl_row_bry = tmp.Xto_bry_and_clear(); tmp.Mkr_rls(); Xowd_hive_mgr ttl_hive = new Xowd_hive_mgr(wiki, Xow_dir_info_.Tid_ttl); ttl_hive.Update(ns, old_ttl, new_ttl, ttl_row_bry, Xodb_page_.Txt_ttl_pos, Byte_ascii.Pipe, true, true); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_tbl.java index affb48b17..66ad22e76 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_tbl.java @@ -57,10 +57,10 @@ public class Xodb_category_tbl { } finally {stmt.Rls(); rdr.Rls();} return Xodb_category_itm.Null; } - public void Select_by_cat_id_in(Cancelable cancelable, OrderedHash rv, Db_provider p, Xow_wiki wiki, int bgn, int end) { + public void Select_by_cat_id_in(Cancelable cancelable, OrderedHash rv, Db_provider p, Xodb_ctx db_ctx, int bgn, int end) { Xodb_in_wkr_category_id wkr = new Xodb_in_wkr_category_id(); wkr.Init(rv); - wkr.Select_in(p, cancelable, wiki, bgn, end); + wkr.Select_in(p, cancelable, db_ctx, bgn, end); } public static Xodb_category_itm Read_ctg(DataRdr rdr) { return Xodb_category_itm.load_ diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_base.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_base.java index d47dae4e4..5a2fd4d55 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_base.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_base.java @@ -21,12 +21,11 @@ public abstract class Xodb_in_wkr_base { public abstract int Interval(); public abstract void Fill_stmt(Db_stmt stmt, int bgn, int end); public abstract Db_qry Build_qry(Xodb_ctx tbl_ctx, int bgn, int end); - public abstract void Eval_rslts(Cancelable cancelable, Xow_wiki wiki, DataRdr rdr); - public void Select_in(Db_provider provider, Cancelable cancelable, Xow_wiki wiki, int full_bgn, int full_end) { + public abstract void Eval_rslts(Cancelable cancelable, Xodb_ctx db_ctx, DataRdr rdr); + public void Select_in(Db_provider provider, Cancelable cancelable, Xodb_ctx db_ctx, int full_bgn, int full_end) { DataRdr rdr = DataRdr_.Null; Db_stmt stmt = Db_stmt_.Null; int interval = Interval(); - Xodb_ctx db_ctx = wiki.Db_mgr().Db_ctx(); for (int i = full_bgn; i < full_end; i += interval) { int part_end = i + interval; if (part_end > full_end) part_end = full_end; @@ -34,7 +33,7 @@ public abstract class Xodb_in_wkr_base { stmt = provider.Prepare(Build_qry(db_ctx, i, part_end)); Fill_stmt(stmt, i, part_end); rdr = stmt.Exec_select(); - Eval_rslts(cancelable, wiki, rdr); + Eval_rslts(cancelable, db_ctx, rdr); } finally {rdr.Rls(); stmt.Rls();} } diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java index 8f697a2b3..4e9a39ce8 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java @@ -57,10 +57,10 @@ class Xodb_in_wkr_page_title extends Xodb_in_wkr_page_base { @Override public Xodb_page Eval_rslts_key(Xodb_page rdr_page) {return (Xodb_page)hash.Fetch(rdr_page.Ttl_wo_ns());} } class Xodb_in_wkr_page_title_ns extends Xodb_in_wkr_page_base { - private Xow_wiki wiki; + private Xow_ns_mgr ns_mgr; private OrderedHash hash; - @Override public int Interval() {return 64;} // NOTE: 96+ overflows; EX: w:Space_Liability_Convention; DATE:2013-10-24 - public void Init(Xow_wiki wiki, OrderedHash hash) {this.wiki = wiki; this.hash = hash;} + @Override public 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, OrderedHash hash) {this.ns_mgr = ns_mgr; this.hash = hash;} @Override public String In_fld_name() {return Xodb_page_tbl.Fld_page_title;} @Override public Criteria In_filter(Object[] part_ary) { int len = part_ary.length; @@ -77,7 +77,7 @@ class Xodb_in_wkr_page_title_ns extends Xodb_in_wkr_page_base { } } @Override public Xodb_page Eval_rslts_key(Xodb_page rdr_page) { - Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(rdr_page.Ns_id()); + Xow_ns ns = ns_mgr.Ids_get_or_null(rdr_page.Ns_id()); if (ns == null) return null; // NOTE: ns seems to "randomly" be null when threading during redlinks; guard against null; DATE:2014-01-03 byte[] ttl_wo_ns = rdr_page.Ttl_wo_ns(); rdr_page.Ttl_(ns, ttl_wo_ns); @@ -99,9 +99,9 @@ abstract class Xodb_in_wkr_page_base extends Xodb_in_wkr_base { ) ; } - @Override public void Eval_rslts(Cancelable cancelable, Xow_wiki wiki, DataRdr rdr) { + @Override public void Eval_rslts(Cancelable cancelable, Xodb_ctx db_ctx, DataRdr rdr) { Xodb_page temp = new Xodb_page(); - boolean html_db_enabled = wiki.Db_mgr().Hdump_mgr().Enabled(); + boolean html_db_enabled = db_ctx.Html_db_enabled(); while (rdr.MoveNextPeer()) { if (cancelable.Canceled()) return; if (fill_idx_fields_only) @@ -134,7 +134,7 @@ class Xodb_in_wkr_category_id extends Xodb_in_wkr_base { stmt.Val_int_(page.Id()); } } - @Override public void Eval_rslts(Cancelable cancelable, Xow_wiki wiki, DataRdr rdr) { + @Override public void Eval_rslts(Cancelable cancelable, Xodb_ctx db_ctx, DataRdr rdr) { while (rdr.MoveNextPeer()) { if (cancelable.Canceled()) return; Xodb_category_itm ctg_data = Xodb_category_tbl.Read_ctg(rdr); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java index 3fb70a59b..11349e5e0 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java @@ -22,9 +22,9 @@ public class Xodb_page_tbl { , Fld_page_id = "page_id", Fld_page_ns = "page_namespace", Fld_page_title = "page_title" , Fld_page_is_redirect = "page_is_redirect", Fld_page_touched = "page_touched", Fld_page_len = "page_len" , Fld_page_random_int = "page_random_int", Fld_page_file_idx = "page_file_idx" - , Fld_page_html_db_id = "page_html_db_id"; + , Fld_page_html_db_id = "page_html_db_id", Fld_page_redirect_id = "page_redirect_id"; private static final String[] Select_by_id_flds__basic = new String[] {Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx}; - private static final String[] Select_by_id_flds__hdump = new String[] {Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx, Fld_page_html_db_id}; + private static final String[] Select_by_id_flds__hdump = new String[] {Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx, Fld_page_html_db_id, Fld_page_redirect_id}; // public boolean Select_by_id(Xodb_page rv, int page_id) { // Db_rdr rdr = Db_rdr_.Null; // Db_stmt stmt = Db_stmt_.Null; @@ -37,7 +37,14 @@ public class Xodb_page_tbl { // } // } finally {rdr.Close(); stmt.Rls();} // return false; -// } +// } + private final Xow_ns_mgr ns_mgr; private final Xodb_ctx db_ctx; + public Xodb_page_tbl(Xow_wiki wiki) { + this.ns_mgr = wiki.Ns_mgr(); + this.db_ctx = wiki.Db_mgr().Db_ctx(); + } + public void Html_db_enabled_(boolean v) {html_db_enabled = v;} private boolean html_db_enabled; + public Db_provider Provider() {return provider;} public void Provider_(Db_provider provider) {this.provider = provider;} private Db_provider provider; public boolean Select_by_ttl(Xodb_page rv, Xow_ns ns, byte[] ttl) { Db_rdr rdr = Db_rdr_.Null; Db_stmt stmt = Db_stmt_.Null; try { @@ -57,9 +64,11 @@ public class Xodb_page_tbl { page.Modified_on_ (DateAdp_.parse_fmt(rdr.Read_str(3), Page_touched_fmt)); page.Type_redirect_ (rdr.Read_byte(4) == 1); page.Text_len_ (rdr.Read_int(5)); - page.Db_file_idx_ (rdr.Read_int(6)); - if (html_db_enabled) + page.Text_db_id_ (rdr.Read_int(6)); + if (html_db_enabled) { page.Html_db_id_(rdr.Read_int(7)); + page.Redirect_id_(rdr.Read_int(8)); + } } public boolean Select_by_id(Xodb_page rv, int page_id) { DataRdr rdr = DataRdr_.Null; @@ -76,10 +85,6 @@ public class Xodb_page_tbl { } finally {rdr.Rls(); stmt.Rls();} return false; } - private Xow_wiki wiki; - public Xodb_page_tbl(Xow_wiki wiki) {this.wiki = wiki;} - public void Html_db_enabled_(boolean v) {html_db_enabled = v;} private boolean html_db_enabled; - public Db_provider Provider() {return provider;} public void Provider_(Db_provider provider) {this.provider = provider;} private Db_provider provider; public void Delete_all() {provider.Exec_qry(Db_qry_.delete_tbl_(Tbl_name));} public Db_stmt Insert_stmt(Db_provider p) { return Db_stmt_.new_insert_(p, Tbl_name, html_db_enabled ? Flds_insert__html_y : Flds_insert__html_n); @@ -188,7 +193,7 @@ public class Xodb_page_tbl { public boolean Select_by_id_list(Cancelable cancelable, ListAdp rv) {return Select_by_id_list(cancelable, false, rv, 0, rv.Count());} public boolean Select_by_id_list(Cancelable cancelable, boolean skip_table_read, ListAdp rv) {return Select_by_id_list(cancelable, skip_table_read, rv, 0, rv.Count());} public boolean Select_by_id_list(Cancelable cancelable, boolean skip_table_read, ListAdp rv, int bgn, int end) { - Xodb_page[] page_ary = (Xodb_page[])rv.XtoAry(Xodb_page.class); + Xodb_page[] page_ary = (Xodb_page[])rv.Xto_ary(Xodb_page.class); int len = page_ary.length; if (len == 0) return false; OrderedHash hash = OrderedHash_.new_(); for (int i = 0; i < len; i++) { @@ -199,7 +204,7 @@ public class Xodb_page_tbl { } Xodb_in_wkr_page_id wkr = new Xodb_in_wkr_page_id(); wkr.Init(rv, hash); - wkr.Select_in(provider, cancelable, wiki, bgn, end); + wkr.Select_in(provider, cancelable, db_ctx, bgn, end); return true; } public byte[] Select_random(Xow_ns ns) {// ns should be ns_main @@ -270,16 +275,16 @@ public class Xodb_page_tbl { } } finally {rdr.Rls();} } - public void Select_by_ttl_in(Cancelable cancelable, OrderedHash rv, Xow_wiki wiki, boolean fill_idx_fields_only, int bgn, int end) { + public void Select_by_ttl_in(Cancelable cancelable, OrderedHash rv, Xodb_ctx db_ctx, boolean fill_idx_fields_only, int bgn, int end) { Xodb_in_wkr_page_title_ns wkr = new Xodb_in_wkr_page_title_ns(); wkr.Fill_idx_fields_only_(fill_idx_fields_only); - wkr.Init(wiki, rv); - wkr.Select_in(provider, cancelable, wiki, bgn, end); + wkr.Init(ns_mgr, rv); + wkr.Select_in(provider, cancelable, db_ctx, bgn, end); } public void Select_by_ttl_in(Cancelable cancelable, OrderedHash rv, int ns_id, int bgn, int end) { Xodb_in_wkr_page_title wkr = new Xodb_in_wkr_page_title(); wkr.Init(rv, ns_id); - wkr.Select_in(provider, cancelable, wiki, bgn, end); + wkr.Select_in(provider, cancelable, db_ctx, bgn, end); } public void Update_html_db_id(int page_id, int html_db_id) { if (!html_db_enabled) throw Err_.new_("html_db not enabled"); @@ -290,9 +295,9 @@ public class Xodb_page_tbl { private static String Xto_touched_str(DateAdp v) {return v.XtoStr_fmt(Page_touched_fmt);} public static final String[] Flds_insert__html_n = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_is_redirect, Fld_page_touched, Fld_page_len, Fld_page_random_int, Fld_page_file_idx) - , Flds_insert__html_y = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_is_redirect, Fld_page_touched, Fld_page_len, Fld_page_random_int, Fld_page_file_idx, Fld_page_html_db_id) + , Flds_insert__html_y = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_is_redirect, Fld_page_touched, Fld_page_len, Fld_page_random_int, Fld_page_file_idx, Fld_page_html_db_id, Fld_page_redirect_id) , Flds_select_all__html_n = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx) - , Flds_select_all__html_y = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx, Fld_page_html_db_id) + , Flds_select_all__html_y = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_touched, Fld_page_is_redirect, Fld_page_len, Fld_page_file_idx, Fld_page_html_db_id, Fld_page_redirect_id) , Flds_select_idx = String_.Ary(Fld_page_id, Fld_page_ns, Fld_page_title, Fld_page_len) ; public static final boolean Load_idx_flds_only_y = true; @@ -303,9 +308,11 @@ public class Xodb_page_tbl { page.Modified_on_ (DateAdp_.parse_fmt(rdr.ReadStr(Fld_page_touched), Page_touched_fmt)); page.Type_redirect_ (rdr.ReadByte(Fld_page_is_redirect) == 1); page.Text_len_ (rdr.ReadInt(Fld_page_len)); - page.Db_file_idx_ (rdr.ReadInt(Fld_page_file_idx)); - if (html_db_enabled) + page.Text_db_id_ (rdr.ReadInt(Fld_page_file_idx)); + if (html_db_enabled) { page.Html_db_id_(rdr.ReadInt(Fld_page_html_db_id)); + page.Redirect_id_(rdr.ReadInt(Fld_page_redirect_id)); + } } public static void Read_page__idx(Xodb_page page, DataRdr rdr) { page.Id_ (rdr.ReadInt(Fld_page_id)); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java index f0d3a95b0..3822ea424 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java @@ -27,7 +27,7 @@ public class Xodb_search_title_word_tbl { .Val_str_by_bry_(word) .Exec_insert(); } - public static void Select_by_word(Cancelable cancelable, ListAdp rv, Xow_wiki wiki, byte[] search, int results_max, Db_provider p) { + public static void Select_by_word(Cancelable cancelable, ListAdp rv, Xodb_ctx db_ctx, byte[] search, int results_max, Db_provider p) { Db_qry_select qry = Db_qry_.select_() .Cols_(Xodb_search_title_word_tbl.Fld_stw_word_id) .From_(Xodb_search_title_word_tbl.Tbl_name, "w") @@ -54,7 +54,7 @@ public class Xodb_search_title_word_tbl { Xodb_in_wkr_search_title_id wkr = new Xodb_in_wkr_search_title_id(); wkr.Init(words, rv); - wkr.Select_in(p, cancelable, wiki, 0, words.Count()); + wkr.Select_in(p, cancelable, db_ctx, 0, words.Count()); } public static final String Tbl_name = "search_title_word", Fld_stw_word_id = "stw_word_id", Fld_stw_word = "stw_word"; private static final String Tbl_sql = String_.Concat_lines_nl @@ -85,7 +85,7 @@ class Xodb_in_wkr_search_title_id extends Xodb_in_wkr_base { stmt.Val_int_(word_id.Val()); } } - @Override public void Eval_rslts(Cancelable cancelable, Xow_wiki wiki, DataRdr rdr) { + @Override public void Eval_rslts(Cancelable cancelable, Xodb_ctx db_ctx, DataRdr rdr) { while (rdr.MoveNextPeer()) { if (cancelable.Canceled()) return; int page_id = rdr.ReadInt(Xodb_search_title_page_tbl.Fld_stp_page_id); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java index 41654d4e3..8127b0e0c 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java @@ -50,7 +50,7 @@ public class Xodb_text_tbl { ListAdp pages = ListAdp_.new_(); for (int i = 0; i < len; i++) { Xodb_page page = (Xodb_page)hash.FetchAt(i); - if (page.Db_file_idx() == file.Id()) + if (page.Text_db_id() == file.Id()) pages.Add(page); } len = pages.Count(); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java index e2fc97d97..eed5313a5 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java @@ -50,7 +50,7 @@ public class Xodb_xowa_cfg_tbl { KeyVal kv = KeyVal_.new_(key, val); tmp_list.Add(kv); } - return (KeyVal[])tmp_list.XtoAry(KeyVal.class); + return (KeyVal[])tmp_list.Xto_ary(KeyVal.class); } finally {rdr.Rls(); tmp_list.Clear();} } ListAdp tmp_list = ListAdp_.new_(); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_db_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_db_tbl.java index 058fcc154..f948e035f 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_db_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_db_tbl.java @@ -30,6 +30,7 @@ public class Xodb_xowa_db_tbl { ; } finally {stmt.Rls();} } + public void Commit_all(Xodb_fsys_mgr db_fs) {this.Commit_all(db_fs.Provider_core(), db_fs.Files_ary());} public void Commit_all(Db_provider provider, Xodb_file[] ary) { stmt_bldr.Init(provider); try { @@ -61,7 +62,7 @@ public class Xodb_xowa_db_tbl { list.Add(db); } } finally {rdr.Rls();} - Xodb_file[] rv = (Xodb_file[])list.XtoAry(Xodb_file.class); + Xodb_file[] rv = (Xodb_file[])list.Xto_ary(Xodb_file.class); Chk_sequential(rv); return rv; } diff --git a/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java b/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java index 85a1bb8c5..4bbc9b1b9 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java @@ -55,9 +55,9 @@ public class Xof_url_bldr { this.md5_dir_depth = repo.Dir_depth(); return this; } - public byte[] Xto_bry() {Bld(); byte[] rv = bfr.XtoAryAndClear(); Clear(); return rv;} - public String Xto_str() {Bld(); String rv = bfr.XtoStr(); Clear(); return rv;} - public Io_url Xto_url() {Bld(); Io_url rv = Io_url_.new_fil_(bfr.XtoStr()); Clear(); return rv;} + public byte[] Xto_bry() {Bld(); byte[] rv = bfr.Xto_bry_and_clear(); Clear(); return rv;} + public String Xto_str() {Bld(); String rv = bfr.Xto_str(); Clear(); return rv;} + public Io_url Xto_url() {Bld(); Io_url rv = Io_url_.new_fil_(bfr.Xto_str()); Clear(); return rv;} private void Bld() { Add_core(); if (file_is_thumb) { diff --git a/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java b/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java index 6ddaf8762..5e512a852 100644 --- a/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java +++ b/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java @@ -105,7 +105,7 @@ public class Xow_file_mgr implements GfoInvkAble { public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_repos)) return repo_mgr; else if (ctx.Match(k, Invk_metas)) return meta_mgr; - else if (ctx.Match(k, Invk_cfg_download)) return cfg_download; + else if (ctx.Match(k, Invk_cfg_download)) return cfg_download; // NOTE: documented for Schnark; https://sourceforge.net/p/xowa/tickets/344/ else if (ctx.Match(k, Invk_fsdb)) return fsdb_mgr; else if (ctx.Match(k, Invk_wkrs)) return wkr_mgr; else return GfoInvkAble_.Rv_unhandled; diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java index b84744830..e83bd0b09 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java @@ -123,7 +123,7 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { bin_key_bfr .Add_byte(Byte_ascii.Ltr_f).Add_byte_pipe() .Add(wiki).Add_byte_pipe() .Add(ttl); - return bin_key_bfr.XtoAryAndClear(); + return bin_key_bfr.Xto_bry_and_clear(); } private byte[] Key_bld_thm(byte[] wiki, byte[] ttl, int w, double thumbtime) { bin_key_bfr .Add_byte(Byte_ascii.Ltr_t).Add_byte_pipe() @@ -132,7 +132,7 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { .Add_int_variable(w).Add_byte_pipe() .Add_int_variable(Xof_doc_thumb.X_int(thumbtime)); ; - return bin_key_bfr.XtoAryAndClear(); + return bin_key_bfr.Xto_bry_and_clear(); } public void Rls() {bin_hash.Clear(); reg_hash.Clear();} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_sql.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_sql.java index c29fe3ead..96c19cb80 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_sql.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_sql.java @@ -87,7 +87,7 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { } private boolean init = false; public boolean Reg_select_itm_exists(byte[] ttl) {return Xof_wiki_orig_tbl.Select_itm_exists(img_regy_provider, ttl);} public void Reg_select_only(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) { - Xof_wiki_orig_tbl.Select_list(wiki.App().Usr_dlg(), img_regy_provider, wiki, exec_tid, itms, hash, url_bldr, bin_mgr.Repo_mgr()); + Xof_wiki_orig_tbl.Select_list(wiki.App().Usr_dlg(), img_regy_provider, wiki.Db_mgr().Db_ctx(), exec_tid, itms, hash, url_bldr, bin_mgr.Repo_mgr()); } public void Reg_select(Xoa_page page, byte exec_tid, ListAdp itms) { OrderedHash hash = OrderedHash_.new_bry_(); diff --git a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_itm.java b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_itm.java index 82a07fb0b..22206ebe3 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_itm.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_itm.java @@ -78,7 +78,7 @@ public class Cache_fil_itm implements CompareAble { .Add_int_variable(fil_h).Add_byte_pipe() .Add_int_variable(Xof_doc_thumb.X_int(fil_thumbtime)) ; - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public int compareTo(Object obj) {Cache_fil_itm comp = (Cache_fil_itm)obj; return -Long_.Compare(cache_time, comp.cache_time);} // - for DESC sort public static final Cache_fil_itm Null = new Cache_fil_itm(); public Cache_fil_itm() {} diff --git a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java index 40cd252e3..665ed664d 100644 --- a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java +++ b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java @@ -16,16 +16,16 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files.wiki_orig; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; import gplx.xowa.files.fsdb.*; +import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.files.fsdb.*; public class Xof_wiki_orig_tbl { public static void Create_table(Db_provider p) { Sqlite_engine_.Tbl_create(p, Tbl_name, Tbl_sql); Sqlite_engine_.Idx_create(p, Idx_key); } - public static void Select_list(Cancelable cancelable, Db_provider p, Xow_wiki wiki, byte exec_tid, ListAdp itms, OrderedHash hash, Xof_url_bldr url_bldr, Xow_repo_mgr repo_mgr) { + public static void Select_list(Cancelable cancelable, Db_provider p, Xodb_ctx db_ctx, byte exec_tid, ListAdp itms, OrderedHash hash, Xof_url_bldr url_bldr, Xow_repo_mgr repo_mgr) { Xof_wiki_orig_tbl_in_wkr in_wkr = new Xof_wiki_orig_tbl_in_wkr(); in_wkr.Init(itms, hash); - in_wkr.Select_in(p, cancelable, wiki, 0, itms.Count()); + in_wkr.Select_in(p, cancelable, db_ctx, 0, itms.Count()); Xof_wiki_orig_tbl_evaluator.Rdr_done(exec_tid, itms, hash, url_bldr, repo_mgr); } public static Xof_wiki_orig_itm Select_itm(Db_provider p, byte[] ttl) { diff --git a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java index 402922911..76ffd17bf 100644 --- a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java +++ b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java @@ -37,7 +37,7 @@ class Xof_wiki_orig_tbl_in_wkr extends gplx.xowa.dbs.tbls.Xodb_in_wkr_base { stmt.Val_str_by_bry_(itm.Lnki_ttl()); } } - @Override public void Eval_rslts(Cancelable cancelable, Xow_wiki wiki, DataRdr rdr) { + @Override public void Eval_rslts(Cancelable cancelable, Xodb_ctx db_ctx, DataRdr rdr) { while (rdr.MoveNextPeer()) { if (cancelable.Canceled()) return; Xof_wiki_orig_itm itm = Xof_wiki_orig_itm.load_(rdr); diff --git a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java index 22c225cbd..3de6dc657 100644 --- a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java +++ b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java @@ -35,7 +35,7 @@ public class Xoa_fmtr_itm implements GfoInvkAble { eval_mgr.Invk_(itm_invk); fmtr.Bld_bfr(bfr, Bry_.Ary_empty); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_src)) return src; diff --git a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_sort_mgr.java b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_sort_mgr.java index 0eb68b021..8e52cc268 100644 --- a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_sort_mgr.java +++ b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_sort_mgr.java @@ -30,7 +30,7 @@ public class Xoa_fmtr_sort_mgr implements GfoInvkAble { } } public void Exec() { - wkr.Itms_((Xoa_fmtr_sort_itm[])itms.XtoAry(Xoa_fmtr_sort_itm.class)); + wkr.Itms_((Xoa_fmtr_sort_itm[])itms.Xto_ary(Xoa_fmtr_sort_itm.class)); sort_able.Sort(wkr); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java b/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java index 2ca5131cc..44599b67c 100644 --- a/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java @@ -68,7 +68,6 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble { menu_mgr.Menu_bldr().Init_by_kit(app, kit, app.User().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "menu")); menu_mgr.Init_by_kit(); bnd_mgr.Init_by_kit(app); - app.User().Wiki().Html_mgr().Init_by_kit(); GfoEvMgr_.SubSame_many(app.User(), this, Xou_user.Evt_lang_changed); app.Sys_cfg().Lang_(app.Sys_cfg().Lang()); // NOTE: force refresh of lang. must occur after after gui_mgr init, else menu lbls will break } diff --git a/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mnu_src.java b/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mnu_src.java index 0f7f80842..f98b9bf45 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mnu_src.java +++ b/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mnu_src.java @@ -202,7 +202,7 @@ class Xog_menu_mgr_src { class Xog_menu_bldr { private int indent = 0; private Bry_bfr bfr = Bry_bfr.reset_(0); - public String Gen_str() {return bfr.XtoStrAndClear();} + public String Gen_str() {return bfr.Xto_str_and_clear();} private Xog_menu_bldr Indent_add() {indent += 2; return this;} private Xog_menu_bldr Indent_del() {indent -= 2; return this;} private void Indent() { diff --git a/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr.java b/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr.java index 12d0cb52f..5e6592f9d 100644 --- a/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr.java +++ b/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr.java @@ -118,7 +118,7 @@ public class Xog_url_wkr { tmp_bfr.Add_byte(Byte_ascii.Slash); } tmp_bfr.Add(page_bry); - page_bry = tmp_bfr.Mkr_rls().XtoAryAndClear(); + page_bry = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } rv.Segs_ary_(Bry_.Ary_empty); } diff --git a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_grp.java b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_grp.java index 69730a81e..484faa331 100644 --- a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_grp.java +++ b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_grp.java @@ -39,6 +39,6 @@ class Xog_url_macro_itm { public byte[] Fmtr_exec(Bry_bfr bfr, Object... args) { if (fmtr == null) fmtr = new Bry_fmtr().Fmt_(fmt).Compile(); fmtr.Bld_bfr_many(bfr, args); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_html_itm.java b/400_xowa/src/gplx/xowa/gui/views/Xog_html_itm.java index cff6c5e9a..8925ff516 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_html_itm.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_html_itm.java @@ -46,6 +46,7 @@ public class Xog_html_itm implements GfoInvkAble, GfoEvObj { public String Html_selected_get_src_or_empty() {return html_box.Html_doc_selected_get_src_or_empty();} public String Html_selected_get_href_or_text() {return Html_extract_text(html_box.Html_doc_selected_get_href_or_text());} public String Html_selected_get_text_or_href() {return Html_extract_text(html_box.Html_doc_selected_get_text_or_href());} + public String Html_selected_get_active_or_selection() {return Html_extract_text(html_box.Html_doc_selected_get_active_or_selection());} private String Html_extract_text(String v) { Xoa_page page = owner_tab.Page(); String site = page.Wiki().Domain_str(); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk.java b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk.java index 2692b0099..eeac3eb1c 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk.java @@ -29,7 +29,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { int len = m.Args_count(); for (int i = 0; i < len; i++) bfr.Add_str("|").Add_str(m.Args_getAt(i).Val_to_str_or_empty()); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private String[] Xowa_exec_test_as_array(GfoMsg m) {// return args as array; EX: xowa_exec('proc', 'arg0', 'arg1'); -> proc,arg0,arg1 bfr.Clear(); @@ -52,7 +52,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { wiki.Parser().Parse_text_to_wdom(root, wiki.Ctx(), wiki.Ctx().Tkn_mkr(), raw, 0); byte[] data = root.Data_mid(); wiki.Html_mgr().Html_wtr().Write_all(bfr, wiki.Ctx(), data, root); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } finally { wiki.Ctx().Para().Enabled_(old_para_enabled); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_edit_mgr.java b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_edit_mgr.java index e37844624..956d3bf76 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_edit_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_edit_mgr.java @@ -51,20 +51,26 @@ public class Xog_tab_itm_edit_mgr { Xoa_page new_page = Xoa_page.new_(wiki, page.Ttl()); new_page.Revision_data().Id_(page.Revision_data().Id()); // NOTE: page_id needed for sqlite (was not needed for xdat) new_page.Data_raw_(new_text); - wiki.ParsePage_root(new_page, true); // refresh html - tab.Page_(new_page); + wiki.ParsePage_root(new_page, true); // refresh html + tab.Page_(new_page); new_page.Tab_(tab); // replace old page with new_page; DATE:2014-10-09 Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_m001(); Xoh_page_wtr_wkr wkr = wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode.Tid_read); wkr.Page_(new_page); wkr.XferAry(tmp_bfr, 0); - byte[] new_html = tmp_bfr.Mkr_rls().XtoAryAndClear(); + byte[] new_html = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); new_page.Html_data().Edit_preview_(new_html); Invalidate(wiki); win_itm.Page__mode_(Xopg_view_mode.Tid_edit); html_itm.Scroll_page_by_id_gui(Xog_html_itm.Elem_id__first_heading);// NOTE: was originally directly; changed to call on thread; DATE:2014-05-03 win_itm.Page__async__bgn(tab); // NOTE: needed to show images during preview; DATE:2014-06-21 + try { + tab.Async(); + } + catch (Exception e) { + tab.Tab_mgr().Win().App().Usr_dlg().Warn_many("error while running file wkr; page=~{0} err=~{1}", tab.Page().Url().Xto_full_str(), Err_.Message_gplx_brief(e)); + } } public static void Rename(Xog_tab_itm tab) { if (tab.View_mode() != Xopg_view_mode.Tid_edit) return; // exit if not edit; handles ctrl+r being pressed @@ -105,7 +111,7 @@ public class Xog_tab_itm_edit_mgr { Bry_bfr bfr = win.App().Utl_bry_bfr_mkr().Get_m001(); bfr.Add(new_page.Root().Root_src()); wiki.Ctx().Defn_trace().Print(data, bfr); - new_page.Data_raw_(bfr.Mkr_rls().XtoAryAndClear()); + new_page.Data_raw_(bfr.Mkr_rls().Xto_bry_and_clear()); byte old = tab.View_mode(); tab.View_mode_(view_tid); Xog_tab_itm_read_mgr.Show_page(tab, new_page, false); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_mgr.java b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_mgr.java index 09246d5d8..6ce65c818 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_mgr.java @@ -192,7 +192,7 @@ public class Xog_tab_mgr implements GfoEvObj { public void Tabs_new_link(boolean focus, String link) { if (String_.Len_eq_0(link)) { if (this.Active_tab_is_null()) return; - link = active_tab.Html_itm().Html_selected_get_text_or_href(); + link = active_tab.Html_itm().Html_selected_get_active_or_selection(); } if (String_.Len_eq_0(link)) {win.App().Usr_dlg().Prog_many("", "", "no link or text selected"); return;} Tabs_new_link(link, focus); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm.java b/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm.java index e7dbdfec2..acc0c22a0 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm.java @@ -74,7 +74,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { else if (ctx.Match(k, Invk_page_dbg_html)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_view_mode.Tid_html); else if (ctx.Match(k, Invk_page_dbg_wiki)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_view_mode.Tid_edit); else if (ctx.Match(k, Invk_page_goto)) Page__navigate_by_url_bar(m.ReadStr("v")); - else if (ctx.Match(k, Invk_page_goto_recent)) Page__navigate_by_url_bar(app.User().History_mgr().Get_at_last(app)); + else if (ctx.Match(k, Invk_page_goto_recent)) Page__navigate_by_url_bar(app.User().History_mgr().Get_at_last()); else if (ctx.Match(k, Invk_history_bwd)) {Page__navigate_by_history(Bool_.N);} else if (ctx.Match(k, Invk_history_fwd)) {Page__navigate_by_history(Bool_.Y);} else if (ctx.Match(k, Invk_eval)) App__eval(m.ReadStr("cmd")); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm__prog_href_mgr.java b/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm__prog_href_mgr.java index 390999563..68d9c70f0 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm__prog_href_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_win_itm__prog_href_mgr.java @@ -36,6 +36,6 @@ public class Xog_win_itm__prog_href_mgr { Xow_wiki wiki = page.Wiki(); app.Href_parser().Parse(tmp_href, href, wiki, page.Ttl().Page_url()); tmp_href.Print_to_bfr(tmp_bfr, wiki.Gui_mgr().Cfg_browser().Link_hover_full()); - usr_dlg.Prog_direct(tmp_bfr.XtoStrAndClear()); + usr_dlg.Prog_direct(tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/hdumps/Xob_hdump_bldr.java b/400_xowa/src/gplx/xowa/hdumps/Xob_hdump_bldr.java index 906a5780a..3cbf46394 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xob_hdump_bldr.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xob_hdump_bldr.java @@ -27,9 +27,9 @@ public class Xob_hdump_bldr { core_db = wiki.Db_mgr_as_sql().Fsys_mgr().Get_tid_root(Xodb_file_tid.Tid_core); hdump_mgr = wiki.Db_mgr_as_sql().Hdump_mgr(); hdump_save_mgr = hdump_mgr.Save_mgr(); cfg_tbl = new Xodb_xowa_cfg_tbl().Provider_(make_provider); cfg_update_stmt = cfg_tbl.Update_stmt(); + Xodb_hdump_mgr_setup.Assert_col__page_html_db_id(core_db.Provider(), cfg_tbl); Init_hdump_db(Db_get_last_or_make(wiki), cfg_tbl.Select_val_as_long_or(Cfg_grp_hdump_make, Cfg_itm_hdump_size, 0)); hdump_db_provider.Txn_mgr().Txn_bgn_if_none(); - //wiki.Db_mgr().Data_storage_format_(gplx.ios.Io_stream_.Tid_gzip); } public void Insert_page(Xoa_page page) { hdump_mgr.Write(tmp_bfr, page); @@ -42,6 +42,7 @@ public class Xob_hdump_bldr { } } public void Commit() { + Xodb_mgr_sql db_mgr = wiki.Db_mgr_as_sql(); db_mgr.Tbl_xowa_db().Commit_all(db_mgr.Fsys_mgr()); // commit new html_dbs hdump_db_provider.Txn_mgr().Txn_end_all_bgn_if_none(); cfg_tbl.Update(cfg_update_stmt, Cfg_grp_hdump_make, Cfg_itm_hdump_size, Long_.Xto_str(hdump_db_size)); } @@ -67,6 +68,7 @@ public class Xob_hdump_bldr { private static void Db_init(Db_provider p) {p.Exec_sql(Hdump_text_tbl.Tbl_sql);} private static void Db_term(Xodb_file core_db_file, Db_provider hdump_db_provider, int hdump_db_id) { hdump_db_provider.Txn_mgr().Txn_end(); + Sqlite_engine_.Idx_create(hdump_db_provider, Hdump_text_tbl.Idx_core); Sqlite_engine_.Db_attach(hdump_db_provider, "page_db", core_db_file.Url().Raw()); hdump_db_provider.Exec_sql(String_.Format(Sql_update_page, hdump_db_id)); // update all page_html_db_id entries in page_db Sqlite_engine_.Db_detach(hdump_db_provider, "page_db"); diff --git a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr.java b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr.java index acf0c1d47..93ef5446c 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr.java @@ -56,7 +56,7 @@ public class Xodb_hdump_mgr { page.File_queue().Clear(); // need to reset uid to 0, else xowa_file_# will resume from last Xoh_page_wtr_wkr wkr = wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode.Tid_read); wkr.Write_body(bfr, Xoh_wtr_ctx.Hdump, page); - page.Hdump_data().Body_(bfr.XtoAryAndClear()); + page.Hdump_data().Body_(bfr.Xto_bry_and_clear()); } public void Load(Xow_wiki wiki, Xoa_page page, int html_db_id) { if (!Enabled_chk()) return; @@ -68,7 +68,7 @@ public class Xodb_hdump_mgr { private void Load_page(Xow_wiki wiki, Xoa_page page, Hdump_page hpg) { Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_m001(); html_mgr.Init_by_page(wiki.Domain_bry(), hpg).Write(tmp_bfr); - page.Hdump_data().Body_(tmp_bfr.XtoAryAndClear()); + page.Hdump_data().Body_(tmp_bfr.Xto_bry_and_clear()); Xopg_html_data html_data = page.Html_data(); html_data.Display_ttl_(hpg.Display_ttl()); html_data.Content_sub_(hpg.Content_sub()); diff --git a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr__save_tst.java b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr__save_tst.java index 14fb7deb8..eeffd1250 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr__save_tst.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr__save_tst.java @@ -88,7 +88,7 @@ class Xodb_hdump_mgr__save_fxt extends Xodb_hdump_mgr__base_fxt { page.Hdump_data().Body_(Bry_.new_utf8_(body)); page.Hdump_data().Data_count_imgs_(imgs_count); Hdump_page_body_srl.Save(tmp_bfr, page); - return new Hdump_text_row(page_id, Hdump_text_row_tid.Tid_body, tmp_bfr.XtoAryAndClear()); + return new Hdump_text_row(page_id, Hdump_text_row_tid.Tid_body, tmp_bfr.Xto_bry_and_clear()); } public Hdump_text_row Make_row_img(Hdump_data_img__base... itms) { ListAdp tmp_list = ListAdp_.new_(); @@ -116,13 +116,13 @@ class Xodb_hdump_mgr__save_fxt extends Xodb_hdump_mgr__base_fxt { public void Test_write(String raw, String expd) { this.Exec_write(raw); Hdump_page_body_srl.Save(tmp_bfr, page); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } public void Test_save(String raw, Hdump_text_row... expd) { this.Exec_write(raw); hdump_mgr.Save_mgr().Update(page); hdump_mgr.Text_tbl().Select_by_page(expd_rows, 0); - Hdump_text_row[] actl = (Hdump_text_row[])expd_rows.XtoAryAndClear(Hdump_text_row.class); + Hdump_text_row[] actl = (Hdump_text_row[])expd_rows.Xto_ary_and_clear(Hdump_text_row.class); Tfds.Eq_ary_str(Xto_str_ary(tmp_bfr, expd), Xto_str_ary(tmp_bfr, actl)); } private static String[] Xto_str_ary(Bry_bfr bfr, Hdump_text_row[] ary) { @@ -134,7 +134,7 @@ class Xodb_hdump_mgr__save_fxt extends Xodb_hdump_mgr__base_fxt { .Add_byte_pipe().Add_int_variable(itm.Tid()) .Add_byte_pipe().Add(itm.Data()) ; - rv[i] = bfr.XtoStrAndClear(); + rv[i] = bfr.Xto_str_and_clear(); } return rv; } diff --git a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr_setup.java b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr_setup.java index c6cf12917..9fbbe09f4 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr_setup.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xodb_hdump_mgr_setup.java @@ -28,16 +28,18 @@ public class Xodb_hdump_mgr_setup { } private static Xodb_file Setup(Xodb_mgr_sql db_mgr) { Xodb_fsys_mgr fsys_mgr = db_mgr.Fsys_mgr(); - Update_core(fsys_mgr); + Assert_col__page_html_db_id(fsys_mgr.Provider_core(), db_mgr.Tbl_xowa_cfg()); Xodb_file html_db_file = Create_db(db_mgr, fsys_mgr); Create_idx(html_db_file); return html_db_file; } - private static void Update_core(Xodb_fsys_mgr fsys_mgr) { - Db_provider core_provider = fsys_mgr.Provider_core(); + public static void Assert_col__page_html_db_id(Db_provider core_provider, Xodb_xowa_cfg_tbl cfg_tbl) { + String val = cfg_tbl.Select_val_or(Xodb_fsys_mgr.Cfg_grp_db_meta, Cfg_itm_html_db_exists, "n"); + if (String_.Eq(val, "y")) return; try { - Xodb_xowa_cfg_tbl.Insert_str(core_provider, "db.meta", "html_db.exists", "y"); - core_provider.Exec_sql("ALTER TABLE page ADD COLUMN page_html_db_id integer NOT NULL DEFAULT '-1'"); + core_provider.Exec_sql(Sql_ddl__page_html_db_id); + core_provider.Exec_sql(Sql_ddl__page_redirect_id); + cfg_tbl.Insert_str(Xodb_fsys_mgr.Cfg_grp_db_meta, Cfg_itm_html_db_exists, "y"); } catch (Exception e) {Gfo_usr_dlg_._.Warn_many("", "", "failed to update core: db=~{0} err=~{1}", core_provider.Conn_info().Str_raw(), Err_.Message_gplx(e));} } private static Xodb_file Create_db(Xodb_mgr_sql db_mgr, Xodb_fsys_mgr fsys_mgr) { @@ -49,4 +51,9 @@ public class Xodb_hdump_mgr_setup { private static void Create_idx(Xodb_file html_db_file) { Sqlite_engine_.Idx_create(html_db_file.Provider(), Hdump_text_tbl.Idx_core); } + private static final String Cfg_itm_html_db_exists = "html_db.exists"; + private static final String + Sql_ddl__page_html_db_id = "ALTER TABLE page ADD COLUMN page_html_db_id integer NOT NULL DEFAULT '-1'" + , Sql_ddl__page_redirect_id = "ALTER TABLE page ADD COLUMN page_redirect_id integer NOT NULL DEFAULT '-1'" + ; } diff --git a/400_xowa/src/gplx/xowa/hdumps/Xodbv_dbs_tbl.java b/400_xowa/src/gplx/xowa/hdumps/Xodbv_dbs_tbl.java index 71524cd57..eed0bf565 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xodbv_dbs_tbl.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xodbv_dbs_tbl.java @@ -33,7 +33,7 @@ public class Xodbv_dbs_tbl { list.Add(db); } } finally {rdr.Close();} - Xodb_file[] rv = (Xodb_file[])list.XtoAry(Xodb_file.class); + Xodb_file[] rv = (Xodb_file[])list.Xto_ary(Xodb_file.class); Chk_sequential(rv); return rv; } diff --git a/400_xowa/src/gplx/xowa/hdumps/Xodbv_page_tbl.java b/400_xowa/src/gplx/xowa/hdumps/Xodbv_page_tbl.java index b4d22c311..37431a9ed 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xodbv_page_tbl.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xodbv_page_tbl.java @@ -43,7 +43,7 @@ public class Xodbv_page_tbl { page.Modified_on_ (DateAdp_.parse_fmt(rdr.Read_str(3), Page_touched_fmt)); page.Type_redirect_ (rdr.Read_byte(4) == 1); page.Text_len_ (rdr.Read_int(5)); - page.Db_file_idx_ (rdr.Read_int(6)); + page.Text_db_id_ (rdr.Read_int(6)); page.Html_db_id_ (rdr.Read_int(7)); } private static final String Page_touched_fmt = "yyyyMMddHHmmss"; diff --git a/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java b/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java index c656b4c82..b48ca1533 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java @@ -30,9 +30,10 @@ public class Xowd_hdump_mgr { public void Load(Hdump_page rv, byte[] ttl_bry) { Xoa_ttl ttl = wiki.Ttl_parse(ttl_bry); wiki_db_mgr.Tbl_mgr().Tbl__page().Select_by_ttl(dbpg, app.Db_mgr().Get(wiki_db_mgr.Key__core()), ttl.Ns(), ttl.Page_db()); + if (dbpg.Html_db_id() == -1) return; // should return "not found" message load_mgr.Load2(hpg, app.Db_mgr().Get(wiki_db_mgr.Key_by_idx(dbpg.Html_db_id())), dbpg.Id()); Bry_bfr bfr = app.Utl_bfr_mkr().Get_m001(); html_body.Init_by_page(wiki.Domain_bry(), hpg).Write(bfr); - rv.Page_body_(bfr.Mkr_rls().XtoAryAndClear()); + rv.Page_body_(bfr.Mkr_rls().Xto_bry_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/hdumps/core/Hdump_img_bldr.java b/400_xowa/src/gplx/xowa/hdumps/core/Hdump_img_bldr.java index 0e78d6efb..e1830573a 100644 --- a/400_xowa/src/gplx/xowa/hdumps/core/Hdump_img_bldr.java +++ b/400_xowa/src/gplx/xowa/hdumps/core/Hdump_img_bldr.java @@ -35,7 +35,7 @@ class Hdump_img_bldr_cmd extends Xob_itm_basic_base implements Xob_cmd { while (rdr.Move_next()) { int lnki_page_id = rdr.Read_int(0); if (lnki_page_id != cur_page_id) { - Save(cur_page_id, bfr.XtoAryAndClear()); + Save(cur_page_id, bfr.Xto_bry_and_clear()); cur_page_id = lnki_page_id; } int html_uid = rdr.Read_int(1); @@ -49,7 +49,7 @@ class Hdump_img_bldr_cmd extends Xob_itm_basic_base implements Xob_cmd { int file_page = rdr.Read_int(9); Hdump_data_img__base.Data_write_static(bfr, 0, lnki_ttl, html_uid, html_w, html_h, file_repo_id, file_ext_id, file_is_orig, html_w, file_time, file_page); } - Save(cur_page_id, bfr.XtoAryAndClear());; + Save(cur_page_id, bfr.Xto_bry_and_clear());; } private void Save(int page_id, byte[] data) { if (page_id == -1 || data.length == 0) return; diff --git a/400_xowa/src/gplx/xowa/hdumps/core/Xob_lnki_regy_mgr.java b/400_xowa/src/gplx/xowa/hdumps/core/Xob_lnki_regy_mgr.java index 07dbca17c..459c894c4 100644 --- a/400_xowa/src/gplx/xowa/hdumps/core/Xob_lnki_regy_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/core/Xob_lnki_regy_mgr.java @@ -33,7 +33,7 @@ class Redlink_regy_mgr { Save(); } private Redlink_regy_itm Get_or_new(int ns_id, byte[] ttl) { - byte[] hash_key = tmp_bfr.Add_int_variable(ns_id).Add_byte_pipe().Add(ttl).XtoAryAndClear(); + byte[] hash_key = tmp_bfr.Add_int_variable(ns_id).Add_byte_pipe().Add(ttl).Xto_bry_and_clear(); Redlink_regy_itm rv = (Redlink_regy_itm)hash.Fetch(hash_key); if (rv == null) { rv = new Redlink_regy_itm(hash_key, ns_id, ttl); @@ -61,7 +61,7 @@ class Redlink_regy_itm { Redlink_page_itm page_itm = (Redlink_page_itm)pages.FetchAt(i); page_itm.Write_to_bfr(bfr); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } class Redlink_page_itm { @@ -82,13 +82,13 @@ class Redlink_wkr { while (rdr.Move_next()) { int lnki_page_id = rdr.Read_int(0); if (lnki_page_id != cur_page_id) { - Save(cur_page_id, bfr.XtoAryAndClear()); + Save(cur_page_id, bfr.Xto_bry_and_clear()); cur_page_id = lnki_page_id; } int html_uid = rdr.Read_int(1); bfr.Add_int_variable(html_uid).Add_byte_pipe(); } - Save(cur_page_id, bfr.XtoAryAndClear());; + Save(cur_page_id, bfr.Xto_bry_and_clear());; } private void Save(int page_id, byte[] data) { if (page_id == -1 || data.length == 0) return; diff --git a/400_xowa/src/gplx/xowa/hdumps/dbs/Hdump_text_tbl.java b/400_xowa/src/gplx/xowa/hdumps/dbs/Hdump_text_tbl.java index 9b6f813fd..aeccac626 100644 --- a/400_xowa/src/gplx/xowa/hdumps/dbs/Hdump_text_tbl.java +++ b/400_xowa/src/gplx/xowa/hdumps/dbs/Hdump_text_tbl.java @@ -52,7 +52,7 @@ public class Hdump_text_tbl { rdr.Close(); } catch (Exception exc) {stmt_select = null; throw Err_.err_(exc, "stmt failed");} // must reset stmt, else next call will fail - finally {stmt_select.Rls();} + finally {if (stmt_select != null) stmt_select.Rls();} } public void Rls_all() { if (stmt_select != null) {stmt_select.Rls(); stmt_select = null;} diff --git a/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_body.java b/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_body.java index 00a089ddb..21f2558ad 100644 --- a/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_body.java +++ b/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_body.java @@ -33,8 +33,8 @@ public class Hdump_html_body { } public Hdump_html_body Init_by_page(byte[] domain_bry, Hdump_page hpg) { this.hpg = hpg; - file_dir_comm = tmp_bfr.Add(file_dir).Add(Xow_wiki_.Domain_commons_bry).Add_byte_slash().XtoAryAndClear(); - file_dir_wiki = tmp_bfr.Add(file_dir).Add(domain_bry).Add_byte_slash().XtoAryAndClear(); + file_dir_comm = tmp_bfr.Add(file_dir).Add(Xow_wiki_.Domain_commons_bry).Add_byte_slash().Xto_bry_and_clear(); + file_dir_wiki = tmp_bfr.Add(file_dir).Add(domain_bry).Add_byte_slash().Xto_bry_and_clear(); return this; } public void Write(Bry_bfr bfr) { diff --git a/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_mgr_tst.java b/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_mgr_tst.java index 08438396d..e9a817eb0 100644 --- a/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/hdumps/htmls/Hdump_html_mgr_tst.java @@ -138,9 +138,9 @@ class Hdump_html_mgr_fxt { return this; } public Hdump_html_mgr_fxt Test_html(String expd) { - if (img_list.Count() > 0) hpg.Img_itms_((Hdump_data_img__base[])img_list.XtoAryAndClear(Hdump_data_img__base.class)); + if (img_list.Count() > 0) hpg.Img_itms_((Hdump_data_img__base[])img_list.Xto_ary_and_clear(Hdump_data_img__base.class)); html_mgr.Init_by_page(wiki.Domain_bry(), hpg).Write(bfr); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); return this; } } diff --git a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr.java b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr.java index f46f53444..4c14101fa 100644 --- a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr.java @@ -55,7 +55,7 @@ public class Hdump_load_mgr { case Hdump_data_tid.Tid_redlink : Load_data_redlink(hpg); break; // 2|2|0|1 } } - if (img_itms.Count() > 0) hpg.Img_itms_((Hdump_data_img__base[])img_itms.XtoAryAndClear(Hdump_data_img__base.class)); + if (img_itms.Count() > 0) hpg.Img_itms_((Hdump_data_img__base[])img_itms.Xto_ary_and_clear(Hdump_data_img__base.class)); } private void Load_data_img() { int tid = rdr.Read_int_to_pipe(); diff --git a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr_tst.java b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr_tst.java index 31a2fa779..3353b4134 100644 --- a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_load_mgr_tst.java @@ -77,7 +77,7 @@ class Hdump_load_mgr_fxt { if (sidebar_div != null) page.Html_data().Xtn_skin_mgr().Add(new Xopg_xtn_skin_itm_mock(Bry_.new_utf8_(sidebar_div))); page.Hdump_data().Body_(Bry_.new_utf8_(body)); Hdump_page_body_srl.Save(tmp_bfr, page); - init_rows.Add(new Hdump_text_row(page_id, Hdump_text_row_tid.Tid_body, tmp_bfr.XtoAryAndClear())); + init_rows.Add(new Hdump_text_row(page_id, Hdump_text_row_tid.Tid_body, tmp_bfr.Xto_bry_and_clear())); return this; } public Hdump_load_mgr_fxt Init_row_img (String data) {init_rows.Add(new Hdump_text_row(page_id, Hdump_text_row_tid.Tid_data, Bry_.new_utf8_(data))); return this;} @@ -92,7 +92,7 @@ class Hdump_load_mgr_fxt { if (expd_display_ttl != null) Tfds.Eq(expd_display_ttl, String_.new_utf8_(hpg.Display_ttl())); if (expd_content_sub != null) Tfds.Eq(expd_content_sub, String_.new_utf8_(hpg.Content_sub())); if (expd_sidebar_div != null) Tfds.Eq(expd_sidebar_div, String_.new_utf8_(hpg.Sidebar_div())); - if (expd_imgs.Count() != 0) Tfds.Eq_ary_str((Hdump_data_img__base[])expd_imgs.XtoAryAndClear(Hdump_data_img__base.class), hpg.Img_itms()); + if (expd_imgs.Count() != 0) Tfds.Eq_ary_str((Hdump_data_img__base[])expd_imgs.Xto_ary_and_clear(Hdump_data_img__base.class), hpg.Img_itms()); return this; } } diff --git a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_page_body_srl.java b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_page_body_srl.java index d78191d0c..0116a383b 100644 --- a/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_page_body_srl.java +++ b/400_xowa/src/gplx/xowa/hdumps/loads/Hdump_page_body_srl.java @@ -37,7 +37,7 @@ public class Hdump_page_body_srl { Save_html_modules__itm(tmp_bfr, module_mgr.Itm_popups().Bind_hover_area()); Save_html_modules__itm(tmp_bfr, module_mgr.Itm_gallery().Enabled()); Save_html_modules__itm(tmp_bfr, module_mgr.Itm_hiero().Enabled()); - Save_data(bfr, Tid_html_module, tmp_bfr.XtoAryAndClear()); + Save_data(bfr, Tid_html_module, tmp_bfr.Xto_bry_and_clear()); } public static void Load_html_modules(Hdump_page hpg, byte[] src, int bgn, int end) { Hdump_module_mgr module_mgr = hpg.Module_mgr(); @@ -69,7 +69,7 @@ public class Hdump_page_body_srl { } } if (sidebar_exists) - Save_data(bfr, Tid_sidebar_div, tmp_bfr.XtoAryAndClear()); + Save_data(bfr, Tid_sidebar_div, tmp_bfr.Xto_bry_and_clear()); } private static void Save_data(Bry_bfr bfr, int tid, byte[] data) { if (data != null) { diff --git a/400_xowa/src/gplx/xowa/hdumps/saves/Hdump_save_mgr.java b/400_xowa/src/gplx/xowa/hdumps/saves/Hdump_save_mgr.java index 8e25b321d..220e1cf63 100644 --- a/400_xowa/src/gplx/xowa/hdumps/saves/Hdump_save_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/saves/Hdump_save_mgr.java @@ -36,7 +36,7 @@ public class Hdump_save_mgr { } public int Insert_body(Xoa_page page, int page_id) { Hdump_page_body_srl.Save(tmp_bfr, page); - byte[] body_bry = tmp_bfr.XtoAryAndClear(); + byte[] body_bry = tmp_bfr.Xto_bry_and_clear(); text_tbl.Insert(page_id, Hdump_text_row_tid.Tid_body, body_bry); return body_bry.length; } @@ -46,7 +46,7 @@ public class Hdump_save_mgr { Hdump_data_itm itm = (Hdump_data_itm)imgs.FetchAt(i); itm.Data_write(bfr); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public static byte[] Write_redlinks(Bry_bfr bfr, Xopg_redlink_mgr redlink_mgr) { int len = redlink_mgr.Len(); if (len == 0) return null; @@ -54,6 +54,6 @@ public class Hdump_save_mgr { for (int i = 0; i < len; ++i) { bfr.Add_byte_pipe().Add_int_variable(redlink_mgr.Get_at(i)); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/html/Xoh_html_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_html_mgr.java index 71616bfda..c7cbcbd71 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_mgr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.html; import gplx.*; import gplx.xowa.*; -import gplx.xowa.html.tidy.*; import gplx.xowa.html.utils.*; +import gplx.xowa.html.tidy.*; import gplx.xowa.html.utils.*; import gplx.xowa.html.skins.*; public class Xoh_html_mgr implements GfoInvkAble { public Xoh_html_mgr(Xoa_app app) { page_mgr = new Xoh_page_mgr(app); @@ -29,9 +29,11 @@ public class Xoh_html_mgr implements GfoInvkAble { public Xoh_page_mgr Page_mgr() {return page_mgr;} private Xoh_page_mgr page_mgr; public Xoh_tidy_mgr Tidy_mgr() {return tidy_mgr;} private Xoh_tidy_mgr tidy_mgr = new Xoh_tidy_mgr(); public Xoh_js_cleaner Js_cleaner() {return js_cleaner;} private Xoh_js_cleaner js_cleaner; + public Xoh_skin_mgr Skin_mgr() {return skin_mgr;} private Xoh_skin_mgr skin_mgr = new Xoh_skin_mgr(); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_page)) return page_mgr; else if (ctx.Match(k, Invk_tidy)) return tidy_mgr; + else if (ctx.Match(k, Invk_skins)) return skin_mgr; else return GfoInvkAble_.Rv_unhandled; - } private static final String Invk_page = "page", Invk_tidy = "tidy"; + } private static final String Invk_page = "page", Invk_tidy = "tidy", Invk_skins = "skins"; } diff --git a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java index 4437724e2..2d226b2a5 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.html; import gplx.*; import gplx.xowa.*; import gplx.core.btries.*; import gplx.html.*; import gplx.xowa.wikis.*; import gplx.xowa.net.*; -import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.html.lnkis.*; +import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.html.lnkis.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.dynamicPageList.*; import gplx.xowa.xtns.math.*; import gplx.xowa.langs.vnts.*; import gplx.xowa.xtns.cite.*; public class Xoh_html_wtr { private Xow_wiki wiki; private Xoa_app app; private Xoa_page page; private Xop_xatr_whitelist_mgr whitelist_mgr; diff --git a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr_escaper.java b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr_escaper.java index cea355c68..523ac08b4 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr_escaper.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr_escaper.java @@ -20,7 +20,7 @@ import gplx.core.btries.*; import gplx.html.*; import gplx.xowa.parsers.amps.*; public class Xoh_html_wtr_escaper { public static byte[] Escape(Xoa_app app, Bry_bfr tmp_bfr, byte[] src) { Escape(app, tmp_bfr, src, 0, src.length, true, false); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public static void Escape(Xoa_app app, Bry_bfr bfr, byte[] src, int bgn, int end, boolean interpret_amp, boolean nowiki_skip) { Xop_amp_mgr amp_mgr = app.Parser_amp_mgr(); diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr.java index a7ddc2604..a72f480eb 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr.java @@ -49,33 +49,20 @@ public class Xoh_page_wtr_mgr implements GfoInvkAble { public Bry_fmtr Page_read_fmtr() {return page_read_fmtr;} public byte[] Css_common_bry() {return css_common_bry;} public Xoh_page_wtr_mgr Css_common_bry_(Io_url v) {css_common_bry = app.Encoder_mgr().Fsys().Encode_http(v); return this;} private byte[] css_common_bry; public byte[] Css_wiki_bry() {return css_wiki_bry;} public Xoh_page_wtr_mgr Css_wiki_bry_(Io_url v) {css_wiki_bry = app.Encoder_mgr().Fsys().Encode_http(v); return this;} private byte[] css_wiki_bry; - private Bry_fmtr page_read_fmtr = Bry_fmtr.new_("" - , "page_id", "page_name", "page_title", "page_content_sub", "page_jumpto", "page_data", "page_langs", "page_modified_on_msg", "page_lang_ltr" - , "html_css_common_path", "html_css_wiki_path", "page_body_cls", "html_content_editable" - , "xowa_head" - , "portal_div_personal", "portal_div_ns", "portal_div_view" - , "portal_div_logo", "portal_div_home", "portal_div_xtn", "portal_div_wikis", "portal_sidebar" - , "edit_div_rename", "edit_div_preview" - , "app_version", "app_build_date", "app_root_dir", "js_wikidata", "js_edit_toolbar", "xowa_mode_is_server" - ); - public Bry_fmtr Page_edit_fmtr() {return page_edit_fmtr;} private Bry_fmtr page_edit_fmtr = Bry_fmtr.new_("" - , "page_id", "page_name", "page_title", "page_content_sub", "page_jumpto", "page_data", "page_langs", "page_modified_on_msg", "page_lang_ltr" - , "html_css_common_path", "html_css_wiki_path", "page_body_cls", "html_content_editable" - , "xowa_head" - , "portal_div_personal", "portal_div_ns", "portal_div_view" - , "portal_div_logo", "portal_div_home", "portal_div_xtn", "portal_div_wikis", "portal_sidebar" - , "edit_div_rename", "edit_div_preview" - , "app_version", "app_build_date", "app_root_dir", "js_wikidata", "js_edit_toolbar", "xowa_mode_is_server" - ); - public Bry_fmtr Page_html_fmtr() {return page_html_fmtr;} private Bry_fmtr page_html_fmtr = Bry_fmtr.new_("" - , "page_id", "page_name", "page_title", "page_content_sub", "page_jumpto", "page_data", "page_langs", "page_modified_on_msg", "page_lang_ltr" - , "html_css_common_path", "html_css_wiki_path", "page_body_cls", "html_content_editable" - , "xowa_head" - , "portal_div_personal", "portal_div_ns", "portal_div_view" - , "portal_div_logo", "portal_div_home", "portal_div_xtn", "portal_div_wikis", "portal_sidebar" - , "edit_div_rename", "edit_div_preview" - , "app_version", "app_build_date", "app_root_dir", "js_wikidata", "js_edit_toolbar", "xowa_mode_is_server" - ); + private static final String[] Fmtr_keys = new String[] + { "app_root_dir", "app_version", "app_build_date", "xowa_mode_is_server" + , "page_id", "page_name", "page_title", "page_modified_on_msg" + , "html_css_common_path", "html_css_wiki_path", "xowa_head" + , "page_lang_ltr", "page_content_sub", "page_jumpto", "page_body_cls", "html_content_editable" + , "page_data", "page_langs" + , "portal_div_personal", "portal_div_ns", "portal_div_view" + , "portal_div_logo", "portal_div_home", "portal_div_xtn" + , "portal_div_wikis", "portal_sidebar" + , "edit_div_rename", "edit_div_preview", "js_edit_toolbar" + }; + private Bry_fmtr page_read_fmtr = Bry_fmtr.new_("", Fmtr_keys); + public Bry_fmtr Page_edit_fmtr() {return page_edit_fmtr;} private Bry_fmtr page_edit_fmtr = Bry_fmtr.new_("", Fmtr_keys); + public Bry_fmtr Page_html_fmtr() {return page_html_fmtr;} private Bry_fmtr page_html_fmtr = Bry_fmtr.new_("", Fmtr_keys); private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); public byte[] Edit_rename_div_bry(Xoa_ttl ttl) { return div_edit_rename_fmtr.Bld_bry_many(tmp_bfr, ttl.Full_db()); diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr.java b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr.java index a3f888895..b2e6954b3 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr.java @@ -42,13 +42,13 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { } Write_page(html_bfr, app, wiki, mgr, page, view_mode, fmtr, this); if (page_mode == Xopg_view_mode.Tid_html) // if html, write page again, but wrap it in html skin this time - Write_page(html_bfr, app, wiki, mgr, page, page_mode, mgr.Page_html_fmtr(), Html_utl.Escape_html_as_str(html_bfr.XtoStrAndClear())); + Write_page(html_bfr, app, wiki, mgr, page, page_mode, mgr.Page_html_fmtr(), Html_utl.Escape_html_as_str(html_bfr.Xto_str_and_clear())); wtr_page_lang.Page_(null); } else XferAry(html_bfr, 0); this.page = null; - return html_bfr.XtoAryAndClear(); + return html_bfr.Xto_bry_and_clear(); } private void Write_page(Bry_bfr html_bfr, Xoa_app app, Xow_wiki wiki, Xoh_page_wtr_mgr mgr, Xoa_page page, byte view_tid, Bry_fmtr fmtr, Object page_data) { byte[] custom_html = page.Html_data().Custom_html(); @@ -63,25 +63,20 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { byte[] page_body_class = Xoh_page_body_cls.Calc(tmp_bfr, page_ttl, page_tid); byte[] html_content_editable = wiki.Gui_mgr().Cfg_browser().Content_editable() ? Content_editable_bry : Bry_.Empty; byte[] page_content_sub = Xoh_page_wtr_wkr_.Bld_page_content_sub(app, wiki, page, tmp_bfr); - byte[] js_wikidata_bry = Wdata_wiki_mgr.Wiki_page_is_json(wiki.Domain_tid(), page_ns_id) ? app.User().Lang().Fragment_mgr().Html_js_wikidata() : Bry_.Empty; byte[] js_edit_toolbar_bry = view_tid == Xopg_view_mode.Tid_edit ? wiki.Fragment_mgr().Html_js_edit_toolbar() : Bry_.Empty; Xow_portal_mgr portal_mgr = wiki.Html_mgr().Portal_mgr().Init_assert(); - fmtr.Bld_bfr_many(html_bfr, page.Revision_data().Id() + fmtr.Bld_bfr_many(html_bfr + , app.Fsys_mgr().Root_dir_bry(), Xoa_app_.Version, Xoa_app_.Build_date, app.Tcp_server().Running_str() + , page.Revision_data().Id() , Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, page_ttl, null) // NOTE: page_name does not show display_title (). always pass in null , Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, page_ttl, page.Html_data().Display_ttl()) - , page_content_sub - , wiki.Html_mgr().Portal_mgr().Div_jump_to() - , page_data, wtr_page_lang, page_modified_on_msg, page.Lang().Dir_bry() - , mgr.Css_common_bry(), mgr.Css_wiki_bry(), page_body_class, html_content_editable - , page.Html_data().Module_mgr().Init(app, wiki, page).Init_dflts() + , page_modified_on_msg + , mgr.Css_common_bry(), mgr.Css_wiki_bry(), page.Html_data().Module_mgr().Init(app, wiki, page).Init_dflts() + , page.Lang().Dir_bry(), page_content_sub, wiki.Html_mgr().Portal_mgr().Div_jump_to(), page_body_class, html_content_editable + , page_data, wtr_page_lang , portal_mgr.Div_personal_bry(), portal_mgr.Div_ns_bry(app.Utl_bry_bfr_mkr(), page_ttl, wiki.Ns_mgr()), portal_mgr.Div_view_bry(app.Utl_bry_bfr_mkr(), view_tid, page.Html_data().Xtn_search_text()) , portal_mgr.Div_logo_bry(), portal_mgr.Div_home_bry(), new Xopg_xtn_skin_fmtr_arg(page, Xopg_xtn_skin_itm_tid.Tid_sidebar), portal_mgr.Div_wikis_bry(app.Utl_bry_bfr_mkr()), portal_mgr.Sidebar_mgr().Html_bry() - , mgr.Edit_rename_div_bry(page_ttl) - , page.Html_data().Edit_preview_w_dbg() - , Xoa_app_.Version, Xoa_app_.Build_date - , app.Fsys_mgr().Root_dir().To_http_file_bry() - , js_wikidata_bry, js_edit_toolbar_bry - , app.Tcp_server().Running_str() + , mgr.Edit_rename_div_bry(page_ttl), page.Html_data().Edit_preview_w_dbg(), js_edit_toolbar_bry ); Xoh_page_wtr_wkr_.Bld_head_end(html_bfr, page); Xoh_page_wtr_wkr_.Bld_html_end(html_bfr, page); diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_.java b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_.java index 80cd03753..f6723c0c8 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_.java @@ -28,7 +28,7 @@ public class Xoh_page_wtr_wkr_ { if (display_ttl != null) return display_ttl; // display_ttl explicitly set; use it if (ttl.Ns().Id() == Xow_ns_.Id_special) { // special: omit query args, else excessively long titles: EX:"Special:Search/earth?fulltext=y&xowa page index=1" tmp_bfr.Add(ttl.Ns().Name_txt_w_colon()).Add(ttl.Page_txt_wo_qargs()); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } else return ttl.Full_txt(); // NOTE: include ns with ttl as per defect d88a87b3 diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_tst.java b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_tst.java index c0fc4c2f3..e156ddc85 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_tst.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_wkr_tst.java @@ -60,7 +60,7 @@ class Xoh_page_wtr_wkr_fxt { Xoh_page_wtr_mgr mgr = wiki.Html_mgr().Page_wtr_mgr(); Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_view_mode.Tid_edit).Page_(page).Mgr_(mgr); wkr.XferAry(tmp_bfr, 0); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } public void Test_read(String page_name, String page_text, String expd) { wiki.Html_mgr().Page_wtr_mgr().Html_capable_(true); @@ -70,6 +70,6 @@ class Xoh_page_wtr_wkr_fxt { Xoh_page_wtr_mgr mgr = wiki.Html_mgr().Page_wtr_mgr(); Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_view_mode.Tid_read).Page_(page).Mgr_(mgr); wkr.XferAry(tmp_bfr, 0); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr.java b/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr.java index 1d9f14b43..ae11a2bbf 100644 --- a/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr.java @@ -51,8 +51,8 @@ class Xoh_ctg_itm_fmtr implements Bry_fmtr_arg { for (int i = 0; i < ctgs_len; i++) { byte[] page_name = page.Category_list()[i]; tmp_bfr.Add(ctg_prefix).Add(page_name); - page.Wiki().App().Href_parser().Build_to_bfr(tmp_href, page.Wiki(), tmp_bfr.XtoAryAndClear()); - itm_fmtr.Bld_bfr(bfr, tmp_href.XtoAryAndClear(), page_name, page_name); + page.Wiki().App().Href_parser().Build_to_bfr(tmp_href, page.Wiki(), tmp_bfr.Xto_bry_and_clear()); + itm_fmtr.Bld_bfr(bfr, tmp_href.Xto_bry_and_clear(), page_name, page_name); } tmp_bfr.Mkr_rls(); tmp_href.Mkr_rls(); diff --git a/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr_tst.java b/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr_tst.java index 3a1aa7238..3c721d268 100644 --- a/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/Xohp_ctg_grp_mgr_tst.java @@ -51,6 +51,6 @@ class Xoh_ctg_mgr_fxt { Xoa_page page = wiki.Ctx().Cur_page(); page.Category_list_(ctgs_bry_ary); ctg_grp_mgr.Bld(tmp_bfr, page, ctgs_bry_ary.length); - Tfds.Eq_str_lines(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java b/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java index adf443b60..e8949e737 100644 --- a/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java @@ -40,9 +40,6 @@ public class Xow_html_mgr implements GfoInvkAble { public void Init_by_lang(Xol_lang lang) { portal_mgr.Init_by_lang(lang); } - public void Init_by_kit() { - portal_mgr.Init_by_kit(wiki); - } public Xow_wiki Wiki() {return wiki;} private Xow_wiki wiki; public Xoh_html_wtr Html_wtr() {return html_wtr;} private Xoh_html_wtr html_wtr; public Xoh_page_wtr_mgr Page_wtr_mgr() {return page_wtr_mgr;} private Xoh_page_wtr_mgr page_wtr_mgr; diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__base.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__base.java index 0bfd60a98..2ffea299e 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__base.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__base.java @@ -43,7 +43,7 @@ public class Xoh_file_html_fmtr__base implements Xoh_file_img_wkr { scratch_bfr.Add(Bry_style_bgn); scratch_bfr.Add_int_variable(div2_width); scratch_bfr.Add(Bry_style_end); - fmtr_thumb_core.Bld_bfr_many(tmp_bfr, uid, div1_halign, scratch_bfr.XtoAryAndClear(), div2_content); + fmtr_thumb_core.Bld_bfr_many(tmp_bfr, uid, div1_halign, scratch_bfr.Xto_bry_and_clear(), div2_content); } private static final byte[] Bry_style_bgn = Bry_.new_ascii_("style=\"width:"), Bry_style_end = Bry_.new_ascii_("px;\""); protected Bry_fmtr fmtr_thumb_core = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last // REF.MW: Linker.php|makeImageLink2 ( "
" @@ -56,7 +56,7 @@ public class Xoh_file_html_fmtr__base implements Xoh_file_img_wkr { ); public byte[] Html_thumb_part_img(Bry_bfr tmp_bfr, Xoa_page page, Xof_xfer_itm xfer_itm, Xop_lnki_tkn lnki, int uid, byte[] a_href, byte[] img_src, byte[] img_alt) { Html_thumb_part_img(tmp_bfr, page, xfer_itm, uid, a_href, lnki.Ttl().Page_txt(), xfer_itm.Html_w(), xfer_itm.Html_h(), img_src, img_alt); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public void Html_thumb_part_img(Bry_bfr tmp_bfr, Xoa_page page, Xof_xfer_itm xfer_itm, int uid, byte[] a_href, byte[] a_title, int img_w, int img_h, byte[] img_src, byte[] img_alt) { fmtr_thumb_part_img.Bld_bfr_many(tmp_bfr, uid, a_href, a_title, arg_img_core.Init(uid, img_src, img_w, img_h), img_alt); diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__hdump.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__hdump.java index ff87b76e6..e568b1461 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__hdump.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_html_fmtr__hdump.java @@ -24,7 +24,7 @@ public class Xoh_file_html_fmtr__hdump extends Xoh_file_html_fmtr__base { tmp_bfr.Add(Hdump_html_consts.Key_img_style); tmp_bfr.Add_int_variable(uid); tmp_bfr.Add_byte_apos(); - byte[] div2_width_repl = tmp_bfr.XtoAryAndClear(); + byte[] div2_width_repl = tmp_bfr.Xto_bry_and_clear(); fmtr_thumb_core.Bld_bfr_many(bfr, uid, div1_halign, div2_width_repl, div2_content); } @Override public void Html_thumb_part_magnify(Bry_bfr bfr, int uid, byte[] a_href, byte[] a_title, byte[] img_src) {Write_xnde(bfr, Hdump_html_consts.Key_file_mgnf, uid);} diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr__basic.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr__basic.java index 8308a1c08..e1e1a6486 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr__basic.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr__basic.java @@ -121,7 +121,7 @@ public class Xoh_file_wtr__basic { && !lnki.Alt_exists() // unless blank alt exists; EX: [[File:A.png|a|alt=]] should have alt of "", not "a" ) { Arg_caption(ctx, src, Xoh_wtr_ctx.Alt, lnki).XferAry(tmp_bfr, 0); - alt = tmp_bfr.XtoAryAndClear(); + alt = tmp_bfr.Xto_bry_and_clear(); } boolean div_align_exists = false; switch (lnki.Align_h()) { @@ -151,19 +151,19 @@ public class Xoh_file_wtr__basic { byte[] lnki_cls = xfer_itm.Html_pass() ? Xow_html_mgr.Bry_img_cls_thumbimage : Xow_html_mgr.Bry_img_cls_none; Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); lnki_file_wkr.Html_full_img(tmp_bfr, hctx, page, xfer_itm, uid, lnki_href, Xow_html_mgr.Bry_anchor_class_image, Xow_html_mgr.Bry_anchor_rel_blank, anchor_title, lnki_ttl, xfer_itm.Html_w(), xfer_itm.Html_h(), view_src, lnki_alt_text, lnki_cls); - byte[] thumb = tmp_bfr.XtoAryAndClear(); + byte[] thumb = tmp_bfr.Xto_bry_and_clear(); html_fmtr.Html_thumb_file_image(tmp_bfr, thumb, Arg_caption_div(ctx, src, lnki, uid, img_orig_src, lnki_href), lnki_alt_html); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private byte[] Arg_content_audio(Xop_lnki_tkn lnki, Xop_ctx ctx, byte[] src, int uid, byte[] lnki_href, byte[] img_orig_src, byte[] alt) { byte[] info_btn = Bry_.Empty; if (lnki.Media_icon()) { html_fmtr.Html_thumb_part_info(scratch_bfr, uid, lnki_href, html_mgr.Img_media_info_btn()); - info_btn = scratch_bfr.XtoAryAndClear(); + info_btn = scratch_bfr.Xto_bry_and_clear(); } int play_btn_width = lnki.Lnki_w(); if (play_btn_width < 1) play_btn_width = html_mgr.Img_thumb_width(); // if no width set width to default img width html_fmtr.Html_thumb_file_audio(scratch_bfr, Arg_caption_div(ctx, src, lnki, uid, img_orig_src, lnki_href), Arg_alt_html(ctx, src, lnki), Arg_play_btn(uid, play_btn_width, Play_btn_max_width, img_orig_src, lnki.Ttl().Page_txt()), info_btn); - return scratch_bfr.XtoAryAndClear(); + return scratch_bfr.Xto_bry_and_clear(); } private byte[] Arg_content_video(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, Xof_xfer_itm xfer_itm, int uid, boolean lnki_thumb, byte[] a_href, byte[] view_src, byte[] orig_src, byte[] img_alt) { int thumb_w = xfer_itm.Html_w(); @@ -174,7 +174,7 @@ public class Xoh_file_wtr__basic { alt_html = Arg_alt_html(ctx, src, lnki); } html_fmtr.Html_thumb_file_video(scratch_bfr, Arg_play_btn(uid, play_btn_width, play_btn_width, orig_src, lnki.Ttl().Page_txt()), html_fmtr.Html_thumb_part_img(scratch_bfr, page, xfer_itm, lnki, uid, a_href, view_src, img_alt), caption_html, alt_html); - return scratch_bfr.XtoAryAndClear(); + return scratch_bfr.Xto_bry_and_clear(); } private byte[] Arg_caption_div(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int uid, byte[] img_orig_src, byte[] lnki_href) { Bry_fmtr_arg caption = Arg_caption(ctx, src, Xoh_wtr_ctx.Basic, lnki); @@ -182,10 +182,10 @@ public class Xoh_file_wtr__basic { if (lnki.Media_icon()) { if (msg_file_enlarge == null) msg_file_enlarge = wiki.Msg_mgr().Val_by_id(Xol_msg_itm_.Id_file_enlarge); html_fmtr.Html_thumb_part_magnify(scratch_bfr, uid, lnki_href, msg_file_enlarge, html_mgr.Img_thumb_magnify()); - magnify_btn = scratch_bfr.XtoAryAndClear(); + magnify_btn = scratch_bfr.Xto_bry_and_clear(); } html_fmtr.Html_thumb_part_caption(scratch_bfr, magnify_btn, caption); - return scratch_bfr.XtoAryAndClear(); + return scratch_bfr.Xto_bry_and_clear(); } private byte[] msg_file_enlarge; private Bry_fmtr_arg Arg_caption(Xop_ctx ctx, byte[] src, Xoh_wtr_ctx hctx_for_caption, Xop_lnki_tkn lnki) { return lnki.Caption_exists() ? caption_fmtr.Set(ctx, hctx_for_caption, src, lnki.Caption_val_tkn(), Xoh_lnki_text_fmtr.Null_fmtr) : Bry_fmtr_arg_.Null; @@ -195,18 +195,18 @@ public class Xoh_file_wtr__basic { media_alt_fmtr.Set(ctx, Xoh_wtr_ctx.Alt, src, lnki.Alt_tkn().Val_tkn(), Xoh_lnki_text_fmtr.Null_fmtr); Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); media_alt_fmtr.XferAry(tmp_bfr, 0); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private byte[] Arg_alt_html(Xop_ctx ctx, byte[] alt_src, Xop_lnki_tkn lnki) { if (!lnki.Alt_exists()) return Bry_.Empty; media_alt_fmtr.Set(ctx, Xoh_wtr_ctx.Basic, alt_src, lnki.Alt_tkn().Val_tkn(), html_fmtr.Html_thumb_part_alt_fmtr()); Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); media_alt_fmtr.XferAry(tmp_bfr, 0); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private byte[] Arg_play_btn(int uid, int width, int max_width, byte[] a_href, byte[] a_xowa_title) { html_fmtr.Html_thumb_part_play(scratch_bfr, uid, width - 2, max_width, a_href, a_xowa_title, html_mgr.Img_media_play_btn()); // NOTE: -2 is fudge factor else play btn will jut out over video thumb; see Earth and ISS video - return scratch_bfr.XtoAryAndClear(); + return scratch_bfr.Xto_bry_and_clear(); } private static byte[] Arg_anchor_title(Bry_bfr tmp_bfr, byte[] src, Xop_lnki_tkn lnki, byte[] lnki_ttl, Xoh_lnki_title_fmtr anchor_title_wkr) { switch (lnki.Lnki_type()) { @@ -221,7 +221,7 @@ public class Xoh_file_wtr__basic { tmp_bfr.Add(Atr_title); anchor_title_wkr.Set(src, anchor_title_tkn).XferAry(tmp_bfr, 0); tmp_bfr.Add_byte(Byte_ascii.Quote); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private static byte[] Arg_img_cls(Bry_bfr tmp_bfr, Xop_lnki_tkn lnki) { byte[] cls_border = lnki.Border() == Bool_.Y_byte ? Bry_cls_thumbborder : null; @@ -242,7 +242,7 @@ public class Xoh_file_wtr__basic { ++written; } tmp_bfr.Add(Byte_ascii.Quote_bry); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public static final int Play_btn_max_width = 1024; private static final byte[] diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_text_fmtr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_text_fmtr.java index 24b4646fe..aa9418fcf 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_text_fmtr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_text_fmtr.java @@ -29,7 +29,7 @@ public class Xoh_lnki_text_fmtr implements Bry_fmtr_arg { // formats alt or capt html_wtr.Write_tkn(tmp_bfr, ctx, hctx, src, null, Xoh_html_wtr.Sub_idx_null, text_tkn); tmp_bfr.Mkr_rls(); if (tmp_bfr.Len() == 0) return; - byte[] bry = tmp_bfr.XtoAryAndClear(); + byte[] bry = tmp_bfr.Xto_bry_and_clear(); if (fmtr == Null_fmtr) trg.Add(bry); else diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr_tst.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr_tst.java index 177f66851..686639f60 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr_tst.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr_tst.java @@ -37,6 +37,6 @@ class Xoh_lnki_title_fmtr_fxt { Xop_root_tkn root = fxt.Ctx().Tkn_mkr().Root(raw_bry); fxt.Parser().Parse_page_all_clear(root, fxt.Ctx(), fxt.Ctx().Tkn_mkr(), raw_bry); title_wkr.Set(raw_bry, root).Bld_recurse(bfr, root); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_wtr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_wtr.java index efd20cf63..6216a90f8 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_wtr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_wtr.java @@ -99,7 +99,7 @@ public class Xoh_lnki_wtr { app.Href_parser().Build_to_bfr(bfr, wiki, lnki_ttl, hctx.Mode_is_popup()); // '/wiki/A' if (cfg.Lnki_id()) { int lnki_html_id = lnki.Html_id(); - if (lnki_html_id > 0) // html_id=0 for skipped lnkis; EX:anchors and interwiki + if (lnki_html_id > Lnki_id_ignore) // html_id=0 for skipped lnkis; EX:anchors and interwiki bfr .Add(Xoh_consts.A_mid_id) // '" id=\"xowa_lnki_' .Add_int_variable(lnki_html_id); // '1234' } @@ -169,6 +169,7 @@ public class Xoh_lnki_wtr { return history_mgr.Has(wiki_key, page_ttl) ? Lnki_cls_visited_bry : Bry_.Empty; } private static final byte[] Lnki_cls_visited_bry = Bry_.new_ascii_(" class=\"xowa-visited\""); private static final byte[] Bry_xowa_visited = Bry_.new_ascii_("\" class=\"xowa-visited"); + public static final int Lnki_id_ignore = 0, Lnki_id_min = 1; } interface Xop_lnki_caption_wtr { void Write_tkn(Xop_ctx ctx, Xoh_wtr_ctx hctx, Bry_bfr bfr, byte[] src, Xop_tkn_grp grp, int sub_idx, Xop_tkn_itm tkn); diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__globals.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__globals.java index 834ede971..3b2af700c 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__globals.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__globals.java @@ -22,12 +22,21 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { public byte[] Key() {return Key_const;} private static final byte[] Key_const = Bry_.new_ascii_("globals"); public boolean Enabled() {return enabled;} public void Enabled_n_() {enabled = false;} public void Enabled_y_() {enabled = true;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled; public void Clear() {enabled = false;} - public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { + if (!enabled) return; + if (Url_core_css == null) Url_core_css = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "core", "core.css").To_http_file_bry(); + wtr.Write_css_include(Url_core_css); + } public void Write_css_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; - if (Url_core == null) Url_core = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "xowa.core", "xowa.core.js").To_http_file_bry(); - wtr.Write_js_include(Url_core); + if (Url_core_js == null) { + Io_url core_dir = app.Fsys_mgr().Bin_any_dir().GenSubDir_nest("xowa", "html", "res", "src", "xowa", "core"); + Url_core_js = core_dir.GenSubFil("core.js").To_http_file_bry(); + Url_DOMContentLoaded_js = core_dir.GenSubFil("DOMContentLoaded.js").To_http_file_bry(); + } + wtr.Write_js_include(Url_core_js); + wtr.Write_js_include(Url_DOMContentLoaded_js); } public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; @@ -56,7 +65,7 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { wtr.Write_js_global_ini_atr_obj(Key_wgMonthNames , months_long); wtr.Write_js_global_ini_atr_obj(Key_wgMonthNamesShort , months_short); } - public static final byte[] + public static final byte[] // NOTE: most of these are for the table-sorter Key_mode_is_gui = Bry_.new_ascii_("mode_is_gui") , Key_mode_is_http = Bry_.new_ascii_("mode_is_http") , Key_http_port = Bry_.new_ascii_("http-port") @@ -75,7 +84,7 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { for (int i = january_id; i <= december_id; i++) tmp_wtr.Write_js_ary_itm(msg_mgr.Val_by_id(i)); tmp_wtr.Write_js_ary_end(); - return tmp_wtr.Bfr().XtoAryAndClear(); + return tmp_wtr.Bfr().Xto_bry_and_clear(); } private static byte[] Html_js_table_num_format_separators(Xoh_module_wtr tmp_wtr, Xol_transform_mgr separator_mgr) { byte[] dec_spr = separator_mgr.Get_val_or_self(Xol_num_mgr.Separators_key__dec); @@ -84,7 +93,7 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { tmp_wtr.Write_js_ary_itm(Bry_.Add(dec_spr, Byte_ascii.Tab_bry, Byte_ascii.Dot_bry)); tmp_wtr.Write_js_ary_itm(Bry_.Add(grp_spr, Byte_ascii.Tab_bry, Byte_ascii.Comma_bry)); tmp_wtr.Write_js_ary_end(); - return tmp_wtr.Bfr().XtoAryAndClear(); + return tmp_wtr.Bfr().Xto_bry_and_clear(); } private static final byte[] Date_format_default = Bry_.new_ascii_("dmy") @@ -92,5 +101,5 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { , Var_xowa_root_dir = Bry_.new_ascii_("xowa_root_dir") , Var_xowa_mode_is_server = Bry_.new_ascii_("xowa_mode_is_server") ; - private static byte[] Url_core; + private static byte[] Url_core_css, Url_core_js, Url_DOMContentLoaded_js; } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__mathjax.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__mathjax.java index f3998cc39..975136332 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__mathjax.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__mathjax.java @@ -25,7 +25,7 @@ public class Xoh_module_itm__mathjax implements Xoh_module_itm { public void Write_css_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; - if (Url_mathjax == null) Url_mathjax = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("javascript", "xowa", "mathjax", "xowa_mathjax.js").To_http_file_bry(); + if (Url_mathjax == null) Url_mathjax = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "xtns", "Math", "modules", "mathjax", "xowa_mathjax.js").To_http_file_bry(); wtr.Write_js_include(Url_mathjax); } public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__popups.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__popups.java index 274183373..5e4c07f22 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__popups.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__popups.java @@ -27,15 +27,15 @@ public class Xoh_module_itm__popups implements Xoh_module_itm { public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; - if (Css_url == null) Css_url = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "xowa.popups", "xowa.popups.css").To_http_file_bry(); + if (Css_url == null) Css_url = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "popups", "popups.css").To_http_file_bry(); wtr.Write_css_include(Css_url); } public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; wtr.Write_js_line(Jquery_init); // NOTE: must assert that jquery is init'd, else popup.js will not compile after going back / forward; DATE:2014-09-10 - wtr.Write_js_tail_load_lib(app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "xowa.popups", "xowa.popups.js")); - } private static final byte[] Jquery_init = Bry_.new_utf8_("xowa.js.jquery.init();"); + wtr.Write_js_tail_load_lib(app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "popups", "popups.js")); + } public static final byte[] Jquery_init = Bry_.new_ascii_("xowa.js.jquery.init();"), Mw_init = Bry_.new_ascii_("xowa.js.mediaWiki.init();"); public void Write_js_head_global(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; Xoapi_popups api_popups = app.Api_root().Html().Modules().Popups(); diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__search_suggest.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__search_suggest.java new file mode 100644 index 000000000..9160e9af2 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__search_suggest.java @@ -0,0 +1,39 @@ +/* +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.html.modules; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.gui.*; +public class Xoh_module_itm__search_suggest implements Xoh_module_itm { + public boolean Enabled() {return enabled;} public void Enabled_y_() {enabled = true;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = false; + public void Clear() {enabled = false;} + public byte[] Key() {return Key_const;} private static final byte[] Key_const = Bry_.new_ascii_("xowa.search_suggest"); + public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { + if (!enabled) return; + if (Url_css == null) Url_css = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "search-suggest", "search-suggest.css").To_http_file_bry(); + wtr.Write_css_include(Url_css); + } + public void Write_css_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { + if (!enabled) return; + if (Url_js == null) Url_js = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "search-suggest", "search-suggest.js").To_http_file_bry(); + wtr.Write_js_include(Url_js); + } + public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_head_global(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + private static byte[] Url_css, Url_js; +} diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__timeline.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__timeline.java new file mode 100644 index 000000000..6c53e6948 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__timeline.java @@ -0,0 +1,35 @@ +/* +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.html.modules; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.gui.*; +public class Xoh_module_itm__timeline implements Xoh_module_itm { + public boolean Enabled() {return enabled;} public void Enabled_y_() {enabled = true;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = false; + public void Clear() {enabled = false;} + public byte[] Key() {return Key_const;} private static final byte[] Key_const = Bry_.new_ascii_("xowa.timeline"); + public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { + if (!enabled) return; + if (Url_js == null) Url_js = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "xowa", "timeline", "timeline.js").To_http_file_bry(); + wtr.Write_js_include(Url_js); + } + public void Write_css_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_head_global(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + private static byte[] Url_js; +} diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__toc.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__toc.java index af6da67ee..1a91b057c 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__toc.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__toc.java @@ -25,7 +25,12 @@ public class Xoh_module_itm__toc implements Xoh_module_itm { public void Write_css_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} - public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} + public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { +// if (!enabled) return; +// wtr.Write_js_line(Xoh_module_itm__popups.Jquery_init); +// wtr.Write_js_line(Xoh_module_itm__popups.Mw_init); +// wtr.Write_js_tail_load_lib(app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "mw.toc", "mw.toc.js")); + } public void Write_js_head_global(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; wtr.Write_js_global_ini_atr_val(Key_exists , true); diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__top_icon.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__top_icon.java index 1b3c14941..2feeac6f7 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__top_icon.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__top_icon.java @@ -26,13 +26,13 @@ public class Xoh_module_itm__top_icon implements Xoh_module_itm { public void Write_js_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_css_include(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; - if (Css_url == null) Css_url = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "mw.top_icon", "mw.top_icon.css").To_http_file_bry(); + if (Css_url == null) Css_url = app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "gadgets", "top-icon", "top-icon.css").To_http_file_bry(); wtr.Write_css_include(Css_url); } public void Write_js_head_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} public void Write_js_tail_script(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) { if (!enabled) return; - wtr.Write_js_tail_load_lib(app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "modules", "mw.top_icon", "mw.top_icon.js")); + wtr.Write_js_tail_load_lib(app.Fsys_mgr().Bin_any_dir().GenSubFil_nest("xowa", "html", "res", "src", "gadgets", "top-icon", "top-icon.js")); } public void Write_js_head_global(Xoa_app app, Xow_wiki wiki, Xoa_page page, Xoh_module_wtr wtr) {} private static byte[] Css_url; diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr.java index cd84eb96d..61beca6aa 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr.java @@ -20,18 +20,20 @@ public class Xoh_module_mgr implements Bry_fmtr_arg { private Xoa_app app; private Xow_wiki wiki; private Xoa_page page; private Xoh_module_itm[] itms; private int itms_len; private Xoh_module_wtr wtr = new Xoh_module_wtr(); public Xoh_module_mgr() { - Itms_add(itm_css, itm_globals, itm_popups, itm_toc, itm_collapsible, itm_navframe, itm_gallery, itm_mathjax, itm_hiero, itm_top_icon); + Itms_add(itm_css, itm_globals, itm_popups, itm_toc, itm_collapsible, itm_navframe, itm_gallery, itm_mathjax, itm_hiero, itm_top_icon, itm_search_suggest, itm_timeline); } - public Xoh_module_itm__css Itm_css() {return itm_css;} private Xoh_module_itm__css itm_css = new Xoh_module_itm__css(); - public Xoh_module_itm__globals Itm_globals() {return itm_globals;} private Xoh_module_itm__globals itm_globals = new Xoh_module_itm__globals(); - public Xoh_module_itm__popups Itm_popups() {return itm_popups;} private Xoh_module_itm__popups itm_popups = new Xoh_module_itm__popups(); - public Xoh_module_itm__toc Itm_toc() {return itm_toc;} private Xoh_module_itm__toc itm_toc = new Xoh_module_itm__toc(); - public Xoh_module_itm__collapsible Itm_collapsible() {return itm_collapsible;} private Xoh_module_itm__collapsible itm_collapsible = new Xoh_module_itm__collapsible(); - public Xoh_module_itm__navframe Itm_navframe() {return itm_navframe;} private Xoh_module_itm__navframe itm_navframe = new Xoh_module_itm__navframe(); - public Xoh_module_itm__gallery Itm_gallery() {return itm_gallery;} private Xoh_module_itm__gallery itm_gallery = new Xoh_module_itm__gallery(); - public Xoh_module_itm__mathjax Itm_mathjax() {return itm_mathjax;} private Xoh_module_itm__mathjax itm_mathjax = new Xoh_module_itm__mathjax(); - public Xoh_module_itm__hiero Itm_hiero() {return itm_hiero;} private Xoh_module_itm__hiero itm_hiero = new Xoh_module_itm__hiero(); - public Xoh_module_itm__top_icon Itm_top_icon() {return itm_top_icon;} private Xoh_module_itm__top_icon itm_top_icon = new Xoh_module_itm__top_icon(); + public Xoh_module_itm__css Itm_css() {return itm_css;} private Xoh_module_itm__css itm_css = new Xoh_module_itm__css(); + public Xoh_module_itm__globals Itm_globals() {return itm_globals;} private Xoh_module_itm__globals itm_globals = new Xoh_module_itm__globals(); + public Xoh_module_itm__popups Itm_popups() {return itm_popups;} private Xoh_module_itm__popups itm_popups = new Xoh_module_itm__popups(); + public Xoh_module_itm__toc Itm_toc() {return itm_toc;} private Xoh_module_itm__toc itm_toc = new Xoh_module_itm__toc(); + public Xoh_module_itm__collapsible Itm_collapsible() {return itm_collapsible;} private Xoh_module_itm__collapsible itm_collapsible = new Xoh_module_itm__collapsible(); + public Xoh_module_itm__navframe Itm_navframe() {return itm_navframe;} private Xoh_module_itm__navframe itm_navframe = new Xoh_module_itm__navframe(); + public Xoh_module_itm__gallery Itm_gallery() {return itm_gallery;} private Xoh_module_itm__gallery itm_gallery = new Xoh_module_itm__gallery(); + public Xoh_module_itm__mathjax Itm_mathjax() {return itm_mathjax;} private Xoh_module_itm__mathjax itm_mathjax = new Xoh_module_itm__mathjax(); + public Xoh_module_itm__hiero Itm_hiero() {return itm_hiero;} private Xoh_module_itm__hiero itm_hiero = new Xoh_module_itm__hiero(); + public Xoh_module_itm__top_icon Itm_top_icon() {return itm_top_icon;} private Xoh_module_itm__top_icon itm_top_icon = new Xoh_module_itm__top_icon(); + public Xoh_module_itm__search_suggest Itm_search_suggest() {return itm_search_suggest;} private Xoh_module_itm__search_suggest itm_search_suggest = new Xoh_module_itm__search_suggest(); + public Xoh_module_itm__timeline Itm_timeline() {return itm_timeline;} private Xoh_module_itm__timeline itm_timeline = new Xoh_module_itm__timeline(); public Xoh_module_mgr Init(Xoa_app app, Xow_wiki wiki, Xoa_page page) { this.app = app; this.wiki = wiki; this.page = page; return this; @@ -39,6 +41,7 @@ public class Xoh_module_mgr implements Bry_fmtr_arg { public Xoh_module_mgr Init_dflts() { if (page.Hdr_mgr().Toc_enabled()) itm_toc.Enabled_y_(); if (wiki.Html_mgr().Module_mgr().Itm_top_icon().Enabled_y()) itm_top_icon.Enabled_y_(); + if (app.Gui_mgr().Search_suggest_mgr().Enabled()) itm_search_suggest.Enabled_y_(); itm_css.Enabled_y_(); itm_globals.Enabled_y_(); // for now, always mark this and rest as exists; DATE:2014-06-09 itm_collapsible.Enabled_y_(); diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr_tst.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr_tst.java index bcce6f851..c36abd782 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_mgr_tst.java @@ -50,6 +50,7 @@ public class Xoh_module_mgr_tst { fxt.Mgr().Itm_globals().Enabled_y_(); fxt.Test_write(String_.Concat_lines_nl_skip_last ( "" + , " " , " " - , " " + , " " + , " " )); fxt.Init_msg(Xol_msg_itm_.Id_dte_month_name_january, "January" ); // set it back } @@ -79,6 +81,7 @@ public class Xoh_module_mgr_tst { fxt.Mgr().Itm_globals().Enabled_y_(); fxt.Test_write(String_.Concat_lines_nl_skip_last ( "" + , " " , " " - , " " + , " " + , " " )); } } @@ -121,6 +125,6 @@ class Xoh_module_mgr_fxt { } public void Test_write(String expd) { mgr.Write(bfr, fxt.App(), wiki, fxt.Page()); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr_tst.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr_tst.java index 7c36a9b75..ba2823286 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr_tst.java @@ -51,13 +51,13 @@ class Xoh_module_wtr_fxt { } public void Exec_Write_js_global_ini_atr_val(String key, String val) {wtr.Write_js_global_ini_atr_val(Bry_.new_utf8_(key), Bry_.new_utf8_(val));} public void Test(String expd) { - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } // public void Init_msg(byte[] key, String val) { // wiki.Msg_mgr().Get_or_make(key).Atrs_set(Bry_.new_ascii_(val), false, false); // } // public void Test_write(String expd) { // mgr.Write(bfr, fxt.App(), wiki, fxt.Page()); -// Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); +// Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); // } } diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_html_mkr.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_html_mkr.java index 67a462e3f..ca71ae46c 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_html_mkr.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_html_mkr.java @@ -32,10 +32,10 @@ public class Xow_popup_html_mkr { public byte[] Bld(Xow_wiki cur_wiki, Xoa_page page, Xow_popup_itm popup_itm, Bry_bfr wrdx_bfr) { if (output_js_clean) app.Html_mgr().Js_cleaner().Clean_bfr(wiki, page.Ttl(), wrdx_bfr, 0); if (output_tidy) app.Html_mgr().Tidy_mgr().Run_tidy_html(page, wrdx_bfr); - byte[] hdom_bry = wrdx_bfr.XtoAryAndClear(); + byte[] hdom_bry = wrdx_bfr.Xto_bry_and_clear(); String page_url = wrdx_bfr.Add(page.Wiki().Domain_bry()).Add(Xoa_consts.Url_wiki_intermediary).Add(app.Encoder_mgr().Href() .Encode(page.Ttl().Full_db())) // NOTE: was page.Url().Raw(), but that doesn't work for Special:Search; PAGE:en.w:Earth and "Quotations"; DATE:2014-06-29 - .XtoStrAndClear() + .Xto_str_and_clear() ; fmtr_popup.Bld_bfr_many ( wrdx_bfr @@ -50,7 +50,7 @@ public class Xow_popup_html_mkr { , Xow_popup_html_bldr_.Bld_fmtr_viewed(fmtr_viewed, app, wiki, wrdx_bfr, page.Ttl()) , app.Fsys_mgr().Root_dir().To_http_file_bry() ); - return wrdx_bfr.XtoAryAndClear(); + return wrdx_bfr.Xto_bry_and_clear(); } } class Xow_popup_html_bldr_ { diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java index 77f039775..6023991e1 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java @@ -176,7 +176,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { Int_obj_ref ns_id_itm = Int_obj_ref.new_(ns.Id()); rv.Add(ns_id_itm); } - return (Int_obj_ref[])rv.XtoAry(Int_obj_ref.class); + return (Int_obj_ref[])rv.Xto_ary(Int_obj_ref.class); } private HashAdp ns_allowed_regy = HashAdp_.new_(); private Int_obj_ref ns_allowed_regy_key = Int_obj_ref.zero_(); private Xoa_page Cur_page() {return app.Gui_mgr().Browser_win().Active_page();} private Xow_popup_itm Itms_get_or_null(Xoa_page page, String popup_id) {return (Xow_popup_itm)page.Popup_mgr().Itms().Fetch(popup_id);} diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser.java index ed0369cba..86ba2df23 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.html.modules.popups; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.modules.*; import gplx.core.btries.*; import gplx.xowa.wikis.*; import gplx.xowa.apis.xowa.html.modules.*; import gplx.xowa.html.modules.popups.keeplists.*; -import gplx.xowa.gui.views.*; import gplx.xowa.parsers.hdrs.*; +import gplx.xowa.gui.views.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.tblws.*; public class Xow_popup_parser { private Xoa_app app; private Xow_wiki wiki; private Xop_parser parser; private Btrie_fast_mgr tmpl_trie, wtxt_trie; private Xop_tkn_mkr tkn_mkr; @@ -119,7 +119,7 @@ public class Xow_popup_parser { private void Parse_wrdx_to_html(Xow_popup_itm popup_itm, Bry_bfr wrdx_bfr) { Adjust_wrdx_end(popup_itm, wrdx_bfr); wrdx_bfr.Add(cfg.Notoc()); // always add notoc at end - byte[] wrdx_bry = wrdx_bfr.XtoAryAndClear(); + byte[] wrdx_bry = wrdx_bfr.Xto_bry_and_clear(); wtxt_root.Clear(); // now start parsing wrdx_bry from wtxt to html Wtxt_ctx_init(false, wrdx_bry); parser.Parse_to_src_end(wtxt_root, wtxt_ctx, tkn_mkr, wrdx_bry, wtxt_trie, Xop_parser_.Doc_bgn_bos, wrdx_bry.length); diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_data.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_data.java index 12b6e4d07..af690c638 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_data.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_data.java @@ -24,7 +24,7 @@ public class Xow_popup_parser_data { private int words_needed_min; public int Words_found() {return words_found;} private int words_found; public Bry_bfr Wrdx_bfr() {return wrdx_bfr;} private Bry_bfr wrdx_bfr = Bry_bfr.reset_(255); - public Xow_popup_word[] Words_found_ary() {return (Xow_popup_word[])words_found_list.XtoAryAndClear(Xow_popup_word.class);} private ListAdp words_found_list = ListAdp_.new_(); + public Xow_popup_word[] Words_found_ary() {return (Xow_popup_word[])words_found_list.Xto_ary_and_clear(Xow_popup_word.class);} private ListAdp words_found_list = ListAdp_.new_(); public int Tmpl_loop_count() {return tmpl_loop_count;} private int tmpl_loop_count; public void Tmpl_loop_count_add() {++tmpl_loop_count;} private Xow_popup_itm popup_itm; diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java index a81c6a407..e12b83321 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java @@ -508,6 +508,6 @@ class Xop_popup_parser_fxt { if (test_bfr == null) test_bfr = Bry_bfr.new_(); test_bfr.Clear().Add_str(raw); Bry_bfr_.Assert_at_end(test_bfr, Byte_ascii.NewLine); - Tfds.Eq(expd, test_bfr.XtoStrAndClear()); + Tfds.Eq(expd, test_bfr.Xto_str_and_clear()); } private Bry_bfr test_bfr; } diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki.java b/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki.java index c6b624806..d40d22dc0 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki.java @@ -26,7 +26,7 @@ public class Xop_keeplist_wiki { public Xop_keeplist_wiki_srl Srl() {return srl;} private Xop_keeplist_wiki_srl srl; public void Rules_add(Xop_keeplist_rule rule) {rules_list.Add(rule);} private ListAdp rules_list = ListAdp_.new_(); public void Rules_seal() { - this.rules = (Xop_keeplist_rule[])rules_list.XtoAryAndClear(Xop_keeplist_rule.class); + this.rules = (Xop_keeplist_rule[])rules_list.Xto_ary_and_clear(Xop_keeplist_rule.class); this.rules_len = rules.length; if (rules_len == 0) return; if (rules_len == 1) { diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java b/400_xowa/src/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java index 5b2fb096c..9e3d12345 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java @@ -33,7 +33,7 @@ public class Xoa_available_wikis_mgr implements GfoInvkAble { if (!itm.Offline()) continue; // only show items marked Offline (added by Available_from_fsys); DATE:2014-09-21 itms_as_html_fmtr.Bld_bfr_many(tmp_bfr, itm.Domain(), itm_cls); } - itms_as_html = tmp_bfr.XtoStr(); + itms_as_html = tmp_bfr.Xto_str(); } return itms_as_html; } private String itms_as_html; diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls.java index df468cede..98074db01 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls.java @@ -39,7 +39,7 @@ public class Xoh_page_body_cls { // REF.MW:Skin.php|getPageClasses break; } } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private static void Add_type(Bry_bfr tmp_bfr, Xoa_ttl ttl) { tmp_bfr.Add_byte_space(); @@ -115,7 +115,7 @@ public class Xoh_page_body_cls { // REF.MW:Skin.php|getPageClasses } } if (bgn != -1) trg_bfr.Add_mid(src, bgn, src_len); - return trg_bfr == null ? src : trg_bfr.XtoAryAndClear(); + return trg_bfr == null ? src : trg_bfr.Xto_bry_and_clear(); } private static final byte[] Bry_id_prefix = Bry_.new_ascii_("ns-") diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl.java index ddfee777b..0b72c48ae 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl.java @@ -33,7 +33,7 @@ public class Xoh_rtl_utl { pos = ul_end; } bfr.Add_mid(src, pos, src_len); // add rest of String - return bfr.XtoAryAndClear(); // exit + return bfr.Xto_bry_and_clear(); // exit } private static void Reverse_li_src(Bry_bfr bfr, byte[] src, int ul_bgn, int ul_end, int[] tmp_ary) { int pos = ul_bgn; diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr.java index 09f7bae62..fd07224a5 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr.java @@ -31,7 +31,7 @@ public class Xoh_subpages_bldr implements Bry_fmtr_arg { byte[] raw = ttl.Raw(); this.segs = Bry_.Split(raw, Byte_ascii.Slash); fmtr_grp.Bld_bfr(tmp_bfr, this); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public void XferAry(Bry_bfr bfr, int idx) { int segs_len = segs.length - 1; // last seg is current page; do not print @@ -45,8 +45,8 @@ public class Xoh_subpages_bldr implements Bry_fmtr_arg { } byte[] seg = segs[i]; ttl_bfr.Add(seg); - byte[] seg_ttl = ttl_bfr.XtoAry(); - byte[] seg_ttl_enc = app.Href_parser().Encoder().Encode(ttl_bfr.XtoAry()); + byte[] seg_ttl = ttl_bfr.Xto_bry(); + byte[] seg_ttl_enc = app.Href_parser().Encoder().Encode(ttl_bfr.Xto_bry()); byte[] href = Bry_.Add(Xoh_href_parser.Href_wiki_bry, seg_ttl_enc); // EX: /wiki/Help:A fmtr_itm.Bld_bfr(bfr, dlm, href, seg_ttl, seg); } diff --git a/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr.java b/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr.java index 3856ff81d..a645e6294 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr.java @@ -29,11 +29,6 @@ public class Xow_portal_mgr implements GfoInvkAble { lang_is_rtl = !lang.Dir_ltr(); } private Xoapi_skin_app_base api_skin; - public void Init_by_kit(Xow_wiki wiki) { - Xoa_app app = wiki.App(); - Xoapi_skins skins = app.Api_root().Html().Skins(); - api_skin = app.Mode() == Xoa_app_.Mode_gui ? skins.Desktop() : skins.Server(); - } public Xowh_sidebar_mgr Sidebar_mgr() {return sidebar_mgr;} private Xowh_sidebar_mgr sidebar_mgr; public Bry_fmtr Div_home_fmtr() {return div_home_fmtr;} private Bry_fmtr div_home_fmtr = Bry_fmtr.new_(""); public Xow_portal_mgr Init_assert() {if (init_needed) Init(); return this;} @@ -42,13 +37,15 @@ public class Xow_portal_mgr implements GfoInvkAble { init_needed = false; if (missing_ns_cls == null) // if missing_ns_cls not set for wiki, use the home wiki's Missing_ns_cls_(wiki.App().User().Wiki().Html_mgr().Portal_mgr().Missing_ns_cls()); + Xoapi_skins skins = wiki.App().Api_root().Html().Skins(); + api_skin = wiki.App().Mode() == Xoa_app_.Mode_gui ? skins.Desktop() : skins.Server(); Bry_fmtr_eval_mgr eval_mgr = wiki.Eval_mgr(); Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); Init_fmtr(tmp_bfr, eval_mgr, div_view_fmtr); Init_fmtr(tmp_bfr, eval_mgr, div_ns_fmtr); byte[] wiki_user_name = wiki.User().Name(); div_personal_bry = Init_fmtr(tmp_bfr, eval_mgr, div_personal_fmtr, Bry_.Add(Xoh_href_parser.Href_wiki_bry, wiki.Ns_mgr().Ids_get_or_null(Xow_ns_.Id_user).Name_db_w_colon(), wiki_user_name), wiki_user_name, Ns_cls_by_id(wiki.Ns_mgr(), Xow_ns_.Id_user), Bry_.Add(Xoh_href_parser.Href_wiki_bry, wiki.Ns_mgr().Ids_get_or_null(Xow_ns_.Id_user_talk).Name_db_w_colon(), wiki_user_name), Ns_cls_by_id(wiki.Ns_mgr(), Xow_ns_.Id_user_talk)); - byte[] main_page_href_bry = tmp_bfr.Add(Xoh_href_parser.Href_site_bry).Add(wiki.Domain_bry()).Add(Xoh_href_parser.Href_wiki_bry).XtoAryAndClear(); // NOTE: build /site/en.wikipedia.org/wiki/ href; no Main_Page, as that will be inserted by Xoh_href_parser + byte[] main_page_href_bry = tmp_bfr.Add(Xoh_href_parser.Href_site_bry).Add(wiki.Domain_bry()).Add(Xoh_href_parser.Href_wiki_bry).Xto_bry_and_clear(); // NOTE: build /site/en.wikipedia.org/wiki/ href; no Main_Page, as that will be inserted by Xoh_href_parser div_logo_bry = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, wiki.App().Encoder_mgr().Fsys().Encode_http(wiki.App().User().Fsys_mgr().Wiki_root_dir().GenSubFil_nest(wiki.Domain_str(), "html", "logo.png"))); div_home_bry = Init_fmtr(tmp_bfr, eval_mgr, div_home_fmtr); div_wikis_fmtr.Eval_mgr_(eval_mgr); @@ -60,7 +57,7 @@ public class Xow_portal_mgr implements GfoInvkAble { private byte[] Init_fmtr(Bry_bfr tmp_bfr, Bry_fmtr_eval_mgr eval_mgr, Bry_fmtr fmtr, Object... fmt_args) { fmtr.Eval_mgr_(eval_mgr); fmtr.Bld_bfr_many(tmp_bfr, fmt_args); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public byte[] Div_personal_bry() {return div_personal_bry;} private byte[] div_personal_bry = Bry_.Empty; public byte[] Div_ns_bry(Bry_bfr_mkr bfr_mkr, Xoa_ttl ttl, Xow_ns_mgr ns_mgr) { @@ -72,7 +69,7 @@ public class Xow_portal_mgr implements GfoInvkAble { subj_cls = Xow_portal_mgr.Cls_selected_y; Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); div_ns_fmtr.Bld_bfr_many(tmp_bfr, Bry_.Add(Xoh_href_parser.Href_wiki_bry, ttl.Subj_txt()), subj_cls, Bry_.Add(Xoh_href_parser.Href_wiki_bry, ttl.Talk_txt()), talk_cls); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private byte[] Ns_cls_by_ord(Xow_ns_mgr ns_mgr, int ns_ord) { Xow_ns ns = ns_mgr.Ords_get_at(ns_ord); @@ -91,7 +88,7 @@ public class Xow_portal_mgr implements GfoInvkAble { case Xopg_view_mode.Tid_html: html_cls = Cls_selected_y; break; } div_view_fmtr.Bld_bfr_many(tmp_bfr, read_cls, edit_cls, html_cls, search_text); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } public static final byte[] Cls_selected_y = Bry_.new_ascii_("selected"), Cls_new = Bry_.new_ascii_("new"), Cls_display_none = Bry_.new_ascii_("xowa_display_none"); public byte[] Div_logo_bry() {return div_logo_bry;} private byte[] div_logo_bry = Bry_.Empty; public byte[] Div_home_bry() {return api_skin != null && api_skin.Sidebar_home_enabled() ? div_home_bry : Bry_.Empty;} private byte[] div_home_bry = Bry_.Empty; @@ -100,7 +97,7 @@ public class Xow_portal_mgr implements GfoInvkAble { toggle_itm = wiki.App().Api_root().Html().Page().Toggle_mgr().Get_or_new("offline-wikis").Init(wiki.App().User().Wiki()); Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); div_wikis_fmtr.Bld_bfr_many(tmp_bfr, toggle_itm.Html_toggle_btn(), toggle_itm.Html_toggle_hdr()); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } public byte[] Missing_ns_cls() {return missing_ns_cls;} public Xow_portal_mgr Missing_ns_cls_(byte[] v) {missing_ns_cls = v; return this;} private byte[] missing_ns_cls; // NOTE: must be null due to Init check above private Bry_fmtr div_personal_fmtr = Bry_fmtr.new_("~{portal_personal_subj_href};~{portal_personal_subj_text};~{portal_personal_talk_cls};~{portal_personal_talk_href};~{portal_personal_talk_cls};", "portal_personal_subj_href", "portal_personal_subj_text", "portal_personal_subj_cls", "portal_personal_talk_href", "portal_personal_talk_cls"); diff --git a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr.java b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr.java index ffbec0559..0f9dfd578 100644 --- a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr.java +++ b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr.java @@ -37,7 +37,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { Bry_bfr comment_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); Parse(bfr, comment_bfr, sidebar_msg.Val()); Bld_html(bfr); - html_bry = bfr.Mkr_rls().XtoAryAndClear(); + html_bry = bfr.Mkr_rls().Xto_bry_and_clear(); comment_bfr = comment_bfr.Mkr_rls().Clear(); } catch (Exception e) { wiki.App().Usr_dlg().Warn_many(GRP_KEY, "sidebar.init", "sidebar init failed: ~{0} ~{1}", wiki.Domain_str(), Err_.Message_gplx_brief(e)); @@ -67,7 +67,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { int pipe_pos = Bry_finder.Find_fwd(bry, Byte_ascii.Pipe); byte[] text_key = tid == Xowh_sidebar_itm.Tid_grp ? bry : Bry_.Mid(bry, pipe_pos + 1, bry.length); // get text_key; note that grp is entire bry, while itm is after | byte[] text_val = Resolve_key(text_key); - byte[] id = id_encoder.Encode(bfr.Add(CONST_id_prefix), text_key).XtoAryAndClear(); // build id; "n-encoded_id" + byte[] id = id_encoder.Encode(bfr.Add(CONST_id_prefix), text_key).Xto_bry_and_clear(); // build id; "n-encoded_id" Xowh_sidebar_itm cur_itm = new Xowh_sidebar_itm(tid).Id_(id).Text_(text_val); wiki.Msg_mgr().Val_html_accesskey_and_title(id, bfr, cur_itm); if (tid == Xowh_sidebar_itm.Tid_grp) { diff --git a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java index 7a9ca2b10..f291e8372 100644 --- a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java @@ -222,7 +222,7 @@ class Xowh_sidebar_mgr_fxt { } public void Test_html(String expd) { sidebar_mgr.Bld_html(bfr); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } String Xto_str_grps(Xowh_sidebar_mgr mgr) { int len = mgr.Grps_len(); @@ -237,7 +237,7 @@ class Xowh_sidebar_mgr_fxt { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < ary_len; i++) sb.Add(Xto_str(ary[i])); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } String Xto_str(Xowh_sidebar_itm cur) { String_bldr sb = String_bldr_.new_(); @@ -253,6 +253,6 @@ class Xowh_sidebar_mgr_fxt { int itms_len = cur.Itms_len(); for (int i = 0; i< itms_len; i++) sb.Add(Xto_str(cur.Itms_get_at(i))); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } \ No newline at end of file diff --git a/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_itm.java b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_itm.java new file mode 100644 index 000000000..6f40a039a --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_itm.java @@ -0,0 +1,33 @@ +/* +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.html.skins; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public class Xoh_skin_itm implements GfoInvkAble { + private final Bry_fmtr fmtr = Bry_fmtr.new_(); + public Xoh_skin_itm(String key, String fmt) {this.key = key; fmtr.Fmt_(fmt);} + public String Key() {return key;} private final String key; + public void Fmt_(String v) {fmtr.Fmt_(v);} + public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { + if (ctx.Match(k, Invk_fmt)) return String_.new_utf8_(fmtr.Fmt()); + else if (ctx.Match(k, Invk_fmt_)) fmtr.Fmt_(m.ReadStr("v")); + else return GfoInvkAble_.Rv_unhandled; + return this; + } + private static final String + Invk_fmt = "fmt", Invk_fmt_ = "fmt_" + ; +} diff --git a/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_mgr.java b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_mgr.java new file mode 100644 index 000000000..e501acc5e --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_mgr.java @@ -0,0 +1,51 @@ +/* +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.html.skins; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public class Xoh_skin_mgr implements GfoInvkAble { + private final Xoh_skin_regy regy = new Xoh_skin_regy(); + public Xoh_skin_mgr() { + read = make_and_add(regy, "read"); + edit = make_and_add(regy, "edit"); + html = make_and_add(regy, "html"); + } + public Xoh_skin_itm Read() {return read;} private Xoh_skin_itm read; + public Xoh_skin_itm Edit() {return edit;} private Xoh_skin_itm edit; + public Xoh_skin_itm Html() {return html;} private Xoh_skin_itm html; + public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { + if (ctx.Match(k, Invk_read)) return read; + else if (ctx.Match(k, Invk_read_)) read = regy.Get_by_key(m.ReadStr("v")); + else if (ctx.Match(k, Invk_edit)) return edit; + else if (ctx.Match(k, Invk_edit_)) edit = regy.Get_by_key(m.ReadStr("v")); + else if (ctx.Match(k, Invk_html)) return html; + else if (ctx.Match(k, Invk_html_)) html = regy.Get_by_key(m.ReadStr("v")); + else if (ctx.Match(k, Invk_set)) regy.Set(m.ReadStr("key"), m.ReadStr("fmt")); + else return GfoInvkAble_.Rv_unhandled; + return this; + } + private static final String + Invk_read = "read", Invk_read_ = "read_" + , Invk_edit = "edit", Invk_edit_ = "edit_" + , Invk_html = "html", Invk_html_ = "html_" + , Invk_set = "set" + ; + private static Xoh_skin_itm make_and_add(Xoh_skin_regy regy, String key) { + Xoh_skin_itm rv = new Xoh_skin_itm(key, key); + regy.Add(rv); + return rv; + } +} diff --git a/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_regy.java b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_regy.java new file mode 100644 index 000000000..90db2b670 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_regy.java @@ -0,0 +1,34 @@ +/* +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.html.skins; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +class Xoh_skin_regy { + private final OrderedHash hash = OrderedHash_.new_(); + public int Len() {return hash.Count();} + public Xoh_skin_itm Get_at(int i) {return (Xoh_skin_itm)hash.FetchAt(i);} + public Xoh_skin_itm Get_by_key(String key) {return (Xoh_skin_itm)hash.Fetch(key);} + public void Set(String key, String fmt) { + Xoh_skin_itm itm = Get_by_key(key); + if (itm == null) { + itm = new Xoh_skin_itm(key, fmt); + Add(itm); + } + else + itm.Fmt_(fmt); + } + public void Add(Xoh_skin_itm itm) {hash.Add(itm.Key(), itm);} +} diff --git a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr_tst.java b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr_tst.java index 957fb0b25..21486784d 100644 --- a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr_tst.java @@ -79,14 +79,14 @@ class Xoh_tidy_mgr_fxt { public void Test_wrap(String val, String expd) { bfr.Add_str(val); Xoh_tidy_mgr.Tidy_wrap(bfr); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } public void Test_unwrap(String val, boolean expd_pass, String expd) { bfr.Add_str(val); boolean actl_pass = Xoh_tidy_mgr.Tidy_unwrap(bfr); if (actl_pass != expd_pass) Tfds.Fail("expd={0} actl={1}", expd_pass, actl_pass); else if (expd_pass) { - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } } diff --git a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy.java b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy.java index 463149e5a..6a43e52cf 100644 --- a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy.java +++ b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy.java @@ -57,7 +57,7 @@ class Xoh_tidy_wkr_jtidy implements Xoh_tidy_wkr { if (tidy == null) tidy_init(); // lazy create to skip tests int bfr_len = bfr.Len(); long bgn = Env_.TickCount(); - byte[] orig = bfr.XtoAryAndClear(); + byte[] orig = bfr.Xto_bry_and_clear(); ByteArrayInputStream rdr = new ByteArrayInputStream(orig); try { tidy.parse(rdr, wtr); diff --git a/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java b/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java index ecad1175e..ce2d2ad73 100644 --- a/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java +++ b/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java @@ -63,12 +63,12 @@ public class Xow_hdr_mgr { Id_bld_recurse(raw_bfr, src, hdr); Url_encoder encoder = wiki.App().Encoder_mgr().Id(); encoder.Encode(enc_bfr, raw_bfr.Bfr(), 0, raw_bfr.Len()); - byte[] hdrs_id = enc_bfr.XtoAry(); + byte[] hdrs_id = enc_bfr.Xto_bry(); Object o = hdrs_hash.Fetch(hdrs_ref.Val_(hdrs_id)); if (o != null) { Xop_hdr_tkn hdr_0 = (Xop_hdr_tkn)o; enc_bfr.Add_byte(Byte_ascii.Underline).Add_int_variable(hdr_0.Hdr_html_dupe_idx_next()); - hdrs_id = enc_bfr.XtoAryAndClear(); + hdrs_id = enc_bfr.Xto_bry_and_clear(); } else { hdrs_bfr.Clear(); diff --git a/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr.java b/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr.java index 897e97388..6d30187dd 100644 --- a/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr.java +++ b/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr.java @@ -106,7 +106,7 @@ public class Xow_toc_mgr implements Bry_fmtr_arg { Xoh_html_wtr html_wtr = wiki.Html_mgr().Html_wtr(); html_wtr.Init_by_page(ctx, hctx, src, page); Toc_text_recurse(ctx, page, bfr, src, html_wtr, hctx, hdr, 0); bfr.Mkr_rls(); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } catch (Exception e) { page.App().Usr_dlg().Warn_many("", "", "failed to write toc: url=~{0} err=~{1}", page.Url().Xto_full_str_safe(), Err_.Message_gplx_brief(e)); return Bry_.Empty; diff --git a/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr_tst.java b/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr_tst.java index bf6cb7d29..30bf92d61 100644 --- a/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/tocs/Xow_toc_mgr_tst.java @@ -516,7 +516,7 @@ class Xow_toc_mgr_fxt { Xop_root_tkn root = fxt.Ctx().Tkn_mkr().Root(raw_bry); fxt.Parser().Parse_page_all_clear(root, fxt.Ctx(), fxt.Ctx().Tkn_mkr(), raw_bry); toc_mgr.Html(fxt.Page(), raw_bry, tmp); - Tfds.Eq_ary(String_.SplitLines_nl(expd), String_.SplitLines_nl(tmp.XtoStrAndClear()), raw); + Tfds.Eq_ary(String_.SplitLines_nl(expd), String_.SplitLines_nl(tmp.Xto_str_and_clear()), raw); } public void Test_html_all(String raw, String expd) { fxt.Wtr_cfg().Toc_show_(true); diff --git a/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner.java b/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner.java index b8ee5648c..0ab773fa2 100644 --- a/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner.java +++ b/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner.java @@ -67,7 +67,7 @@ public class Xoh_js_cleaner { } } } finally {if (bfr != null) bfr.Mkr_rls();} - return dirty ? bfr.XtoAryAndClear() : null; + return dirty ? bfr.Xto_bry_and_clear() : null; } private int Get_pos_eq(byte[] src, int pos, int end, int frag_len) { if ( pos > 0 // bounds check diff --git a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm_.java b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm_.java index 823c1ed49..53a9eb845 100644 --- a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm_.java +++ b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm_.java @@ -70,14 +70,14 @@ public class Xol_case_itm_ { if (last) break; ++src_pos; } - return (Xol_case_itm[])list.XtoAry(Xol_case_itm.class); + return (Xol_case_itm[])list.Xto_ary(Xol_case_itm.class); } public static Xol_case_itm[] parse_mw_(byte[] raw) { OrderedHash hash = OrderedHash_.new_bry_(); int pos = 0; pos = parse_mw_grp(hash, raw, Bool_.Y, pos); pos = parse_mw_grp(hash, raw, Bool_.N, pos); - return (Xol_case_itm[])hash.XtoAry(Xol_case_itm.class); + return (Xol_case_itm[])hash.Xto_ary(Xol_case_itm.class); } private static int parse_mw_grp(OrderedHash hash, byte[] raw, boolean section_is_upper, int find_bgn) { byte[] find = section_is_upper ? parse_mw_upper : parse_mw_lower; diff --git a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr.java b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr.java index fa700a6d0..fdcb95c38 100644 --- a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr.java @@ -89,7 +89,7 @@ public class Xol_case_mgr implements GfoInvkAble, Gfo_case_mgr { itm.Case_build_upper(tmp_bfr); int pos = upper_trie.Match_pos(); tmp_bfr.Add_mid(src, pos, src_len); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public byte[] Case_build_upper(byte[] src) {return Case_build_upper(src, 0, src.length);} public byte[] Case_build_upper(byte[] src, int bgn, int end) {return Case_build(Bool_.Y, src, bgn, end);} @@ -116,7 +116,7 @@ public class Xol_case_mgr implements GfoInvkAble, Gfo_case_mgr { } pos += b_len; } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public byte[] Case_build_1st_upper(Bry_bfr bfr, byte[] src, int bgn, int end) {return Case_build_1st(bfr, Bool_.Y, src, bgn, end);} public byte[] Case_build_1st_lower(Bry_bfr bfr, byte[] src, int bgn, int end) {return Case_build_1st(bfr, Bool_.N, src, bgn, end);} @@ -125,7 +125,7 @@ public class Xol_case_mgr implements GfoInvkAble, Gfo_case_mgr { int b_len = gplx.intl.Utf8_.Len_of_char_by_1st_byte(src[bgn]); bfr.Add(Case_build(upper, src, bgn, bgn + b_len)); bfr.Add_mid(src, bgn + b_len, end); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_add_bulk)) Add_bulk(m.ReadBry("v")); diff --git a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java index e0ea70445..1e8ddb073 100644 --- a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java @@ -48,7 +48,7 @@ public class Xol_case_mgr_tst { // bfr.Add_bry_comma(itm.Src_ary()).Add_byte_pipe(); // bfr.Add_bry_comma(itm.Trg_ary()).Add_byte_nl(); // } -// Io_mgr._.SaveFilStr("C:\\test1.txt", bfr.XtoStrAndClear()); +// Io_mgr._.SaveFilStr("C:\\test1.txt", bfr.Xto_str_and_clear()); // } } class Xol_case_mgr_fxt { @@ -95,7 +95,7 @@ class Xol_case_mgr_fxt { Xol_case_itm itm = ary[i]; sb.Add(Byte_.Xto_str(itm.Tid())).Add_char_pipe().Add(String_.new_utf8_(itm.Src_ary())).Add_char_pipe().Add(String_.new_utf8_(itm.Trg_ary())).Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } public String raw_(Xol_case_itm_bry[] itms) { int itms_len = itms.length; @@ -120,7 +120,7 @@ class Xol_case_mgr_fxt { sb.Add("s:14:\"wikiLowerChars\";a:1038:{"); raw_ary(sb, lowers); sb.Add("}}"); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } private void raw_ary(String_bldr sb, String[] ary) { int ary_len = ary.length; diff --git a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr_tst.java b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr_tst.java index 9ee37fe4d..1a83f4d04 100644 --- a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr_tst.java @@ -71,7 +71,7 @@ class Xol_cnv_mgr_fxt { // Xol_cnv_grp convert_grp = app.Lang_mgr().Get_by_key_or_new(Bry_.new_ascii_(lang)).Cnv_mgr().Get_or_new(Bry_.new_ascii_(vnt)); // Bry_bfr bfr = Bry_bfr.new_(); // boolean converted = convert_grp.Convert_to_bfr(bfr, Bry_.new_utf8_(raw)); -// String actl = converted ? bfr.XtoStrAndClear() : raw; +// String actl = converted ? bfr.Xto_str_and_clear() : raw; // Tfds.Eq(expd, actl); // } public void Test_parse(String raw, String expd) { diff --git a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_mw_parse_tst.java b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_mw_parse_tst.java index 5d059f70e..0477f7269 100644 --- a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_mw_parse_tst.java +++ b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_mw_parse_tst.java @@ -80,7 +80,7 @@ class Xol_mw_parse_fxt { Xol_mw_parse_grp[] actl_ary = Parse(Bry_.new_utf8_(mw)); Bry_bfr bfr = Bry_bfr.new_(); actl_ary[0].Write_as_gfs(bfr); - Tfds.Eq_str_lines(expd, bfr.XtoStr()); + Tfds.Eq_str_lines(expd, bfr.Xto_str()); } public void Test_run(Io_url src_dir, Io_url trg_dir) { Bry_bfr bfr = Bry_bfr.new_(); @@ -97,7 +97,7 @@ class Xol_mw_parse_fxt { itm.Write_as_gfs(bfr); } Io_url trg_fil = Xol_cnv_mgr.Bld_url(trg_dir, lang_name); - Io_mgr._.SaveFilBry(trg_fil, bfr.XtoAryAndClear()); + Io_mgr._.SaveFilBry(trg_fil, bfr.Xto_bry_and_clear()); } } public Xol_mw_parse_grp[] Parse(byte[] src) { @@ -106,14 +106,14 @@ class Xol_mw_parse_fxt { Gfo_msg_log msg_log = new Gfo_msg_log("xowa"); Php_evaluator evaluator = new Php_evaluator(msg_log); parser.Parse_tkns(src, evaluator); - Php_line[] lines = (Php_line[])evaluator.List().XtoAry(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().Xto_ary(Php_line.class); int lines_len = lines.length; for (int i = 0; i < lines_len; i++) { Php_line_assign line = (Php_line_assign)lines[i]; Xol_mw_parse_grp grp = Parse_grp(line); list.Add(grp); } - return (Xol_mw_parse_grp[])list.XtoAry(Xol_mw_parse_grp.class); + return (Xol_mw_parse_grp[])list.Xto_ary(Xol_mw_parse_grp.class); } private ListAdp tmp_itm_list = ListAdp_.new_(); private Xol_mw_parse_grp Parse_grp(Php_line_assign line) { @@ -136,6 +136,6 @@ class Xol_mw_parse_fxt { Xol_mw_parse_itm itm = new Xol_mw_parse_itm(kv.Key().Val_obj_bry(), kv.Val().Val_obj_bry()); tmp_itm_list.Add(itm); } - grp.Itms_((Xol_mw_parse_itm[])tmp_itm_list.XtoAry(Xol_mw_parse_itm.class)); + grp.Itms_((Xol_mw_parse_itm[])tmp_itm_list.Xto_ary(Xol_mw_parse_itm.class)); } } diff --git a/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_itm_.java b/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_itm_.java index a137ac368..ee029c262 100644 --- a/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_itm_.java +++ b/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_itm_.java @@ -67,7 +67,7 @@ public class Xol_duration_itm_ { if (itm != null) rv.Add(itm); } - return (Xol_duration_itm[])rv.XtoAry(Xol_duration_itm.class); + return (Xol_duration_itm[])rv.Xto_ary(Xol_duration_itm.class); } } class Xol_duration_itm_sorter implements gplx.lists.ComparerAble { diff --git a/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_mgr.java b/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_mgr.java index acbefcebb..eac6f184b 100644 --- a/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/durations/Xol_duration_mgr.java @@ -37,7 +37,7 @@ public class Xol_duration_mgr { rv.Add(new Xol_interval_itm(itm, val)); } } - return (Xol_interval_itm[])rv.XtoAry(Xol_interval_itm.class); + return (Xol_interval_itm[])rv.Xto_ary(Xol_interval_itm.class); } public byte[] Format_durations(Xop_ctx ctx, long seconds, Xol_duration_itm[] ary) { if (interval_msgs == null) Format_durations_init(); @@ -84,7 +84,7 @@ public class Xol_duration_mgr { tmp_bfr.Add(segs_ary[i]); } tmp_bfr.Add(Msg_and).Add(Msg_word_separator).Add(segs_ary[last_idx]); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } } } diff --git a/400_xowa/src/gplx/xowa/langs/msgs/Xol_msg_mgr_.java b/400_xowa/src/gplx/xowa/langs/msgs/Xol_msg_mgr_.java index 13b0ddc07..233ecf121 100644 --- a/400_xowa/src/gplx/xowa/langs/msgs/Xol_msg_mgr_.java +++ b/400_xowa/src/gplx/xowa/langs/msgs/Xol_msg_mgr_.java @@ -53,7 +53,7 @@ public class Xol_msg_mgr_ { Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_().Missing_bgn_(Missing_bry).Missing_end_(Bry_.Empty).Missing_adj_(1); tmp_fmtr.Fmt_(msg_val); tmp_fmtr.Bld_bfr(tmp_bfr, fmt_args); - msg_val = tmp_bfr.XtoAryAndClear(); + msg_val = tmp_bfr.Xto_bry_and_clear(); } if (has_tmpl) { Xop_ctx sub_ctx = Xop_ctx.new_sub_(wiki); Xop_tkn_mkr tkn_mkr = sub_ctx.Tkn_mkr(); @@ -84,7 +84,7 @@ public class Xol_msg_mgr_ { if (msg_page.Missing()) { // [[MediaWiki:key/fallback]] still not found; search "lang.gfs"; Xol_msg_itm msg_in_lang = Get_msg_itm_from_gfs(wiki, lang, msg_key_sub_root); if (msg_in_lang == null) { - msg_val = tmp_bfr.Add_byte(Byte_ascii.Lt).Add(msg_key).Add_byte(Byte_ascii.Gt).XtoAryAndClear(); // set val to + msg_val = tmp_bfr.Add_byte(Byte_ascii.Lt).Add(msg_key).Add_byte(Byte_ascii.Gt).Xto_bry_and_clear(); // set val to msg_in_wiki.Src_(Xol_msg_itm.Src_missing); } else { diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java index 07bc987c6..cbd836e61 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java @@ -52,7 +52,7 @@ public class Xol_num_fmtr_base implements GfoInvkAble { i = dlm_match_pos - 1; // NOTE: handle multi-byte delims } } - return tmp.XtoAryAndClear(); + return tmp.Xto_bry_and_clear(); } public byte[] Fmt(int val) {return Fmt(Bry_.new_ascii_(Int_.Xto_str(val)));} public byte[] Fmt(byte[] src) { // SEE: DOC_1:Fmt @@ -95,7 +95,7 @@ public class Xol_num_fmtr_base implements GfoInvkAble { Gfo_num_fmt_wkr wkr = Get_or_new(src_len - num_bgn); wkr.Fmt(src, num_bgn, src_len, tmp); } - return tmp.XtoAryAndClear(); + return tmp.Xto_bry_and_clear(); } private Gfo_num_fmt_wkr Get_or_new(int src_len) { Gfo_num_fmt_wkr rv = null; diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr.java index e244ad9bf..239c332e9 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr.java @@ -62,7 +62,7 @@ public class Xol_num_grp_fmtr { break; } } - return dirty ? bfr.XtoAryAndClear() : src; + return dirty ? bfr.Xto_bry_and_clear() : src; } private void Fmt_grp(Bry_bfr bfr, byte[] src, int bgn, int end, int len, int grp_len) { int seg_0 = bgn + (len % grp_len); // 5 digit number will have seg_0 of 2; 12345 -> 12,345 diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xol_vnt_mgr.java b/400_xowa/src/gplx/xowa/langs/vnts/Xol_vnt_mgr.java index 810d2c14d..4b396ec6b 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xol_vnt_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xol_vnt_mgr.java @@ -72,7 +72,7 @@ public class Xol_vnt_mgr implements GfoInvkAble { Xol_vnt_converter converter = converter_ary[i]; tmp_bfr.Clear(); if (!converter.Convert_text(tmp_bfr, ttl_bry)) continue; // ttl is not converted for variant; ignore - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ns.Id(), tmp_bfr.XtoAryAndClear()); // NOTE: must convert to ttl in order to upper 1st letter; EX:{{jez-eng|sense}} -> Jez-eng; PAGE:sr.w:ДНК DATE:2014-07-06 + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ns.Id(), tmp_bfr.Xto_bry_and_clear()); // NOTE: must convert to ttl in order to upper 1st letter; EX:{{jez-eng|sense}} -> Jez-eng; PAGE:sr.w:ДНК DATE:2014-07-06 if (ttl == null) continue; Xodb_page page = new Xodb_page(); page.Ttl_(ns, ttl.Page_db()); diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_flag_parser.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_flag_parser.java index 9a6da04d0..9793c3ead 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_flag_parser.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_flag_parser.java @@ -41,7 +41,7 @@ class Xop_vnt_flag_parser { flag_bfr.Add_mid(src, sub.Src_bgn(), sub.Src_end()); break; case Xop_tkn_itm_.Tid_pipe: - rslt_flags[rv_idx++] = Parse_flag_bry(flag_bfr.XtoAryAndClear()); + rslt_flags[rv_idx++] = Parse_flag_bry(flag_bfr.Xto_bry_and_clear()); if (rv_idx == pipe_tkn_count) { loop = false; rslt_pipe_last = sub.Src_end(); diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_tst.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_tst.java index ca9ad0459..6508a8311 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_tst.java @@ -65,7 +65,7 @@ class Xop_vnt_tkn_mok { private ListAdp rules_list = ListAdp_.new_(); private ListAdp flags_list = ListAdp_.new_(); public Xop_vnt_flag[] Flags() { - if (flags == null) flags = (Xop_vnt_flag[])flags_list.XtoAry(Xop_vnt_flag.class); + if (flags == null) flags = (Xop_vnt_flag[])flags_list.Xto_ary(Xop_vnt_flag.class); return flags; } private Xop_vnt_flag[] flags; public Xop_vnt_tkn_mok Flags_none_() {flags_list.Clear(); return this;} @@ -81,7 +81,7 @@ class Xop_vnt_tkn_mok { return this; } public Xop_vnt_rule[] Rules() { - if (rules == null) rules = (Xop_vnt_rule[])rules_list.XtoAry(Xop_vnt_rule.class); + if (rules == null) rules = (Xop_vnt_rule[])rules_list.Xto_ary(Xop_vnt_rule.class); return rules; } private Xop_vnt_rule[] rules; public Xop_vnt_tkn_mok Rule_(String rule) {return Rule_(Xop_vnt_rule.Null_lang, rule);} @@ -130,7 +130,7 @@ class Xop_vnt_lxr_fxt { else bfr.Add_str(Xop_vnt_flag_.Xto_name(itm_tid)).Add_byte(Byte_ascii.Semic); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private void Vnt_flag_lang_to_bfr(Bry_bfr bfr, Xop_vnt_flag itm) { byte[][] ary = itm.Langs(); @@ -158,6 +158,6 @@ class Xop_vnt_lxr_fxt { } bfr.Add_byte(Byte_ascii.Semic); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_rules_parser.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_rules_parser.java index e2a15f5bb..b7d7d0168 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_rules_parser.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_rules_parser.java @@ -68,7 +68,7 @@ class Xop_vnt_rules_parser { Make_rule(); // make rules for any pending items; EX: "-{A|text}-"; "text" is unclosed by semic and would need to be processed if (mode == Mode_key && rules_list.Count() == 0) Make_rule_literal(); - return (Xop_vnt_rule[])rules_list.XtoAryAndClear(Xop_vnt_rule.class); + return (Xop_vnt_rule[])rules_list.Xto_ary_and_clear(Xop_vnt_rule.class); } private boolean text_tkns_ws_bgn = false; private void Parse_sub() { @@ -200,7 +200,7 @@ class Xop_vnt_rules_parser { if (text_tkns_ws_end_idx != -1) { // trailing ws text_tkns_list.Del_range(text_tkns_ws_end_idx, text_tkns_list.Count() - 1); } - Xop_tkn_itm[] rule_subs = (Xop_tkn_itm[])text_tkns_list.XtoAryAndClear(Xop_tkn_itm.class); + Xop_tkn_itm[] rule_subs = (Xop_tkn_itm[])text_tkns_list.Xto_ary_and_clear(Xop_tkn_itm.class); Xop_vnt_rule rule = new Xop_vnt_rule(cur_macro_bry, cur_lang_bry, rule_subs); rules_list.Add(rule); } diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_tkn.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_tkn.java index 8ee7d094d..4bf6cb96a 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_tkn.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_tkn.java @@ -59,7 +59,7 @@ public class Xop_vnt_tkn extends Xop_tkn_itm_base { if (rule != null) { Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); wiki.Html_mgr().Html_wtr().Write_tkn_ary(tmp_bfr, ctx, Xoh_wtr_ctx.Alt, src, rule.Rule_subs()); - byte[] display_ttl = tmp_bfr.Mkr_rls().XtoAryAndClear(); + byte[] display_ttl = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); page.Html_data().Display_ttl_vnt_(display_ttl); } break; diff --git a/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java b/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java index fe3b0c0d1..fdd35b5e7 100644 --- a/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java +++ b/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java @@ -79,7 +79,7 @@ public class Xopg_html_data { custom_html = custom_html_end = custom_head_end = custom_name = null; if (ctg_hash != null) ctg_hash.Clear(); } - public byte[][] Ctgs_to_ary() {return ctg_hash == null ? Bry_.Ary_empty : (byte[][])ctg_hash.XtoAry(byte[].class);} + public byte[][] Ctgs_to_ary() {return ctg_hash == null ? Bry_.Ary_empty : (byte[][])ctg_hash.Xto_ary(byte[].class);} public void Ctgs_add(Xoa_ttl ttl) { if (ctg_hash == null) ctg_hash = OrderedHash_.new_bry_(); byte[] ttl_bry = ttl.Page_txt(); diff --git a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr.java b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr.java index 5d7aac4bb..c31aa0415 100644 --- a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr.java @@ -77,7 +77,7 @@ public class Xop_amp_mgr { tmp_bfr.Add_byte(b); ++pos; } - return dirty ? tmp_bfr.XtoAryAndClear() : src; + return dirty ? tmp_bfr.Xto_bry_and_clear() : src; } public boolean Parse_as_int(boolean ncr_is_hex, byte[] src, int src_len, int amp_pos, int int_bgn) { rslt_pos = amp_pos + 1; // default to fail pos; after amp; diff --git a/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_wkr.java b/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_wkr.java index 1fb475d46..51d8112b4 100644 --- a/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_wkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.parsers.lists; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.xowa.parsers.tblws.*; public class Xop_list_wkr implements Xop_ctx_wkr { private int listId = 0; byte[] curSymAry = new byte[Max_list_depth]; int curSymLen = 0; byte[] prvSymAry = Bry_.Empty; private HierPosAryBldr posBldr = new HierPosAryBldr(Max_list_depth); diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr.java index 2cf51b560..8a2151c2f 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr.java @@ -96,6 +96,7 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { lnke_end_tid = End_tid_invalid; break; case Byte_ascii.Brack_bgn: // NOTE: always stop lnke at "[" regardless of brack_type; EX: [http:a.org[[B]]] and http:a.org[[B]]; DATE:2014-07-11 + case Byte_ascii.Quote: // NOTE: quote should also stop lnke; DATE:2014-10-10 lnke_end_tid = End_tid_symbol; break; } @@ -139,16 +140,24 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { root.Subs_del_after(prv_tkn.Tkn_sub_idx()); // delete [[ tkn and replace with [ tkn root.Subs_add(tkn_mkr.Txt(prv_tkn.Src_bgn(), prv_tkn.Src_bgn() + 1)); ctx.Stack_pop_last(); // don't forget to remove from stack - lnke_type = Xop_lnke_tkn.Lnke_typ_brack; // change lnke_typee to brack + lnke_type = Xop_lnke_tkn.Lnke_typ_brack; // change lnke_typee to brack --bgn_pos; } } } if (proto_tid == Xoo_protocol_itm.Tid_relative_2) // for "[[//", add "["; rest of code handles "[//" normally, but still want to include literal "["; DATE:2013-02-02 ctx.Subs_add(root, tkn_mkr.Txt(lnke_bgn - 1, lnke_bgn)); - Xop_lnke_tkn tkn = tkn_mkr.Lnke(bgn_pos, brack_end_pos, protocol, proto_tid, lnke_type, lnke_bgn, lnke_end); url_parser.Parse_site_fast(site_data, src, lnke_bgn, lnke_end); - int site_bgn = site_data.Site_bgn(), site_end = site_data.Site_end(); tkn.Lnke_relative_(site_data.Rel()); + int site_bgn = site_data.Site_bgn(), site_end = site_data.Site_end(); + if (site_bgn == site_end) return ctx.Lxr_make_txt_(cur_pos); // empty proto should return text, not lnke; EX: "http:", "http://", "[http://]"; DATE:2014-10-09 + int adj = Ignore_punctuation_at_end(src, site_bgn, lnke_end); + if (adj != 0) { + lnke_end -= adj; + brack_end_pos -= adj; + cur_pos -= adj; + } + Xop_lnke_tkn tkn = tkn_mkr.Lnke(bgn_pos, brack_end_pos, protocol, proto_tid, lnke_type, lnke_bgn, lnke_end); + tkn.Lnke_relative_(site_data.Rel()); Xow_xwiki_itm xwiki = ctx.App().User().Wiki().Xwiki_mgr().Get_by_mid(src, site_bgn, site_end); // NOTE: check User_wiki.Xwiki_mgr, not App.Wiki_mgr() b/c only it is guaranteed to know all wikis on system if (xwiki != null) { // lnke is to an xwiki; EX: [http://en.wikipedia.org/A a] Xow_wiki wiki = ctx.Wiki(); @@ -188,6 +197,36 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { } return cur_pos; } + private static int Ignore_punctuation_at_end(byte[] src, int proto_end, int lnke_end) { // DATE:2014-10-09 + int rv = 0; + int pos = lnke_end - 1; // -1 b/c pos is after char; EX: "abc" has pos of 3; need --pos to start at src[2] = 'c' + byte paren_bgn_chk = Bool_.__byte; + while (pos >= proto_end) { + byte b = src[pos]; + switch (b) { // REF.MW: $sep = ',;\.:!?'; + case Byte_ascii.Comma: case Byte_ascii.Semic: case Byte_ascii.Backslash: case Byte_ascii.Dot: + case Byte_ascii.Bang: case Byte_ascii.Question: + break; + case Byte_ascii.Colon: // differentiate between "http:" (don't trim) and "http://a.org:" (trim) + if (pos == proto_end -1) return rv; + break; + case Byte_ascii.Paren_end: // differentiate between "(http://a.org)" (trim) and "http://a.org/b(c)" (don't trim) + if (paren_bgn_chk == Bool_.__byte) { + int paren_bgn_pos = Bry_finder.Find_fwd(src, Byte_ascii.Paren_bgn, proto_end, lnke_end); + paren_bgn_chk = paren_bgn_pos == Bry_finder.Not_found ? Bool_.N_byte : Bool_.Y_byte; + } + if (paren_bgn_chk == Bool_.Y_byte) // "(" found; do not ignore ")" + return rv; + else + break; + default: + return rv; + } + --pos; + ++rv; + } + return rv; + } private static final byte Lnki_linkMode_init = 0, Lnki_linkMode_eq = 1, Lnki_linkMode_text = 2; private static final byte End_tid_null = 0, End_tid_eos = 1, End_tid_brack = 2, End_tid_space = 3, End_tid_nl = 4, End_tid_symbol = 5, End_tid_invalid = 6; public int MakeTkn_end(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos) { @@ -241,7 +280,7 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { byte[] rhs_dlm_bry = Bry_quote; if (lhs_dlm_pos - proto_end_pos > 0) { Bry_bfr bfr = ctx.App().Utl_bry_bfr_mkr().Get_k004(); - rhs_dlm_bry = bfr.Add(Bry_quote).Add_mid(src, proto_end_pos, lhs_dlm_pos).XtoAryAndClear(); + rhs_dlm_bry = bfr.Add(Bry_quote).Add_mid(src, proto_end_pos, lhs_dlm_pos).Xto_bry_and_clear(); bfr.Mkr_rls(); } int rhs_dlm_pos = Bry_finder.Find_fwd(src, rhs_dlm_bry, lnke_bgn_pos, src_len); if (rhs_dlm_pos == Bry_.NotFound) return ctx.Lxr_make_txt_(cur_pos); diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_text_tst.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_text_tst.java index 336060a3d..d1c1eddfd 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_text_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_text_tst.java @@ -16,8 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.parsers.lnkes; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; -import org.junit.*; -import gplx.xowa.langs.cases.*; +import org.junit.*; import gplx.xowa.langs.cases.*; public class Xop_lnke_wkr_text_tst { @Before public void init() {fxt.Reset();} private Xop_fxt fxt = new Xop_fxt(); @Test public void Text_obj() { @@ -68,4 +67,23 @@ public class Xop_lnke_wkr_text_tst { ( "http://a.orgB" )); } + @Test public void Protocol_only() { // PURPOSE: protocol only should return text; DATE:2014-10-09 + fxt.Test_parse_page_wiki_str("http://" , "http://"); + fxt.Test_parse_page_wiki_str("http:" , "http:"); + fxt.Test_parse_page_wiki_str("[http://]" , "[http://]"); + fxt.Test_parse_page_wiki_str("[http:]" , "[http:]"); + } + @Test public void Ignore_punctuation_at_end() { // PURPOSE: ignore "," and related punctuation at end; DATE:2014-10-09 + fxt.Test_parse_page_wiki_str("http://a.org," , "http://a.org,"); // basic + fxt.Test_parse_page_wiki_str("http://a.org,," , "http://a.org,,"); // many + fxt.Test_parse_page_wiki_str("http://a.org/b,c" , "http://a.org/b,c"); // do not ignore if in middle + fxt.Test_parse_page_wiki_str("http://a.org:" , "http://a.org:"); // colon at end; compare to "http:" + } + @Test public void Ignore_punctuation_at_end__paren_end() { // PURPOSE: end parent has special rules; DATE:2014-10-10 + fxt.Test_parse_page_wiki_str("(http://a.org)" , "(http://a.org)"); // trim=y + fxt.Test_parse_page_wiki_str("http://a.org/b(c)", "http://a.org/b(c)"); // trim=n + } + @Test public void Sym_quote() { // PURPOSE: quote should interrupt lnke; DATE:2014-10-10 + fxt.Test_parse_page_wiki_str("http://a.org/b\"c", "http://a.org/b"c"); + } } diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_mgr.java b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_mgr.java index cea3ebc49..a97674a5b 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_mgr.java @@ -19,7 +19,7 @@ package gplx.xowa.parsers.lnkis.redlinks; import gplx.*; import gplx.xowa.*; imp import gplx.xowa.dbs.tbls.*; public class Xop_lnki_logger_redlinks_mgr { private Xoa_page page; - private int lnki_idx; + private int lnki_idx = gplx.xowa.html.lnkis.Xoh_lnki_wtr.Lnki_id_min; // NOTE: default to 1, not 0, b/c 0 is ignored by wtr; DATE:2014-10-09 private boolean disabled = false; public Xop_lnki_logger_redlinks_mgr(Xoa_page page) {this.page = page;} public int Request_idx() {return request_idx;} private int request_idx = 1; diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_wkr.java b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_wkr.java index ffcd6c761..1d5dd68e0 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xop_lnki_logger_redlinks_wkr.java @@ -103,7 +103,7 @@ public class Xop_lnki_logger_redlinks_wkr implements GfoInvkAble { } } if (log_enabled) - usr_dlg.Log_many("", "", "redlink.redlink_end: redlinks_run=~{0} links=~{1}", redlink_count, bfr == null ? String_.Empty : bfr.XtoStrAndClear()); + usr_dlg.Log_many("", "", "redlink.redlink_end: redlinks_run=~{0} links=~{1}", redlink_count, bfr == null ? String_.Empty : bfr.Xto_str_and_clear()); } } public static final Xop_lnki_logger_redlinks_wkr Null = new Xop_lnki_logger_redlinks_wkr(); Xop_lnki_logger_redlinks_wkr() {} diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_nl_lxr.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_lxr.java similarity index 94% rename from 400_xowa/src_460_para/gplx/xowa/Xop_nl_lxr.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_lxr.java index 962cb70f2..ba1fb3242 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_nl_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_lxr.java @@ -15,9 +15,9 @@ 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; import gplx.*; -import gplx.core.btries.*; import gplx.xowa.parsers.lists.*; -class Xop_nl_lxr implements Xop_lxr { +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.core.btries.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.tblws.*; +public class Xop_nl_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_nl;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Byte_ascii.NewLine, this);} public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr.java similarity index 90% rename from 400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr.java index 922c1466c..b7d5d46e7 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr.java @@ -15,9 +15,9 @@ 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; import gplx.*; -import gplx.core.btries.*; -class Xop_nl_tab_lxr implements Xop_lxr { +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.core.btries.*; import gplx.xowa.parsers.tblws.*; +public class Xop_nl_tab_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_nl_tab;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Hook_nl_tab, this);} private static final byte[] Hook_nl_tab = new byte[] {Byte_ascii.NewLine, Byte_ascii.Tab}; public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr_tst.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr_tst.java similarity index 92% rename from 400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr_tst.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr_tst.java index 01e2dfd22..d606cee43 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tab_lxr_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tab_lxr_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_nl_tab_lxr_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tkn.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tkn.java similarity index 91% rename from 400_xowa/src_460_para/gplx/xowa/Xop_nl_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tkn.java index b557b02c4..315a2f993 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_nl_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_nl_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_nl_tkn extends Xop_tkn_itm_base { public Xop_nl_tkn(int bgn, int end, byte nl_tid, int nl_len) { this.Tkn_ini_pos(false, bgn, end); diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_para_tkn.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_tkn.java similarity index 93% rename from 400_xowa/src_460_para/gplx/xowa/Xop_para_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_para_tkn.java index 96d74b6ef..e16826741 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_para_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_para_tkn extends Xop_tkn_itm_base { public Xop_para_tkn(int pos) {this.Tkn_ini_pos(false, pos, pos);} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_para;} diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr.java similarity index 97% rename from 400_xowa/src_460_para/gplx/xowa/Xop_para_wkr.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr.java index 824e65353..8fae8e3ef 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr.java @@ -15,7 +15,8 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.xowa.parsers.tblws.*; public class Xop_para_wkr implements Xop_ctx_wkr { private boolean para_enabled; private byte cur_mode; diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_basic_tst.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_basic_tst.java similarity index 95% rename from 400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_basic_tst.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_basic_tst.java index ca0fea63b..d546c041f 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_basic_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_basic_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; import gplx.xowa.parsers.lists.*; public class Xop_para_wkr_basic_tst { private Xop_fxt fxt = new Xop_fxt(); String raw; diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_para_tst.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_para_tst.java similarity index 93% rename from 400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_para_tst.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_para_tst.java index ef95b9a35..a9ecffcfe 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_para_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_para_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_para_wkr_para_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_pre_tst.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_pre_tst.java similarity index 95% rename from 400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_pre_tst.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_pre_tst.java index 7a33e2996..6ba1aa5d8 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_para_wkr_pre_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_para_wkr_pre_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_para_wkr_pre_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_pre_lxr.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_lxr.java similarity index 94% rename from 400_xowa/src_460_para/gplx/xowa/Xop_pre_lxr.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_lxr.java index 394bbfce9..486d05c96 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_pre_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_lxr.java @@ -15,9 +15,9 @@ 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; import gplx.*; -import gplx.core.btries.*; import gplx.xowa.parsers.lists.*; -class Xop_pre_lxr implements Xop_lxr { +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.core.btries.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.tblws.*; +public class Xop_pre_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_pre;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Hook_space, this);} // NOTE: do not treat \n\t as shorthand pre; EX:pl.w:Main_Page; DATE:2014-05-06 public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} diff --git a/400_xowa/src_460_para/gplx/xowa/Xop_pre_tkn.java b/400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_tkn.java similarity index 91% rename from 400_xowa/src_460_para/gplx/xowa/Xop_pre_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_tkn.java index 7a4b2e473..b6cc73ebe 100644 --- a/400_xowa/src_460_para/gplx/xowa/Xop_pre_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/paras/Xop_pre_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_pre_tkn extends Xop_tkn_itm_base { public Xop_pre_tkn(int bgn, int end, byte pre_tid, Xop_tkn_itm pre_bgn_tkn) { this.Tkn_ini_pos(false, bgn, end); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java similarity index 96% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java index 06f12ad44..b22024dbc 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java @@ -15,8 +15,8 @@ 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; import gplx.*; -import gplx.core.btries.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.core.btries.*; import gplx.xowa.parsers.paras.*; public class Xop_tblw_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_tblw;} public int Make_tkn(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos) { diff --git a/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr_ws.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr_ws.java new file mode 100644 index 000000000..cca9cb36e --- /dev/null +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr_ws.java @@ -0,0 +1,66 @@ +/* +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.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +public class Xop_tblw_lxr_ws { + public static int Make(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos, byte wlxr_type, boolean called_from_pre) { + int rv = Xop_tblw_lxr.Handle_bang(wlxr_type, ctx, ctx.Tkn_mkr(), root, src, src_len, bgn_pos, cur_pos); + if (rv != Xop_tblw_lxr.Continue) return rv; + rv = Xop_tblw_lxr.Handle_lnki(wlxr_type, ctx, ctx.Tkn_mkr(), root, src, src_len, bgn_pos, cur_pos); + if (rv != Xop_tblw_lxr.Continue) return rv; + if (!called_from_pre) { // skip if called from pre, else will return text, since pre_lxr has not created \n tkn yet; EX: "\n ! a"; DATE:2014-02-14 + // find first non-ws tkn; check if nl or para + int root_subs_len = root.Subs_len(); + int tkn_idx = root_subs_len - 1; + boolean loop = true, nl_found = false; + while (loop) { + if (tkn_idx < 0) break; + Xop_tkn_itm tkn = root.Subs_get(tkn_idx); + switch (tkn.Tkn_tid()) { + case Xop_tkn_itm_.Tid_space: case Xop_tkn_itm_.Tid_tab: // ws: keep moving backwards + tkn_idx--; + break; + case Xop_tkn_itm_.Tid_newLine: + case Xop_tkn_itm_.Tid_para: + loop = false; + nl_found = true; + break; + default: + loop = false; + break; + } + } + if (tkn_idx == -1) { // bos reached; all tkns are ws; + if (wlxr_type == Xop_tblw_wkr.Tblw_type_tb) { // wlxr_type is {|; + root.Subs_del_after(0); // trim + return ctx.Tblw().Make_tkn_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, false, wlxr_type, Xop_tblw_wkr.Called_from_general, -1, -1); // process {| + } + else // wlxr_type is something else, but invalid since no containing {| + return ctx.Lxr_make_txt_(cur_pos); + } + + if (!nl_found && wlxr_type == Xop_tblw_wkr.Tblw_type_td) // | but no nl; return control to pipe_lxr for further processing + return Tblw_ws_cell_pipe; + if (nl_found) + root.Subs_del_after(tkn_idx); + } + return ctx.Tblw().Make_tkn_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, false, wlxr_type, Xop_tblw_wkr.Called_from_general, -1, -1); + } + public static final byte[] Hook_tb = Bry_.new_ascii_("{|"), Hook_te = Bry_.new_ascii_("|}"), Hook_tr = Bry_.new_ascii_("|-") + , Hook_th = Bry_.new_ascii_("!"), Hook_tc = Bry_.new_ascii_("|+"); + public static final int Tblw_ws_cell_pipe = -1; +} diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tb_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tb_tkn.java similarity index 95% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tb_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tb_tkn.java index 222ca3b42..e9d383beb 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tb_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tb_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_tblw_tb_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { public Xop_tblw_tb_tkn(int bgn, int end, boolean tblw_xml, boolean auto_created) { this.tblw_xml = tblw_xml; this.Tkn_ini_pos(false, bgn, end); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tc_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tc_tkn.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tc_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tc_tkn.java index 9a1037285..6d2a83c04 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tc_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tc_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_tblw_tc_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tc;} public int Tblw_tid() {return Xop_xnde_tag_.Tid_caption;} diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_td_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_td_tkn.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_td_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_td_tkn.java index 3026c68b7..3ae96547d 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_td_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_td_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_tblw_td_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_td;} public int Tblw_tid() {return Xop_xnde_tag_.Tid_td;} diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_th_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_th_tkn.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_th_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_th_tkn.java index 9457f429a..398c563e1 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_th_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_th_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_tblw_th_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_th;} public int Tblw_tid() {return Xop_xnde_tag_.Tid_th;} diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tkn.java similarity index 90% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tkn.java index 3570e5b97..30080ed1a 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public interface Xop_tblw_tkn extends Xop_tkn_itm { int Tblw_tid(); boolean Tblw_xml(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tr_tkn.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tr_tkn.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tr_tkn.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tr_tkn.java index d6e1429a9..508e12402 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_tr_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_tr_tkn.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_tblw_tr_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { public Xop_tblw_tr_tkn(int bgn, int end, boolean tblw_xml, boolean auto_created) { this.tblw_xml = tblw_xml; this.Tkn_ini_pos(false, bgn, end); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr.java similarity index 97% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr.java index babfaec30..1bc489b8e 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr.java @@ -15,8 +15,8 @@ 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; import gplx.*; -import gplx.xowa.parsers.lists.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; +import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.paras.*; public class Xop_tblw_wkr implements Xop_ctx_wkr { private int tblw_te_ignore_count = 0; public boolean Cell_pipe_seen() {return cell_pipe_seen;} public Xop_tblw_wkr Cell_pipe_seen_(boolean v) {cell_pipe_seen = v; return this;} private boolean cell_pipe_seen; // status of 1st cell pipe; EX: \n| a | b | c || -> flag pipe between a and b but ignore b and c diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__atrs_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__atrs_tst.java similarity index 95% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__atrs_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__atrs_tst.java index 23e30c548..f92379460 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__atrs_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__atrs_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__atrs_tst { private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__basic_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__basic_tst.java similarity index 95% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__basic_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__basic_tst.java index b7dd8743b..849687f33 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__basic_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__basic_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__basic_tst { private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__dangling_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__dangling_tst.java similarity index 92% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__dangling_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__dangling_tst.java index b761d2a96..b105728b0 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__dangling_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__dangling_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__dangling_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__double_pipe_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__double_pipe_tst.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__double_pipe_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__double_pipe_tst.java index d84909198..07f04e290 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__double_pipe_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__double_pipe_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__double_pipe_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__errs_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__errs_tst.java similarity index 95% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__errs_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__errs_tst.java index 266dc19e2..39b696d27 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__errs_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__errs_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__errs_tst { private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__nested_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__nested_tst.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__nested_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__nested_tst.java index 6b75735ff..b8884c6a2 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__nested_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__nested_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__nested_tst { private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__para_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__para_tst.java similarity index 94% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__para_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__para_tst.java index ec02789f2..66dc0d155 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__para_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__para_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__para_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__tblx_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__tblx_tst.java similarity index 92% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__tblx_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__tblx_tst.java index 4d80c8254..fce8c224f 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__tblx_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__tblx_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__tblx_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__uncommon_tst.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__uncommon_tst.java similarity index 93% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__uncommon_tst.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__uncommon_tst.java index 04940c715..ceaac6c0e 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_wkr__uncommon_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_wkr__uncommon_tst.java @@ -15,7 +15,7 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import org.junit.*; public class Xop_tblw_wkr__uncommon_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private Xop_fxt fxt = new Xop_fxt(); diff --git a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr_ws.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_ws_itm.java similarity index 55% rename from 400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr_ws.java rename to 400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_ws_itm.java index ba8340695..fbf11d8ff 100644 --- a/400_xowa/src_480_tblw/gplx/xowa/Xop_tblw_lxr_ws.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_ws_itm.java @@ -15,57 +15,9 @@ 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; import gplx.*; +package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import gplx.core.btries.*; -public class Xop_tblw_lxr_ws { - public static int Make(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos, byte wlxr_type, boolean called_from_pre) { - int rv = Xop_tblw_lxr.Handle_bang(wlxr_type, ctx, ctx.Tkn_mkr(), root, src, src_len, bgn_pos, cur_pos); - if (rv != Xop_tblw_lxr.Continue) return rv; - rv = Xop_tblw_lxr.Handle_lnki(wlxr_type, ctx, ctx.Tkn_mkr(), root, src, src_len, bgn_pos, cur_pos); - if (rv != Xop_tblw_lxr.Continue) return rv; - if (!called_from_pre) { // skip if called from pre, else will return text, since pre_lxr has not created \n tkn yet; EX: "\n ! a"; DATE:2014-02-14 - // find first non-ws tkn; check if nl or para - int root_subs_len = root.Subs_len(); - int tkn_idx = root_subs_len - 1; - boolean loop = true, nl_found = false; - while (loop) { - if (tkn_idx < 0) break; - Xop_tkn_itm tkn = root.Subs_get(tkn_idx); - switch (tkn.Tkn_tid()) { - case Xop_tkn_itm_.Tid_space: case Xop_tkn_itm_.Tid_tab: // ws: keep moving backwards - tkn_idx--; - break; - case Xop_tkn_itm_.Tid_newLine: - case Xop_tkn_itm_.Tid_para: - loop = false; - nl_found = true; - break; - default: - loop = false; - break; - } - } - if (tkn_idx == -1) { // bos reached; all tkns are ws; - if (wlxr_type == Xop_tblw_wkr.Tblw_type_tb) { // wlxr_type is {|; - root.Subs_del_after(0); // trim - return ctx.Tblw().Make_tkn_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, false, wlxr_type, Xop_tblw_wkr.Called_from_general, -1, -1); // process {| - } - else // wlxr_type is something else, but invalid since no containing {| - return ctx.Lxr_make_txt_(cur_pos); - } - - if (!nl_found && wlxr_type == Xop_tblw_wkr.Tblw_type_td) // | but no nl; return control to pipe_lxr for further processing - return Tblw_ws_cell_pipe; - if (nl_found) - root.Subs_del_after(tkn_idx); - } - return ctx.Tblw().Make_tkn_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, false, wlxr_type, Xop_tblw_wkr.Called_from_general, -1, -1); - } - public static final byte[] Hook_tb = Bry_.new_ascii_("{|"), Hook_te = Bry_.new_ascii_("|}"), Hook_tr = Bry_.new_ascii_("|-") - , Hook_th = Bry_.new_ascii_("!"), Hook_tc = Bry_.new_ascii_("|+"); - public static final int Tblw_ws_cell_pipe = -1; -} -class Xop_tblw_ws_itm { +public class Xop_tblw_ws_itm { public byte Tblw_type() {return tblw_type;} private byte tblw_type; public int Hook_len() {return hook_len;} private int hook_len; public Xop_tblw_ws_itm(byte tblw_type, int hook_len) {this.tblw_type = tblw_type; this.hook_len = hook_len;} diff --git a/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java b/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java index 8a74498c7..771545fa9 100644 --- a/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java +++ b/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java @@ -35,6 +35,7 @@ public class Gxw_html_server implements Gxw_html { public String Html_doc_selected_get_text_or_href() {return Exec(cfg.Doc_selected_get_text_or_href());} public String Html_doc_selected_get_href_or_text() {return Exec(cfg.Doc_selected_get_href_or_text());} public String Html_doc_selected_get_src_or_empty() {return Exec(cfg.Doc_selected_get_src_or_empty());} + public String Html_doc_selected_get_active_or_selection() {return Exec(cfg.Doc_selected_get_active_or_selection());} public boolean Html_doc_find(String id, String find, boolean dir_fwd, boolean case_match, boolean wrap_find) {throw Err_.not_implemented_();} public void Html_doc_body_focus() {Exec(cfg.Doc_body_focus());} public void Html_doc_selection_focus_toggle() {Exec(cfg.Doc_selection_focus_toggle());} diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr_tst.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr_tst.java index 9bf410556..3caaef738 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr_tst.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr_tst.java @@ -60,6 +60,6 @@ class Xosrv_msg_rdr_fxt { public void Test_print(Xosrv_msg msg, String expd) { Bry_bfr bfr = Bry_bfr.new_(); msg.Print(bfr); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_socket_wtr.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_socket_wtr.java index fc839e599..4963ba716 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_socket_wtr.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_socket_wtr.java @@ -24,7 +24,7 @@ public class Xosrv_socket_wtr { public void Write(Xosrv_msg msg) { wtr.Open(); msg.Print(msg_bfr); - byte[] msg_bry = msg_bfr.XtoAryAndClear(); + byte[] msg_bry = msg_bfr.Xto_bry_and_clear(); wtr.Write(msg_bry); wtr.Close(); } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser.java index a1cdd2761..fb75c13de 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser.java @@ -32,7 +32,7 @@ public class Wmf_dump_list_parser { itm.Status_msg_(Parse_status_msg(src, a_pos)); } catch (Exception e) {Err_.Noop(e);} } - return (Wmf_dump_itm[])itms.XtoAry(Wmf_dump_itm.class); + return (Wmf_dump_itm[])itms.Xto_ary(Wmf_dump_itm.class); } private boolean Parse_href(Wmf_dump_itm itm, byte[] src, int a_pos) { // EX: http://dumps.wikimedia.org/enwiki/20130807 int href_pos = Bry_finder.Find_fwd(src, Find_href, a_pos); if (href_pos == Bry_.NotFound) return false; // no
  • ; something bad happened diff --git a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java index 6ddeb8759..90b298486 100644 --- a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java +++ b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java @@ -119,7 +119,7 @@ public class Xows_page_allpages implements GfoInvkAble, Bry_fmtr_arg, Xows_page byte[] anchor_prv = Build_html_end(tmp_bfr, rslt_prv, false); byte[] anchor_nxt = Build_html_end(tmp_bfr, rslt_nxt, true); html_all.Bld_bfr_many(tmp_bfr, this, anchor_prv, anchor_nxt); - page.Data_raw_(tmp_bfr.XtoAryAndClear()); + page.Data_raw_(tmp_bfr.Xto_bry_and_clear()); tmp_bfr.Mkr_rls(); page.Html_data().Html_restricted_n_(); } diff --git a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages_tst.java b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages_tst.java index 966400724..2e26fa249 100644 --- a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages_tst.java +++ b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages_tst.java @@ -183,7 +183,7 @@ class Xows_page_allpages_fxt { if (expd_nxt != null) Tfds.Eq(expd_nxt, Xto_str(wiki, allpages.Rslt_nxt())); if (expd_prv != null) Tfds.Eq(expd_prv, Xto_str(wiki, allpages.Rslt_prv())); if (expd_args.Count() > 0) { - Gfo_url_arg[] expd_args_ary = (Gfo_url_arg[])expd_args.XtoAry(Gfo_url_arg.class); + Gfo_url_arg[] expd_args_ary = (Gfo_url_arg[])expd_args.Xto_ary(Gfo_url_arg.class); Tfds.Eq_ary_str(Xto_str_ary(init_url.Args()), Xto_str_ary(expd_args_ary)); } return this; @@ -196,7 +196,7 @@ class Xows_page_allpages_fxt { } private void Exec_build() { if (allpages.Itms_per_page() != init_itms_per_page) allpages.Itms_per_page_(init_itms_per_page); - init_url.Args_((Gfo_url_arg[])init_args.XtoAry(Gfo_url_arg.class)); + init_url.Args_((Gfo_url_arg[])init_args.Xto_ary(Gfo_url_arg.class)); init_args.Clear(); Xoa_ttl init_ttl = Make_init_ttl(); allpages.Build_data(init_url, init_ttl); diff --git a/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java b/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java index 36a56636a..db642ca37 100644 --- a/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java +++ b/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java @@ -73,7 +73,7 @@ public class Move_page implements Xows_page { , msg_mgr.Val_by_key_obj("move-leave-redirect") , msg_mgr.Val_by_key_obj("movepagebtn") ); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private Bry_fmtr fmtr_all = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "
    " diff --git a/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java b/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java index e04ccc3a5..52968c14c 100644 --- a/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java @@ -50,7 +50,7 @@ public class Nearby_mgr implements Xows_page { tmp_bfr.Add_str(""); } tmp_bfr.Add_str(""); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } Bry_fmtr form_fmtr = Bry_fmtr.new_(String_.Concat_lines_nl ( "" diff --git a/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr_tst.java b/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr_tst.java index f739de66e..8cd11d672 100644 --- a/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr_tst.java @@ -72,6 +72,6 @@ class Nearby_mgr_fxt { tmp_bfr.Add(ttl.Page_db()); } } - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/specials/search/Js_wtr.java b/400_xowa/src/gplx/xowa/specials/search/Js_wtr.java index 0f62a943f..0d8074efe 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Js_wtr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Js_wtr.java @@ -20,8 +20,8 @@ public class Js_wtr { private Bry_bfr bfr = Bry_bfr.reset_(255); public byte Quote_char() {return quote_char;} public Js_wtr Quote_char_(byte v) {quote_char = v; return this;} private byte quote_char = Byte_ascii.Quote; public void Clear() {bfr.Clear();} - public String Xto_str() {return bfr.XtoStr();} - public String Xto_str_and_clear() {return bfr.XtoStrAndClear();} + public String Xto_str() {return bfr.Xto_str();} + public String Xto_str_and_clear() {return bfr.Xto_str_and_clear();} public Js_wtr Add_comma() {bfr.Add_byte(Byte_ascii.Comma); return this;} public Js_wtr Add_paren_bgn() {bfr.Add_byte(Byte_ascii.Paren_bgn); return this;} public Js_wtr Add_paren_end() {bfr.Add_byte(Byte_ascii.Paren_end); return this;} diff --git a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java index c3b073f30..b94e42663 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java @@ -65,7 +65,7 @@ class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { byte[] search_ttl_bry = search_ttl.Page_db(); ListAdp page_list = ListAdp_.new_(); wiki.Db_mgr().Load_mgr().Load_ttls_for_all_pages(this, page_list, rslt_nxt, rslt_prv, Int_obj_ref.zero_(), wiki.Ns_mgr().Ns_main(), search_ttl_bry, max_results, all_pages_min, all_pages_extend, true, false); - Xodb_page[] page_ary = (Xodb_page[])page_list.XtoAryAndClear(Xodb_page.class); + Xodb_page[] page_ary = (Xodb_page[])page_list.Xto_ary_and_clear(Xodb_page.class); int idx = 0, page_ary_len = page_ary.length; for (int i = 0; i < page_ary_len; i++) { Xodb_page page = page_ary[i]; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_mgr.java index 329f52d83..dffeb9d17 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_mgr.java @@ -23,7 +23,8 @@ public class Xog_search_suggest_mgr implements GfoInvkAble { this.main_win = gui_mgr.Browser_win(); cur_cmd = new Xog_search_suggest_cmd(app, this); } private Xoa_app app; private Xog_win_itm main_win; private Js_wtr wtr = new Js_wtr(); - private boolean enabled = true; private int results_max = 10; private boolean log_enabled = false; + private int results_max = 10; private boolean log_enabled = false; + public boolean Enabled() {return enabled;} private boolean enabled = true; public byte Search_mode() {return search_mode;} public Xog_search_suggest_mgr Search_mode_(byte v) {search_mode = v; return this;} private byte search_mode = Tid_search_mode_all_pages_v2; public int All_pages_extend() {return all_pages_extend;} private int all_pages_extend = 1000; // look ahead by 1000 public int All_pages_min() {return all_pages_min;} private int all_pages_min = 10000; // only look at pages > 10 kb diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java index a2379631e..7693730b6 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java @@ -53,7 +53,7 @@ public class Xosrh_core implements GfoInvkAble, Xows_page { page_mgr.Ns_mgr_(args_mgr.Ns_mgr()); cur_grp = page_mgr.Search(tmp_bfr, wiki, search_bry, page_idx, page_mgr); html_mgr.Bld_html(tmp_bfr, this, cur_grp, search_bry, page_idx, page_mgr.Pages_len()); - page.Data_raw_(tmp_bfr.Mkr_rls().XtoAryAndClear()); + page.Data_raw_(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); wiki.ParsePage(page, false); // do not clear else previous Search_text will be lost page.Html_data().Xtn_search_text_(search_bry); } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core_tst.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core_tst.java index 4b46a5f6c..705d475ed 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core_tst.java @@ -102,7 +102,7 @@ class Xos_search_mgr_fxt { public Xodb_page data_ttl_(int id, String ttl) {return data_ttl_(id, 0, 0, false, 0, ttl);} public Xodb_page data_ttl_(int id, int fil, int row, boolean redirect, int len, String ttl) {return new Xodb_page().Set_all_(id, fil, row, redirect, len, Bry_.new_utf8_(ttl));} public Xodb_page data_id_(int id, String ttl) {return data_id_(id, Xow_ns_.Id_main, ttl);} - public Xodb_page data_id_(int id, int ns, String ttl) {return new Xodb_page().Id_(id).Ns_id_(ns).Ttl_wo_ns_(Bry_.new_utf8_(ttl)).Db_file_idx_(0).Text_len_(0);} + public Xodb_page data_id_(int id, int ns, String ttl) {return new Xodb_page().Id_(id).Ns_id_(ns).Ttl_wo_ns_(Bry_.new_utf8_(ttl)).Text_db_id_(0).Text_len_(0);} public Xobl_search_ttl data_sttl_(String word, int... ids) {return new Xobl_search_ttl(Bry_.new_utf8_(word), data_ttl_word_page_ary_(ids));} public Xobl_search_ttl_page[] data_ttl_word_page_ary_(int... ids) { int ids_len = ids.length; @@ -129,7 +129,7 @@ class Xos_search_mgr_fxt { for (int i = 0; i < ary_len; i++) { Xobl_data_itm itm = ary[i]; itm.Srl_save(tmp_bfr); - xdat_file.Insert(bfr, tmp_bfr.XtoAryAndClear()); + xdat_file.Insert(bfr, tmp_bfr.Xto_bry_and_clear()); } xdat_file.Save(fil); } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_html_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_html_mgr.java index c647ecd96..9b812dce6 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_html_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_html_mgr.java @@ -62,7 +62,7 @@ class Xosrh_html_mgr implements GfoInvkAble { tmp_ttl_bfr.Add_byte(Byte_ascii.Colon) // NOTE: need to add : to literalize ns; EX: [[Category:A]] will get thrown into category list; [[:Category:A]] will print .Add(itm_ns.Name_db_w_colon()) .Add(itm_ttl); - itm_ttl = tmp_ttl_bfr.XtoAryAndClear(); + itm_ttl = tmp_ttl_bfr.Xto_bry_and_clear(); } html_itm.Bld_bfr_many(bfr, itm_ttl, itm.Text_len()); } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java index d1003be6b..aac065876 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java @@ -75,7 +75,7 @@ public class Xosrh_ns_mgr { Int_obj_ref ns_id_ref = (Int_obj_ref)ns_hash.FetchAt(i); tmp_bfr.Add_int_variable(ns_id_ref.Val()); } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } } private static final byte[] Hash_key_all = new byte[] {Byte_ascii.Asterisk}, Hash_key_main = new byte[] {Byte_ascii.Num_0}; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_tst.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_tst.java index 71956fae7..f56c6f682 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_tst.java @@ -48,7 +48,7 @@ class Xosrh_page_mgr_fxt { Base85_utl.XtoStrByAry(i, id_bry, 0, 5); tmp_itm.Ns_id_(Xow_ns_.Id_main).Set_all_(i, 0, i - bgn, false, 10, Bry_.XtoStrBytesByInt(i, 0)); Xodb_page_.Txt_id_save(tmp_bfr, tmp_itm); - hive_mgr.Create(id_bry, tmp_bfr.XtoAryAndClear(), null); + hive_mgr.Create(id_bry, tmp_bfr.Xto_bry_and_clear(), null); } return this; } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_parser_tst.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_parser_tst.java index 097f0f540..fb0c19e92 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_parser_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_parser_tst.java @@ -79,7 +79,7 @@ class Xosearch_searcher_fxt { tmp_bfr.Add_byte(Byte_ascii.Semic); tmp_bfr.Add_base85_len_5(0); } - mgr.Create(wiki.Ns_mgr().Ns_main(), ttl_bry, tmp_bfr.XtoAryAndClear(), null); + mgr.Create(wiki.Ns_mgr().Ns_main(), ttl_bry, tmp_bfr.Xto_bry_and_clear(), null); } public void Test_search(String ttl_str, int... expd) { byte[] ttl_bry = Bry_.new_ascii_(ttl_str); diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_qry_itm.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_qry_itm.java index b33ec9256..25fd6ef60 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_qry_itm.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_qry_itm.java @@ -29,7 +29,7 @@ class Xosrh_qry_itm { public String Xto_str(byte[] src) { Bry_bfr bfr = Bry_bfr.new_(); Xto_str_bld(src, bfr); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public Xosrh_qry_ids Matches(byte[] src) { switch (tid) { diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java index 6d4d4fcdd..51cfe8285 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java @@ -65,7 +65,7 @@ class Xosrh_scanner { Tkns_add_word(Xosrh_qry_tkn.Tid_word, txt_bgn, pos); txt_bgn = -1; } - return (Xosrh_qry_tkn[])tkns.XtoAryAndClear(Xosrh_qry_tkn.class); + return (Xosrh_qry_tkn[])tkns.Xto_ary_and_clear(Xosrh_qry_tkn.class); } boolean Cur_join_is_word(byte cur_tid, int pos_end) { // extra logic to handle and / or occuring in unquoted strings; EX: random; for switch (cur_tid) { diff --git a/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page.java b/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page.java index 0b5a2dc3f..b4a24653d 100644 --- a/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page.java +++ b/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page.java @@ -32,7 +32,7 @@ public class Xop_statistics_page implements Xows_page { // stats_wiki.Wiki_(wiki); stats_ns.Wiki_(wiki); fmtr_all.Bld_bfr_many(tmp_bfr, stats_page, stats_ns); - return tmp_bfr.Mkr_rls().XtoAryAndClear(); + return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); } private Bry_fmtr fmtr_all = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "
    " diff --git a/400_xowa/src/gplx/xowa/specials/xowa/popup_history/Popup_history_page.java b/400_xowa/src/gplx/xowa/specials/xowa/popup_history/Popup_history_page.java index 0c53a2482..733d484f1 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/popup_history/Popup_history_page.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/popup_history/Popup_history_page.java @@ -28,7 +28,7 @@ public class Popup_history_page implements Xows_page { if (Ttl_chk(itm.Page_ttl())) continue; fmtr_main.Bld_bfr_many(bfr, itm.Page_href(), itm.Page_ttl().Full_txt()); } - page.Data_raw_(bfr.Trim_end(Byte_ascii.NewLine).Mkr_rls().XtoAryAndClear()); + page.Data_raw_(bfr.Trim_end(Byte_ascii.NewLine).Mkr_rls().Xto_bry_and_clear()); page.Html_data().Html_restricted_n_(); } private Bry_fmtr fmtr_main = Bry_fmtr.new_("~{ttl}\n\n", "href", "ttl"); // NOTE: need to use anchor (as opposed to lnki or lnke) b/c xwiki will not work on all wikis diff --git a/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java b/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java index ee9b9298b..8706aeb47 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java @@ -27,7 +27,7 @@ public class System_data_page implements Xows_page { byte[] file_txt = Io_mgr._.LoadFilBry(file_url); file_txt = gplx.html.Html_utl.Escape_html_as_bry(file_txt, true, false, false, false, false); // escape < or "" in messages will cause pre to break fmtr_all.Bld_bfr_many(tmp_bfr, file_url.Raw(), file_txt); - page.Data_raw_(tmp_bfr.Mkr_rls().XtoAryAndClear()); + page.Data_raw_(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); } private static Io_url Path_from_type(Xow_wiki wiki, byte type) { Xoa_app app = wiki.App(); diff --git a/400_xowa/src/gplx/xowa/users/Xou_user.java b/400_xowa/src/gplx/xowa/users/Xou_user.java index aaddb5809..aa21e1e0a 100644 --- a/400_xowa/src/gplx/xowa/users/Xou_user.java +++ b/400_xowa/src/gplx/xowa/users/Xou_user.java @@ -25,7 +25,7 @@ public class Xou_user implements GfoEvMgrOwner, GfoInvkAble { prefs_mgr = new gplx.xowa.users.prefs.Prefs_mgr(app); cfg_mgr = new Xou_cfg(this); session_mgr = new Xou_session(this); - history_mgr = new Xou_history_mgr(this); + history_mgr = new Xou_history_mgr(fsys_mgr.App_data_history_fil()); db_mgr = new Xou_db_mgr(app); } public Xoa_app App() {return app;} private Xoa_app app; @@ -70,7 +70,7 @@ public class Xou_user implements GfoEvMgrOwner, GfoInvkAble { public void Bookmarks_add(byte[] wiki_domain, byte[] ttl_full_txt) { Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); bookmarks_add_fmtr.Bld_bfr_many(tmp_bfr, wiki_domain, ttl_full_txt); - byte[] new_entry = tmp_bfr.Mkr_rls().XtoAryAndClear(); + byte[] new_entry = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); Xoa_ttl bookmarks_ttl = Xoa_ttl.parse_(wiki, Bry_data_bookmarks); Xoa_page bookmarks_page = wiki.Data_mgr().Get_page(bookmarks_ttl, false); byte[] new_data = Bry_.Add(bookmarks_page.Data_raw(), new_entry); diff --git a/400_xowa/src/gplx/xowa/users/Xous_window_mgr.java b/400_xowa/src/gplx/xowa/users/Xous_window_mgr.java index 40c508727..e8df47406 100644 --- a/400_xowa/src/gplx/xowa/users/Xous_window_mgr.java +++ b/400_xowa/src/gplx/xowa/users/Xous_window_mgr.java @@ -47,7 +47,7 @@ public class Xous_window_mgr implements GfoInvkAble { Xog_tab_itm tab = tab_mgr.Tabs_get_at(i); bfr.Add_str(tab.Page().Url().Xto_full_str_safe()); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_rect)) return rect; diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_html.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_html.java index 4e98a656a..93b3ac86b 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_html.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_html.java @@ -42,10 +42,10 @@ public class Xou_history_html implements Bry_fmtr_arg, Xows_page { mgr.Sort(); Bry_bfr bfr = app.Utl_bry_bfr_mkr().Get_m001(); html_grp.Bld_bfr_many(bfr, this); - page.Data_raw_(bfr.Mkr_rls().XtoAryAndClear()); + page.Data_raw_(bfr.Mkr_rls().Xto_bry_and_clear()); } public void XferAry(Bry_bfr bfr, int idx) { - int len = mgr.Count(); + int len = mgr.Len(); for (int i = 0; i < len; i++) { Xou_history_itm itm = mgr.Get_at(i); html_itm.Bld_bfr_many(bfr, itm.Wiki(), itm.Page(), itm.View_count(), itm.View_end().XtoStr_fmt_yyyy_MM_dd_HH_mm()); diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java index ba3d5d918..7980b24e3 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java @@ -20,7 +20,7 @@ public class Xou_history_itm { public Xou_history_itm(byte[] wiki, byte[] page) { this.wiki = wiki; this.page = page; - this.key = key_(wiki, page); + this.key = key_(wiki, page); this.view_bgn = DateAdp_.Now(); } private Xou_history_itm() {} public byte[] Key() {return key;} private byte[] key; @@ -66,6 +66,6 @@ public class Xou_history_itm { .Add(wiki) .Add_byte(Bry_.Dlm_fld) .Add(page) .Add_byte(Bry_.Dlm_row); } - public static byte[] key_(byte[] wiki, byte[] page) {return Bry_.Add(wiki, Key_dlm, page);} static final byte[] Key_dlm = Xoa_consts.Pipe_bry; + public static byte[] key_(byte[] wiki, byte[] page) {return Bry_.Add(wiki, Key_dlm, page);} private static final byte[] Key_dlm = Xoa_consts.Pipe_bry; public static final byte Fld_key = 0, Fld_wiki = 1, Fld_page = 2, Fld_view_count = 3, Fld_view_bgn = 4, Fld_view_end = 5; } diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java index 4203756de..e760628a8 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java @@ -16,25 +16,28 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.users.history; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*; -public class Xou_history_mgr implements GfoInvkAble {// app.user.history - public Xou_history_mgr(Xou_user user) {this.app = user.App();} private Xoa_app app; boolean load_chk = false; //boolean enabled = true; - Xou_history_html html_mgr = new Xou_history_html(); Xou_history_sorter sorter = new Xou_history_sorter().Sort_fld_(Xou_history_itm.Fld_view_end).Ascending_(false); - public int Count() {return itms.Count();} private OrderedHash itms = OrderedHash_.new_bry_(); +public class Xou_history_mgr implements GfoInvkAble { + private final Xou_history_html html_mgr = new Xou_history_html(); private Xou_history_sorter sorter = new Xou_history_sorter().Sort_fld_(Xou_history_itm.Fld_view_end).Ascending_(false); + private final Io_url history_fil; + private OrderedHash itms = OrderedHash_.new_bry_(); + private boolean load_chk = false; + public Xou_history_mgr(Io_url history_fil) {this.history_fil = history_fil;} + public int Len() {return itms.Count();} public void Clear() {itms.Clear();} - @gplx.Internal protected Xou_history_itm Get_at(int i) {return (Xou_history_itm)itms.FetchAt(i);} - public String Get_at_last(Xoa_app app) { - if (!load_chk) Load(app); + public Xou_history_itm Get_at(int i) {return (Xou_history_itm)itms.FetchAt(i);} + public String Get_at_last() { + if (!load_chk) Load(); int len = itms.Count(); if (len == 0) return String_.new_ascii_(Xoa_page_.Main_page_bry); // if no history, return Main_page (which should go to home/wiki/Main_page) Xou_history_itm itm = (Xou_history_itm)itms.FetchAt(0); return String_.new_utf8_(Bry_.Add(itm.Wiki(), Xoh_href_parser.Href_wiki_bry, itm.Page())); } public Xou_history_itm Get_or_null(byte[] wiki, byte[] page) { - if (!load_chk) Load(app); + if (!load_chk) Load(); byte[] key = Xou_history_itm.key_(wiki, page); return (Xou_history_itm)itms.Fetch(key); } public boolean Has(byte[] wiki, byte[] page) { - if (!load_chk) Load(app); + if (!load_chk) Load(); byte[] key = Xou_history_itm.key_(wiki, page); return itms.Has(key); } @@ -53,7 +56,7 @@ public class Xou_history_mgr implements GfoInvkAble {// app.user.history Add(url, ttl, page_ttl); } public void Add(Xoa_url url, Xoa_ttl ttl, byte[] page_ttl) { - if (!load_chk) Load(app); + if (!load_chk) Load(); byte[] page_db = ttl.Page_db(); if ( ttl.Ns().Id_special() && ( Bry_.Eq(page_db, Xou_history_mgr.Ttl_name) // do not add XowaPageHistory to history @@ -70,11 +73,11 @@ public class Xou_history_mgr implements GfoInvkAble {// app.user.history itm.Tally(); } public void Sort() {itms.SortBy(sorter);} - public void Load(Xoa_app app) { + public void Load() { if (load_chk) return; load_chk = true; itms.Clear(); - Xou_history_itm_srl.Load(Io_mgr._.LoadFilBry(app.User().Fsys_mgr().App_data_history_fil()), itms); + Xou_history_itm_srl.Load(Io_mgr._.LoadFilBry(history_fil), itms); itms.SortBy(sorter); } public void Save(Xoa_app app) { @@ -100,10 +103,8 @@ public class Xou_history_mgr implements GfoInvkAble {// app.user.history Io_url url = app.User().Fsys_mgr().App_data_history_fil().GenNewNameOnly(DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss_fff()); Io_mgr._.SaveFilBry(url, ary); return current_itms; - } int current_itms_max = 512, current_itms_reset = 256; + } private int current_itms_max = 512, current_itms_reset = 256; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { -// if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(enabled); -// else if (ctx.Match(k, Invk_enabled_)) enabled = m.ReadBool("v"); if (ctx.Match(k, Invk_html_grp)) return String_.new_utf8_(html_mgr.Html_grp().Fmt()); else if (ctx.Match(k, Invk_html_grp_)) html_mgr.Html_grp().Fmt_(m.ReadBry("v")); else if (ctx.Match(k, Invk_html_itm)) return String_.new_utf8_(html_mgr.Html_itm().Fmt()); @@ -114,7 +115,6 @@ public class Xou_history_mgr implements GfoInvkAble {// app.user.history return this; } public static final String Invk_html_grp = "html_grp", Invk_html_grp_ = "html_grp_", Invk_html_itm = "html_itm", Invk_html_itm_ = "html_itm_", Invk_current_itms_max_ = "current_itms_max_", Invk_current_itms_reset_ = "current_itms_reset_"; - //Invk_enabled = "enabled", Invk_enabled_ = "enabled_", public static final byte[] Ttl_name = Bry_.new_ascii_("XowaPageHistory"); public static final byte[] Ttl_full = Bry_.new_ascii_("Special:XowaPageHistory"); } @@ -135,13 +135,14 @@ class Xou_history_itm_srl { else // existing itm; update existing.Merge(itm); } - } catch (Exception e) {throw Err_.parse_type_exc_(e, Xou_history_itm.class, String_.new_utf8_(ary));} + } + catch (Exception e) {throw Err_.parse_type_exc_(e, Xou_history_itm.class, String_.new_utf8_(ary));} } public static byte[] Save(OrderedHash list) { Bry_bfr bb = Bry_bfr.new_(); int listLen = list.Count(); for (int i = 0; i < listLen; i++) ((Xou_history_itm)list.FetchAt(i)).Save(bb); - return bb.XtoAry(); + return bb.Xto_bry(); } } diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr_tst.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr_tst.java index 34d62b7da..99f26b213 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr_tst.java @@ -78,7 +78,7 @@ class Xou_history_mgr_fxt { return this; } public Xou_history_mgr_fxt List_tst(String... expd) { - int actl_len = under.Count(); + int actl_len = under.Len(); String[] actl = new String[actl_len]; for (int i = 0; i < actl_len; i++) { Xou_history_itm itm = under.Get_at(i); diff --git a/400_xowa/src/gplx/xowa/users/prefs/Prefs_converter.java b/400_xowa/src/gplx/xowa/users/prefs/Prefs_converter.java index d03005bc9..3aae7174a 100644 --- a/400_xowa/src/gplx/xowa/users/prefs/Prefs_converter.java +++ b/400_xowa/src/gplx/xowa/users/prefs/Prefs_converter.java @@ -58,7 +58,7 @@ public class Prefs_converter { Write_escaped_str(bfr, itm.Val()); bfr.Add_str("';\n"); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private void Write_escaped_str(Bry_bfr bfr, String str) { byte[] bry = Bry_.new_utf8_(str); @@ -81,7 +81,7 @@ public class Prefs_converter { if (prop_set_key[prop_set_key_len - 1] != Byte_ascii.Underline) return; // doesn't end with _ bfr.Add_mid(prop_set_key, 0, prop_set_key_len - 1); Prefs_converter_itm itm = new Prefs_converter_itm(); - itm.Key_(bfr.XtoStrAndClear()); + itm.Key_(bfr.Xto_str_and_clear()); String prop_val = m.Args_getAt(0).Val_to_str_or_empty(); itm.Val_(prop_val); list.Add(itm); diff --git a/400_xowa/src/gplx/xowa/users/prefs/Prefs_html_wtr.java b/400_xowa/src/gplx/xowa/users/prefs/Prefs_html_wtr.java index 59a57bdda..badd28409 100644 --- a/400_xowa/src/gplx/xowa/users/prefs/Prefs_html_wtr.java +++ b/400_xowa/src/gplx/xowa/users/prefs/Prefs_html_wtr.java @@ -96,13 +96,13 @@ class Prefs_html_wtr { if (cmd == null) cmd = hnde.Atrs_val_by_key_bry(Prefs_mgr.Bry_prop_get); tmp_bfr.Add(cmd).Add_byte(Byte_ascii.Semic); - try {return prefs_mgr.Eval(tmp_bfr.XtoAryAndClear());} + try {return prefs_mgr.Eval(tmp_bfr.Xto_bry_and_clear());} catch (Exception e) {return Err_.Message_gplx_brief(e);} } KeyVal[] Get_select_options(Html_nde hnde) { byte[] options_list_key = hnde.Atrs_val_by_key_bry(Atr_key_xowa_prop_list); tmp_bfr.Add(options_list_key).Add_byte(Byte_ascii.Semic); - try {return (KeyVal[])prefs_mgr.Eval(tmp_bfr.XtoAryAndClear());} + try {return (KeyVal[])prefs_mgr.Eval(tmp_bfr.Xto_bry_and_clear());} catch (Exception e) {Err_.Noop(e); return KeyVal_.Ary_empty;} } private void Write__nde_end(Bry_bfr bfr) {bfr.Add_byte(Byte_ascii.Gt);} diff --git a/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java b/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java index 0e2301232..30a6ab9e6 100644 --- a/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java +++ b/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java @@ -47,7 +47,7 @@ public class Prefs_mgr implements GfoInvkAble { pos = hnde.Tag_rhs_end(); } bfr.Add_mid(src, pos, src.length); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } private Bry_fmtr props_get_fmtr; private void Props_set_and_reload() { Xoa_page page = app.Gui_mgr().Browser_win().Active_page(); diff --git a/400_xowa/src/gplx/xowa/users/wikis/Xofs_url_itm_parser.java b/400_xowa/src/gplx/xowa/users/wikis/Xofs_url_itm_parser.java index 9c7522a8c..3b70da0d6 100644 --- a/400_xowa/src/gplx/xowa/users/wikis/Xofs_url_itm_parser.java +++ b/400_xowa/src/gplx/xowa/users/wikis/Xofs_url_itm_parser.java @@ -74,6 +74,6 @@ class Xofs_url_itm_parser { break; } } - itm.Url_(url_bfr.XtoStrAndClear()); + itm.Url_(url_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java index b474e52ba..aba3cf9bf 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java @@ -74,13 +74,13 @@ public class Xow_wiki_alias { byte domain_tid = ((Byte_obj_ref)o).Val(); Bry_bfr bfr = Bry_bfr.reset_(255); switch (domain_tid) { - case Domain_wikimediafoundation: return bfr.Add(Xow_wiki_domain_.Key_wikimediafoundation_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).XtoAryAndClear(); + case Domain_wikimediafoundation: return bfr.Add(Xow_wiki_domain_.Key_wikimediafoundation_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).Xto_bry_and_clear(); case Domain_wikidata: - case Domain_mediawiki: return bfr.Add(Xow_wiki_domain_.Seg_www_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).XtoAryAndClear(); + case Domain_mediawiki: return bfr.Add(Xow_wiki_domain_.Seg_www_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).Xto_bry_and_clear(); case Domain_commons: case Domain_species: case Domain_meta: - case Domain_incubator: return bfr.Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_wikimedia_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).XtoAryAndClear(); + case Domain_incubator: return bfr.Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_wikimedia_bry).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).Xto_bry_and_clear(); case Domain_wikipedia: case Domain_wiktionary: case Domain_wikisource: @@ -91,7 +91,7 @@ public class Xow_wiki_alias { case Domain_wikivoyage: bfr.Add_mid(src, 0, alias_bry_trie.Match_pos() + 1); bfr.Add_byte(Byte_ascii.Dot); - return bfr.Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).XtoAryAndClear(); + return bfr.Add(Xow_wiki_domain_.Key_by_tid(domain_tid)).Add_byte(Byte_ascii.Dot).Add(Xow_wiki_domain_.Seg_org_bry).Xto_bry_and_clear(); } return null; } @@ -154,6 +154,8 @@ public class Xow_wiki_alias { } } public static Xow_wiki_domain parse_by_wmf_key(byte[] wmf_key) { + if (Bry_.Has(wmf_key, Byte_ascii.Underline)) // convert "_" to "-"; note that wmf_keys have a strict format of langtype; EX: "zh_yuewiki"; DATE:2014-10-06 + wmf_key = Bry_.Replace_create(wmf_key, Byte_ascii.Underline, Byte_ascii.Dash); byte[] domain_bry = Parse__domain_name(wmf_key, 0, wmf_key.length); Xow_wiki_domain rv = Xow_wiki_domain_.parse_by_domain(domain_bry); rv.Wmf_key_(wmf_key); diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java index 65fc543be..ceac2e7dc 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java @@ -55,6 +55,10 @@ public class Xow_wiki_alias_tst { @Test public void Build_alias_by_lang_tid() { fxt.Build_alias_by_lang_tid("en", Xow_wiki_domain_.Tid_wikipedia, "enwiki"); } + @Test public void Parse_by_wmf_key() { + fxt.Test_parse_by_wmf_key("enwiki", "en", "en.wikipedia.org"); + fxt.Test_parse_by_wmf_key("zh_yuewiki", "zh-yue", "zh-yue.wikipedia.org"); + } } class Xow_wiki_alias_fxt { Xow_wiki_alias file = new Xow_wiki_alias(); @@ -82,6 +86,11 @@ class Xow_wiki_alias_fxt { } public void Build_alias_by_lang_tid(String lang_key, byte wiki_tid, String expd) { Xow_wiki_alias.Build_alias_by_lang_tid(tmp_bfr, Bry_.new_ascii_(lang_key), wiki_tid_ref.Val_(wiki_tid)); - Tfds.Eq_bry(Bry_.new_utf8_(expd), tmp_bfr.XtoAryAndClear()); + Tfds.Eq_bry(Bry_.new_utf8_(expd), tmp_bfr.Xto_bry_and_clear()); } static final Byte_obj_ref wiki_tid_ref = Byte_obj_ref.zero_(); + public void Test_parse_by_wmf_key(String wmf_key, String expd_lang_key, String expd_domain) { + Xow_wiki_domain domain = Xow_wiki_alias.parse_by_wmf_key(Bry_.new_ascii_(wmf_key)); + Tfds.Eq(expd_lang_key , String_.new_ascii_(domain.Lang_key())); + Tfds.Eq(expd_domain , String_.new_ascii_(domain.Domain_bry())); + } } diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java index 5fd2f2698..042f4f0f7 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java @@ -64,7 +64,7 @@ public class Xow_wiki_domain_ { case Tid_wikipedia: case Tid_wiktionary: case Tid_wikisource: case Tid_wikibooks: case Tid_wikiversity: case Tid_wikiquote: case Tid_wikinews: case Tid_wikivoyage: // ~{lang}.~{type}.org byte[] lang_orig = Bry_.Mid(raw, 0, dot_0); - byte[] lang_actl = parse_lang(lang_orig); + byte[] lang_actl = X_lang_to_gfs(lang_orig); return new Xow_wiki_domain(raw, seg_1_tid, lang_actl, lang_orig); // NOTE: seg_tids must match wiki_tids case Tid_wikidata: case Tid_mediawiki: // ~www.~{type}.org return new Xow_wiki_domain(raw, seg_1_tid, Xol_lang_itm_.Key__unknown); @@ -82,15 +82,15 @@ public class Xow_wiki_domain_ { return Xow_wiki_domain_.new_other_(raw); } } - private static byte[] parse_lang(byte[] v) { - Object o = lang_map_hash.Get_by_bry(v); + private static final Hash_adp_bry lang_to_gfs_hash = Hash_adp_bry.ci_ascii_() // ASCII:lang_code + .Add_str_obj("simple" , Bry_.new_ascii_("en")) + .Add_str_obj("zh-classical" , Bry_.new_ascii_("lzh")) + .Add_str_obj("no" , Bry_.new_ascii_("nb")) + ; + private static byte[] X_lang_to_gfs(byte[] v) { + Object o = lang_to_gfs_hash.Get_by_bry(v); return o == null ? v : (byte[])o; } - private static final Hash_adp_bry lang_map_hash = Hash_adp_bry.ci_ascii_() // ASCII:lang_code - .Add_str_obj("simple" , Bry_.new_ascii_("en")) - .Add_str_obj("zh-classical" , Bry_.new_ascii_("lzh")) - .Add_str_obj("no" , Bry_.new_ascii_("nb")) - ; public static final byte Tid_other = 0, Tid_home = 1 , Tid_wikipedia = 2, Tid_wiktionary = 3, Tid_wikisource = 4, Tid_wikibooks = 5, Tid_wikiversity = 6, Tid_wikiquote = 7, Tid_wikinews = 8, Tid_wikivoyage = 9 diff --git a/400_xowa/src/gplx/xowa/wikis/caches/Xow_cache_mgr.java b/400_xowa/src/gplx/xowa/wikis/caches/Xow_cache_mgr.java index 2092f4882..4c9e4ddaa 100644 --- a/400_xowa/src/gplx/xowa/wikis/caches/Xow_cache_mgr.java +++ b/400_xowa/src/gplx/xowa/wikis/caches/Xow_cache_mgr.java @@ -37,7 +37,7 @@ public class Xow_cache_mgr { Cfg_nde_obj nde = root.Root_get_at(i); Scrib_lang_names_grps(list, nde); } - scrib_lang_names = (KeyVal[])list.XtoAry(KeyVal.class); + scrib_lang_names = (KeyVal[])list.Xto_ary(KeyVal.class); } return scrib_lang_names; } private static KeyVal[] scrib_lang_names; diff --git a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr.java b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr.java index f2c499110..bdae936fc 100644 --- a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr.java +++ b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr.java @@ -92,7 +92,7 @@ public class Xow_xwiki_mgr implements GfoInvkAble { seen.AddKeyVal(domain); fmtr.Bld_bfr_many(tmp_bfr, key); } - return tmp_bfr.Mkr_rls().XtoStrAndClear(); + return tmp_bfr.Mkr_rls().Xto_str_and_clear(); } public void Add_bulk_peers(byte[] raw) { byte[][] keys = Bry_.Split(raw, Byte_ascii.Tilde); diff --git a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java index 757278aa5..407832b2e 100644 --- a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java @@ -118,7 +118,7 @@ class Xow_xwiki_mgr_fxt { if (itm == null) itm = xwiki_null_(String_.new_utf8_(alias)); // "null", ignore rv.Add(itm); } - return (Xow_xwiki_itm[])rv.XtoAry(Xow_xwiki_itm.class); + return (Xow_xwiki_itm[])rv.Xto_ary(Xow_xwiki_itm.class); } String Xto_str(Xow_xwiki_itm[] itms) { int len = itms.length; @@ -130,6 +130,6 @@ class Xow_xwiki_mgr_fxt { sb.Add(itm.Key_bry()).Add_char_pipe().Add(itm.Domain()).Add_char_pipe().Add(itm.Fmt()).Add_char_pipe().Add(itm.Wiki_tid()).Add_char_nl(); } } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } diff --git a/400_xowa/src/gplx/xowa/xtns/cite/Ref_html_wtr_cfg.java b/400_xowa/src/gplx/xowa/xtns/cite/Ref_html_wtr_cfg.java index d1b6a0182..3612addc7 100644 --- a/400_xowa/src/gplx/xowa/xtns/cite/Ref_html_wtr_cfg.java +++ b/400_xowa/src/gplx/xowa/xtns/cite/Ref_html_wtr_cfg.java @@ -116,6 +116,6 @@ public class Ref_html_wtr_cfg { if (last) break; ++pos; } - return (byte[][])list.XtoAryAndClear(byte[].class); + return (byte[][])list.Xto_ary_and_clear(byte[].class); } } diff --git a/400_xowa/src/gplx/xowa/xtns/cite/Ref_itm_mgr_tst.java b/400_xowa/src/gplx/xowa/xtns/cite/Ref_itm_mgr_tst.java index 197e60e8d..7a2fa67ec 100644 --- a/400_xowa/src/gplx/xowa/xtns/cite/Ref_itm_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/cite/Ref_itm_mgr_tst.java @@ -70,10 +70,10 @@ class Xtn_ref_nde_chkr implements Tst_chkr { rv += mgr.Tst_val(idx_minor == -1, path, "idx_minor", idx_minor, actl.Idx_minor()); rv += mgr.Tst_val(uid == -1, path, "uid", uid, actl.Uid()); if (related != null) - rv += mgr.Tst_sub_ary(related, XtoAry(actl), "related", rv); + rv += mgr.Tst_sub_ary(related, Xto_bry(actl), "related", rv); return rv; } - Ref_nde[] XtoAry(Ref_nde itm) { + Ref_nde[] Xto_bry(Ref_nde itm) { int len = itm.Related_len(); Ref_nde[] rv = new Ref_nde[len]; for (int i = 0; i < len; i++) diff --git a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java index 7d54d867e..274734feb 100644 --- a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java @@ -223,7 +223,7 @@ class Dpl_xnde_fxt { bfr.Add(">").Add(page).Add("
  • ").Add_char_nl(); } bfr.Add("").Add_char_nl(); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public void Ul_pages(String raw, String expd) { fxt.Test_parse_page_wiki_str(raw, expd); diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_html_wtr.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_html_wtr.java index 09a289720..ebf15e2c5 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_html_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_html_wtr.java @@ -167,7 +167,7 @@ class Gallery_html_wtr_ { Bry_bfr caption_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); Xop_root_tkn caption_root = itm.Caption_tkn(); wtr.Write_tkn(caption_bfr, ctx, hctx, caption_root.Root_src(), caption_root, Xoh_html_wtr.Sub_idx_null, caption_root); - rv = caption_bfr.Mkr_rls().XtoAryAndClear(); + rv = caption_bfr.Mkr_rls().Xto_bry_and_clear(); } return rv; } diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm.java index d54211fd2..1db9e6129 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm.java @@ -49,7 +49,7 @@ public class Gallery_itm implements Js_img_wkr { try { xfer_itm.Init_for_gallery_update(html_w, html_h, html_src, orig_src); gallery_mgr.Write_html_itm(bfr, tmp_bfr, wiki.App(), wiki, ctx.Cur_page(), ctx, wiki.Html_mgr().Html_wtr(), Xoh_wtr_ctx.Basic, src, xnde, Bry_.Empty, gallery_itm_idx, xfer_itm, false); - String itm_html = bfr.XtoStrAndClear(); + String itm_html = bfr.Xto_str_and_clear(); html_itm.Html_elem_replace_html(String_.new_utf8_(gallery_li_id_bry), itm_html); if (gallery_itm_idx == xnde.Itms_len() - 1 && Gallery_mgr_base_.Mode_is_packed(xnde.Mode())) page.Html_data().Xtn_gallery_packed_exists_y_(); // set flag for packed_gallery; don't fire multiple times; PAGE:en.html_w:National_Sculpture_Museum_(Valladolid); DATE:2014-07-21 diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java index 02e776518..d771e2414 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java @@ -48,7 +48,7 @@ public class Gallery_itm_parser { byte cur_mode = Parse_itm(); if (cur_itm.Ttl() != null) { if (caption_bfr.Len() > 0) - cur_itm.Caption_bry_(caption_bfr.XtoAryAndClearAndTrim()); + cur_itm.Caption_bry_(caption_bfr.Xto_bry_and_clear_and_trim()); Make_lnki_tkn(mgr, xnde, src); rv.Add(cur_itm); cur_itm = new Gallery_itm(); diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base.java index a1efd1078..a8cee4ba4 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base.java @@ -62,7 +62,7 @@ public abstract class Gallery_mgr_base { page.Hdump_data().Data_add(new Hdump_data_gallery(gallery_uid, max_width)); } byte[] box_cls = Fmt_and_add(tmp_bfr, box_cls_fmtr, xnde.Atr_cls(), this.Tid_bry()); - byte[] gallery_ul_id = tmp_bfr.Add(box_id_prefix_bry).Add_int_variable(gallery_uid).XtoAryAndClear(); + byte[] gallery_ul_id = tmp_bfr.Add(box_id_prefix_bry).Add_int_variable(gallery_uid).Xto_bry_and_clear(); Box_hdr_write(bfr, wiki.App().Html_mgr().Whitelist_mgr(), src, gallery_ul_id, box_cls, box_style, xnde.Atrs_other(), hctx_is_hdump, gallery_uid); byte[] box_caption = xnde.Atr_caption(); if (Bry_.Len_gt_0(box_caption)) box_caption_fmtr.Bld_bfr_many(bfr, box_caption); @@ -91,7 +91,7 @@ public abstract class Gallery_mgr_base { ; } int img_uid = xfer_itm.Html_uid(); - byte[] gallery_li_id = tmp_bfr.Add(itm_id_prefix_bry).Add_int_variable(img_uid).XtoAryAndClear(); + byte[] gallery_li_id = tmp_bfr.Add(itm_id_prefix_bry).Add_int_variable(img_uid).Xto_bry_and_clear(); byte[] itm_html = Bry_.Empty; int html_w_expand = xfer_itm.Html_w(); int html_h_expand = xfer_itm.Html_h(); @@ -129,7 +129,7 @@ public abstract class Gallery_mgr_base { itm_div1_fmtr.Bld_bfr_many(tmp_bfr, vpad_fmtr.Init(img_uid, vpad)); //
    wiki.Html_mgr().Html_wtr().Lnki_wtr().Write_file(tmp_bfr, ctx, hctx, src, lnki, xfer_itm, alt); tmp_bfr.Add(itm_divs_end_bry); - itm_html = tmp_bfr.XtoAryAndClear(); + itm_html = tmp_bfr.Xto_bry_and_clear(); } byte[] show_filenames_link = Bry_.Empty; @@ -144,8 +144,8 @@ public abstract class Gallery_mgr_base { itm_li_bgn_fmtr.Bld_bfr_many(bfr, gallery_li_id, box_w_fmtr_arg.Init(img_uid, itm_div_width)); bfr.Add(itm_html); wiki.Parser().Parse_text_to_html(tmp_bfr, page, true, itm_caption); - itm_caption = tmp_bfr.XtoAryAndClear(); - itm_caption = tmp_bfr.Add(show_filenames_link).Add(itm_caption).XtoAryAndClear(); + itm_caption = tmp_bfr.Xto_bry_and_clear(); + itm_caption = tmp_bfr.Add(show_filenames_link).Add(itm_caption).Xto_bry_and_clear(); Wrap_gallery_text(bfr, itm_caption, html_w_expand, html_h_expand); bfr.Add(itm_li_end_bry); if (hctx_is_hdump) @@ -187,7 +187,7 @@ public abstract class Gallery_mgr_base { tmp_bfr.Add_byte_space(); tmp_bfr.Add(trailer); } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private static void Box_hdr_write(Bry_bfr bfr, Xop_xatr_whitelist_mgr whitelist_mgr, byte[] src, byte[] gallery_ul_uid, byte[] cls, byte[] style, ListAdp xatr_list, boolean hctx_is_hdump, int uid) { bfr.Add_byte(Byte_ascii.Lt).Add(Html_tag_.Ul_name_bry); diff --git a/400_xowa/src/gplx/xowa/xtns/geoCrumbs/Geoc_isin_func.java b/400_xowa/src/gplx/xowa/xtns/geoCrumbs/Geoc_isin_func.java index 658ec598d..96facb6af 100644 --- a/400_xowa/src/gplx/xowa/xtns/geoCrumbs/Geoc_isin_func.java +++ b/400_xowa/src/gplx/xowa/xtns/geoCrumbs/Geoc_isin_func.java @@ -27,7 +27,7 @@ public class Geoc_isin_func extends Pf_func_base { byte[] lnki_ttl = Bry_.Add(Xop_tkn_.Lnki_bgn, ttl_bry, Xop_tkn_.Lnki_end); // make "[[ttl]]" Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b128(); wiki.Parser().Parse_text_to_html(tmp_bfr, ctx.Cur_page(), false, lnki_ttl); - ctx.Cur_page().Html_data().Content_sub_(tmp_bfr.Mkr_rls().XtoAryAndClear()); + ctx.Cur_page().Html_data().Content_sub_(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); } public static final Geoc_isin_func _ = new Geoc_isin_func(); } diff --git a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_mgr.java b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_mgr.java index 3eae4d082..2a8e67302 100644 --- a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_mgr.java @@ -102,7 +102,7 @@ class Hiero_html_mgr { else temp_bfr.Add(v); } - byte[] prefab_bry = temp_bfr.XtoAryAndClear(); + byte[] prefab_bry = temp_bfr.Xto_bry_and_clear(); Hiero_prefab_itm prefab_itm = prefab_mgr.Get_by_key(prefab_bry); if (prefab_itm != null) { byte[] td_height = wtr.Td_height(Resize_glyph(prefab_bry, cartouche_opened)); @@ -159,7 +159,7 @@ class Hiero_html_mgr { byte[] td_height = wtr.Td_height(Resize_glyph(v, cartouche_opened, total)); temp_bfr.Add(Render_glyph(v, td_height)); } - wtr.Td(content_bfr, temp_bfr.XtoAryAndClear()); + wtr.Td(content_bfr, temp_bfr.Xto_bry_and_clear()); } } private byte[] Render_glyph(byte[] src) {return Render_glyph(src, Bry_.Empty);} diff --git a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_wtr.java b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_wtr.java index 01f22ea43..e38c5890b 100644 --- a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_html_wtr.java @@ -25,7 +25,7 @@ class Hiero_html_wtr { public void Hr(Bry_bfr bfr) {bfr.Add(Html_tag_.Hr_inl).Add_byte_nl();} public void Tbl_eol(Bry_bfr bfr) {bfr.Add(Tbl_eol_bry);} public byte[] Td_height(int height) { - return temp_bfr.Add(Option_bgn_bry).Add_int_variable(height).Add(Option_end_bry).XtoAryAndClear(); + return temp_bfr.Add(Option_bgn_bry).Add_int_variable(height).Add(Option_end_bry).Xto_bry_and_clear(); } private static final byte[] Option_bgn_bry = Bry_.new_ascii_("height: ") @@ -130,7 +130,7 @@ class Hiero_html_wtr { ; public byte[] Img_phoneme(byte[] img_cls, byte[] td_height, byte[] glyph_esc, byte[] code) { byte[] code_esc = Html_utl.Escape_html_as_bry(temp_bfr, code); - byte[] img_title = temp_bfr.Add(code_esc).Add_byte_space().Add_byte(Byte_ascii.Brack_bgn).Add(glyph_esc).Add_byte(Byte_ascii.Brack_end).XtoAryAndClear(); // "~{code} [~{glyph}]" + byte[] img_title = temp_bfr.Add(code_esc).Add_byte_space().Add_byte(Byte_ascii.Brack_bgn).Add(glyph_esc).Add_byte(Byte_ascii.Brack_end).Xto_bry_and_clear(); // "~{code} [~{glyph}]" return Img(img_cls, td_height, glyph_esc, code_esc, img_title); } public byte[] Img_file(byte[] img_cls, byte[] td_height, byte[] glyph_esc) {return Img(img_cls, td_height, glyph_esc, glyph_esc, glyph_esc);} diff --git a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java index 91fbac17c..6d2a40d44 100644 --- a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java @@ -30,7 +30,7 @@ public class Hiero_mw_tables_parser { public void Load_data(Hiero_xtn_mgr xtn_mgr, Io_url load_fil) {// NOTE: parsing tables.php instead of tables.ser b/c latter is too difficult to read / debug evaluator.Clear(); parser.Parse_tkns(Io_mgr._.LoadFilBry(load_fil), evaluator); - Php_line[] lines = (Php_line[])evaluator.List().XtoAry(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().Xto_ary(Php_line.class); int lines_len = lines.length; for (int i = 0; i < lines_len; i++) { Php_line_assign line = (Php_line_assign)lines[i]; diff --git a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_parser.java b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_parser.java index 4d5c7b827..f9ba91077 100644 --- a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_parser.java @@ -64,7 +64,7 @@ class Hiero_parser { } } this.New_block();// flush remaining items - return (Hiero_block[])blocks.XtoAryAndClear(Hiero_block.class); + return (Hiero_block[])blocks.Xto_ary_and_clear(Hiero_block.class); } private void New_block() { this.New_token(null); @@ -75,7 +75,7 @@ class Hiero_parser { } private void New_token(Hiero_parser_itm itm) { if (cur_tkn.Len_gt_0()) - cur_block.Add(cur_tkn.XtoAryAndClear()); + cur_block.Add(cur_tkn.Xto_bry_and_clear()); if (itm != null) cur_block.Add(itm.Key()); } diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java index 2df3be58e..c36bef285 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java @@ -32,7 +32,7 @@ class Imap_link_owner_ { Xop_lnki_tkn lnki_tkn = (Xop_lnki_tkn)tkn; link_owner.Link_href_(app.Href_parser().Build_to_bry(wiki, lnki_tkn.Ttl())); wiki.Html_mgr().Html_wtr().Lnki_wtr().Write_caption(bfr, Xoh_wtr_ctx.Alt, src, lnki_tkn, lnki_tkn.Ttl()); - link_owner.Link_text_(bfr.XtoAryAndClear()); + link_owner.Link_text_(bfr.Xto_bry_and_clear()); break; } case Xop_tkn_itm_.Tid_lnke: { @@ -41,9 +41,9 @@ class Imap_link_owner_ { int lnke_bgn = lnke.Lnke_bgn(), lnke_end = lnke.Lnke_end(); boolean proto_is_xowa = lnke.Proto_tid() == Xoo_protocol_itm.Tid_xowa; Xoh_lnke_wtr lnke_wtr = wiki.Html_mgr().Html_wtr().Lnke_wtr(); lnke_wtr.Write_href(bfr, ctx, src, lnke, lnke_bgn, lnke_end, proto_is_xowa); - link_owner.Link_href_(bfr.XtoAryAndClear()); + link_owner.Link_href_(bfr.Xto_bry_and_clear()); lnke_wtr.Write_caption(bfr, wiki.Html_mgr().Html_wtr(), Xoh_wtr_ctx.Basic, ctx, src, lnke, lnke_bgn, lnke_end, proto_is_xowa); - link_owner.Link_text_(bfr.XtoAryAndClear()); + link_owner.Link_text_(bfr.Xto_bry_and_clear()); break; } } diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_map.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_map.java index 835f086ae..3f0da5974 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_map.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_map.java @@ -43,7 +43,7 @@ public class Imap_map implements Xoh_file_img_wkr, Js_img_wkr { Xow_wiki wiki = xtn_mgr.Wiki(); Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); Write_imap_div(tmp_bfr, page, Xoh_wtr_ctx.Basic, html_uid, html_w, html_h, Bry_.new_utf8_(html_src), orig_w, orig_h, lnki_ttl); - html_itm.Html_elem_replace_html("imap_div_" + Int_.Xto_str(html_uid), tmp_bfr.Mkr_rls().XtoStrAndClear()); + html_itm.Html_elem_replace_html("imap_div_" + Int_.Xto_str(html_uid), tmp_bfr.Mkr_rls().Xto_str_and_clear()); } private void Write_imap_div(Bry_bfr bfr, Xoa_page page, Xoh_wtr_ctx hctx, int html_uid, int html_w, int html_h, byte[] html_src, int orig_w, int orig_h, byte[] lnki_ttl) { byte[] desc_style = Calc_desc_style(html_w, html_h); diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java index 74298675e..97fd3b294 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java @@ -84,7 +84,7 @@ class Imap_parser { } catch (Exception e) {usr_dlg.Warn_many("", "", "imap.parse:skipping line; page=~{0} line=~{1} err=~{2}", page_url.Xto_full_str_safe(), Bry_.Mid_safe(src, itm_bgn, itm_end), Err_.Message_gplx(e));} ++itm_idx; } - rv.Init(xtn_mgr, imap_img_src, imap_img, imap_dflt, imap_desc, (Imap_itm_shape[])shapes.XtoAryAndClear(Imap_itm_shape.class), (Imap_err[])errs.XtoAryAndClear(Imap_err.class)); + rv.Init(xtn_mgr, imap_img_src, imap_img, imap_dflt, imap_desc, (Imap_itm_shape[])shapes.Xto_ary_and_clear(Imap_itm_shape.class), (Imap_err[])errs.Xto_ary_and_clear(Imap_err.class)); } private void Parse_comment(int itm_bgn, int itm_end) {} // noop comments; EX: "# comment\n" private void Parse_invalid(int itm_bgn, int itm_end) {usr_dlg.Warn_many("", "", "imap has invalid line: page=~{0} line=~{1}", page_url.Xto_full_str_safe(), String_.new_utf8_(src, itm_bgn, itm_end));} @@ -149,7 +149,7 @@ class Imap_parser { else if (pts_len > reqd_pts) pts.Del_range(reqd_pts, pts_len - 1); // NOTE: MW allows more points, but doesn't show them; EX: rect 1 2 3 4 5 -> rect 1 2 3 4; PAGE:en.w:Kilauea DATE:2014-07-28 } pos = Bry_finder.Trim_fwd_space_tab(src, pos, itm_end); - Imap_itm_shape shape_itm = new Imap_itm_shape(shape_tid, (Double_obj_val[])pts.XtoAryAndClear(Double_obj_val.class)); + Imap_itm_shape shape_itm = new Imap_itm_shape(shape_tid, (Double_obj_val[])pts.Xto_ary_and_clear(Double_obj_val.class)); Init_link_owner(shape_itm, src, pos, itm_end); shapes.Add(shape_itm); return true; diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_xnde_html_itm_tst.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_xnde_html_itm_tst.java index b7065229d..e53a8e5d7 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_xnde_html_itm_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_xnde_html_itm_tst.java @@ -28,6 +28,6 @@ class Imap_html_bldr_fxt extends Imap_fxt_base { private Imap_pts_fmtr_arg pts_fmtr_arg = new Imap_pts_fmtr_arg(); public void Test_shape_html(Imap_itm_shape shape, String expd) { Imap_shapes_fmtr.Fmt_shape(bfr, Imap_html_fmtrs.Area, pts_fmtr_arg, shape); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_func_tst.java b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_func_tst.java index 7a7395773..ebfa3f0bd 100644 --- a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_func_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_func_tst.java @@ -32,7 +32,7 @@ class Insider_func_fxt { fxt.Test_parse_tmpl_str_test(raw, "{{test}}", expd); Insider_xtn_skin_itm skin_itm = (Insider_xtn_skin_itm)fxt.Page().Html_data().Xtn_skin_mgr().Get_or_null(Insider_xtn_skin_itm.KEY); ListAdp list = skin_itm.Itms(); - byte[][] brys = (byte[][])list.XtoAry(byte[].class); + byte[][] brys = (byte[][])list.Xto_ary(byte[].class); Tfds.Eq_ary_str(insiders, String_.Ary(brys)); } } diff --git a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr.java b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr.java index 06be18a26..ebdd601c0 100644 --- a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr.java +++ b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr.java @@ -51,7 +51,7 @@ public class Insider_html_bldr implements Bry_fmtr_arg { if (hash.Has(user_ttl_bry)) continue; hash.Add(user_ttl_bry, user_ttl_bry); href_parser.Encoder().Encode(tmp_ttl, user_ttl_bry); - user_ttl_bry = tmp_ttl.XtoAryAndClear(); + user_ttl_bry = tmp_ttl.Xto_bry_and_clear(); fmtr_itm.Bld_bfr(bfr, user_ttl_bry, user_ttl.Page_txt()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr_tst.java b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr_tst.java index e3cdde97b..a890b0f29 100644 --- a/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/insiders/Insider_html_bldr_tst.java @@ -57,6 +57,6 @@ class Insider_html_bldr_fxt { public void Test_bld(String expd) { Bry_bfr tmp_bfr = Bry_bfr.reset_(255); skin_itm.Write(tmp_bfr, page); - Tfds.Eq_str_lines(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java b/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java index 78c4946ae..adc9078e1 100644 --- a/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java @@ -102,7 +102,7 @@ public class Listing_xnde implements Xox_xnde, Xop_xnde_atr_parser { } bfr.Add(Xoa_consts.Invk_end); // "}}" Xop_ctx sub_ctx = Xop_ctx.new_sub_(wiki); - html_output = wiki.Parser().Parse_text_to_html(sub_ctx, bfr.Mkr_rls().XtoAryAndClear()); + html_output = wiki.Parser().Parse_text_to_html(sub_ctx, bfr.Mkr_rls().Xto_bry_and_clear()); return true; } private void Bld_by_args(Listing_xtn_mgr xtn_mgr, Html_wtr wtr, Xop_xnde_tkn xnde, byte[] src) { @@ -202,7 +202,7 @@ public class Listing_xnde implements Xox_xnde, Xop_xnde_atr_parser { tmp_bfr.Add(rv); // rv is not message, but actually template precursor tmp_bfr.Add(Xoa_consts.Invk_end); // "}}" Xop_ctx sub_ctx = Xop_ctx.new_sub_(wiki); - rv = wiki.Parser().Parse_text_to_html(sub_ctx, tmp_bfr.XtoAryAndClear()); + rv = wiki.Parser().Parse_text_to_html(sub_ctx, tmp_bfr.Xto_bry_and_clear()); Xol_msg_itm position_text = xtn_mgr.Position_text(); if (Bry_.Len_eq_0(position_text.Val())) return rv; return position_text.Fmt(tmp_bfr, rv); diff --git a/400_xowa/src/gplx/xowa/xtns/lst/Lst_pfunc_wkr.java b/400_xowa/src/gplx/xowa/xtns/lst/Lst_pfunc_wkr.java index ff99be1c6..04a3137e8 100644 --- a/400_xowa/src/gplx/xowa/xtns/lst/Lst_pfunc_wkr.java +++ b/400_xowa/src/gplx/xowa/xtns/lst/Lst_pfunc_wkr.java @@ -44,7 +44,7 @@ public class Lst_pfunc_wkr { Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_m001(); page.Tmpl_stack_del(); // take template off stack; evaluate will never recurse, and will fail if ttl is still on stack; DATE:2014-03-10 defn_tmpl.Tmpl_evaluate(sub_ctx, Xot_invk_temp.Page_is_caller, tmp_bfr); - src = tmp_bfr.Mkr_rls().XtoAryAndClear(); + src = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); if (!page.Tmpl_stack_add(src_ttl.Full_db())) return; // put template back on stack; Xop_root_tkn root = wiki.Parser().Parse_text_to_wdom(sub_ctx, src, true); // NOTE: pass sub_ctx as old_ctx b/c entire document will be parsed, and references outside the section should be ignored; src = root.Data_mid(); // NOTE: must set src to root.Data_mid() which is result of parse; else will break text; DATE:2013-07-11 diff --git a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java index 416ef0e5c..458846658 100644 --- a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java +++ b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java @@ -63,7 +63,7 @@ public class Map_geolink_func extends Pf_func_base { private static final Xol_msg_itm tmp_msg_itm = new Xol_msg_itm(-1, Bry_.Empty); private static byte[] Xto_coord(Bry_bfr bfr, Map_math math, boolean pass, byte[] dir, byte[] or) { return pass - ? bfr.Add_double(Math_.Abs_double(math.Dec())).Add_byte(Byte_ascii.Underline).Add(dir).XtoAryAndClear() + ? bfr.Add_double(Math_.Abs_double(math.Dec())).Add_byte(Byte_ascii.Underline).Add(dir).Xto_bry_and_clear() : or ; } @@ -75,7 +75,7 @@ public class Map_geolink_func extends Pf_func_base { } private static byte[] Xto_dec(Bry_bfr bfr, Map_math math, boolean pass) { return pass - ? bfr.Add_double(math.Dec()).XtoAryAndClear() + ? bfr.Add_double(math.Dec()).Xto_bry_and_clear() : Bry_arg_5_fail ; } diff --git a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java index fa429224b..d0d23c688 100644 --- a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java +++ b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java @@ -136,7 +136,7 @@ class Map_math {// REF.MW:MapSources_math.php letter = minus; if (letter != null) tmp_bfr.Add_byte_space().Add(letter); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private void Parse_input(byte[] src) { // REF.MW: toDec src = Parse_input_normalize(tmp_bfr, src); @@ -268,7 +268,7 @@ class Map_math {// REF.MW:MapSources_math.php i = Input_trie.Match_pos(); } } - return bfr.XtoAryAndClearAndTrim(); + return bfr.Xto_bry_and_clear_and_trim(); } private static final byte Dir_unknown_id = 0, Dir_lat_id = 1, Dir_long_id = 2; public static final byte[] Dir_lat_bry = Bry_.new_ascii_("lat"), Dir_long_bry = Bry_.new_ascii_("long"); diff --git a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_html_wtr.java b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_html_wtr.java index 716f7e4ec..7eed4bf73 100644 --- a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_html_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_html_wtr.java @@ -79,6 +79,6 @@ public class Xof_math_html_wtr { if (write_to_bfr) return null; else - return dirty ? bfr.XtoAryAndClear() : bry; + return dirty ? bfr.Xto_bry_and_clear() : bry; } } diff --git a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java index 1d93775a0..5a74a2f3d 100644 --- a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java @@ -48,7 +48,7 @@ public class Xof_math_mgr implements GfoInvkAble { .Add(String_.CharAt(hash, 2)).Add(Math_dir_spr) .Add(hash).Add(".png") ; - return Io_url_.new_fil_(tmp_sb.XtoStrAndClear()); + return Io_url_.new_fil_(tmp_sb.Xto_str_and_clear()); } public boolean MakePng(byte[] math, String hash, Io_url png_url, String prog_fmt) { if (!enabled) return false; diff --git a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_subst_regy.java b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_subst_regy.java index 6f5ea2145..9feab4766 100644 --- a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_subst_regy.java +++ b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_subst_regy.java @@ -56,7 +56,7 @@ public class Xof_math_subst_regy { } for (int i = 0; i < dollarSignCount; i++) bfr.Add_byte(Byte_ascii.Dollar); - return bfr.XtoAryAndClearAndTrim(); + return bfr.Xto_bry_and_clear_and_trim(); } boolean init = false; public Xof_math_subst_regy Init() { if (init) return this; diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_.java index e2494231b..425e4372b 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_.java @@ -27,18 +27,18 @@ public class Pf_func_ { nde.Key_tkn().Tmpl_evaluate(ctx, src, caller, bfr); // NOTE: must add key b/c parser functions do not have keys and some usages pass in xml_tkns; EX: {{#if|= self_args_len) return or; Bry_bfr bfr = Bry_bfr.new_(); Arg_nde_tkn nde = self.Args_get_by_idx(i); nde.Val_tkn().Tmpl_evaluate(ctx, src, caller, bfr); - return bfr.XtoAryAndClearAndTrim(); + return bfr.Xto_bry_and_clear_and_trim(); } public static byte[] Eval_tkn(Bry_bfr bfr, Xop_ctx ctx, byte[] src, Xot_invk caller, Xop_tkn_itm tkn) { tkn.Tmpl_evaluate(ctx, src, caller, bfr); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } private static final NumberParser lhs_parser = new NumberParser().Hex_enabled_(true), rhs_parser = new NumberParser().Hex_enabled_(true); public static boolean Eq_(byte[] lhs, byte[] rhs) { // PATCH.PHP: php allows "003" == "3.0"; ASSUME: numbers are either int or int-like decimal; long, float, decimal not supported diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_base.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_base.java index a81dcf3cd..0df2aeb5c 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_base.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/Pf_func_base.java @@ -36,7 +36,7 @@ public abstract class Pf_func_base implements Pf_func { Bry_bfr tmp = Bry_bfr.new_(); for (int i = 0; i < subs_len; i++) name_val_tkn.Subs_get(i).Tmpl_evaluate(ctx, src, caller, tmp); - argx_dat = tmp.XtoAryAndClearAndTrim(); + argx_dat = tmp.Xto_bry_and_clear_and_trim(); } } return argx_dat; @@ -62,7 +62,7 @@ public abstract class Pf_func_base implements Pf_func { Bry_bfr tmp = Bry_bfr.new_(); for (int i = 0; i < subs_len; i++) name_val_tkn.Subs_get(i).Tmpl_evaluate(ctx, src, caller, tmp); - argx_dat = tmp.XtoAryAndClearAndTrim(); + argx_dat = tmp.Xto_bry_and_clear_and_trim(); } } return argx_dat; diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_switch.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_switch.java index cf824b593..bed5f6aa5 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_switch.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_switch.java @@ -81,7 +81,7 @@ public class Pfunc_switch extends Pf_func_base { return Bry_.Trim(src, itm.Dat_bgn(), itm.Dat_end()); else { itm.Tmpl_evaluate(ctx, src, caller, tmp); - return tmp.XtoAryAndClearAndTrim(); + return tmp.Xto_bry_and_clear_and_trim(); } } public static final byte[] Dflt_keyword = Bry_.new_utf8_("#default"); // NOTE: technically should pull from messages, but would need to cache Dflt_keyword on wiki level; checked all Messages files, and no one overrides it; DATE:2014-05-29 diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/pages/Pfunc_displaytitle.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/pages/Pfunc_displaytitle.java index 102137b42..16be13399 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/pages/Pfunc_displaytitle.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/pages/Pfunc_displaytitle.java @@ -29,11 +29,11 @@ public class Pfunc_displaytitle extends Pf_func_base { boolean restrict = wiki.Cfg_parser().Display_title_restrict(); Xoh_wtr_ctx hctx = restrict ? Xoh_wtr_ctx.Display_title : Xoh_wtr_ctx.Basic; // restrict removes certain HTML (display:none) wiki.Html_mgr().Html_wtr().Write_tkn(tmp_bfr, display_ttl_ctx, hctx, display_ttl_root.Data_mid(), display_ttl_root, 0, display_ttl_root); - byte[] val_html = tmp_bfr.XtoAryAndClear(); + byte[] val_html = tmp_bfr.Xto_bry_and_clear(); if (restrict) { // restrict only allows displayTitles which have text similar to the pageTitle; PAGE:de.b:Kochbuch/_Druckversion; DATE:2014-08-18 Xoa_page page = ctx.Cur_page(); wiki.Html_mgr().Html_wtr().Write_tkn(tmp_bfr, display_ttl_ctx, Xoh_wtr_ctx.Alt, display_ttl_root.Data_mid(), display_ttl_root, 0, display_ttl_root); - byte[] val_html_as_text_only = tmp_bfr.XtoAryAndClear(); + byte[] val_html_as_text_only = tmp_bfr.Xto_bry_and_clear(); gplx.xowa.langs.cases.Xol_case_mgr case_mgr = wiki.Lang().Case_mgr(); val_html_as_text_only = case_mgr.Case_build_lower(val_html_as_text_only); byte[] page_ttl_lc = case_mgr.Case_build_lower(page.Ttl().Page_txt()); diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/scribunto/Pfunc_scrib_lib.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/scribunto/Pfunc_scrib_lib.java index b629c866b..dd897dd2e 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/scribunto/Pfunc_scrib_lib.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/scribunto/Pfunc_scrib_lib.java @@ -43,7 +43,7 @@ public class Pfunc_scrib_lib implements Scrib_lib { byte[] expr_bry = args.Pull_bry(0); Bry_bfr tmp_bfr = core.Wiki().Utl_bry_bfr_mkr().Get_b128(); boolean pass = Pfunc_expr.Evaluate(tmp_bfr, core.Ctx(), expr_bry); - String expr_rslt = tmp_bfr.Mkr_rls().XtoStrAndClear(); + String expr_rslt = tmp_bfr.Mkr_rls().Xto_str_and_clear(); if (pass) return rslt.Init_obj(expr_rslt); else diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_fmt_itm_.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_fmt_itm_.java index 2f99574b7..bba6e4ec8 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_fmt_itm_.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_fmt_itm_.java @@ -184,6 +184,6 @@ public class Pft_fmt_itm_ { } } if (raw_bgn != String_.Pos_neg1) {fmt_itms.Add(fmt_len - raw_bgn == 1 ? new Pft_fmt_itm_raw_byt(fmt[fmt_len - 1]) : (Pft_fmt_itm)new Pft_fmt_itm_raw_ary(fmt, raw_bgn, fmt_len)); raw_bgn = String_.Pos_neg1;} - return (Pft_fmt_itm[])fmt_itms.XtoAry(Pft_fmt_itm.class); + return (Pft_fmt_itm[])fmt_itms.Xto_ary(Pft_fmt_itm.class); } private static ListAdp fmt_itms = ListAdp_.new_(); } diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_func_time_foreign_tst.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_func_time_foreign_tst.java index 266f34c14..fe84abd1c 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_func_time_foreign_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pft_func_time_foreign_tst.java @@ -71,7 +71,7 @@ class Pft_func_time_foreign_fxt { public void Test_Roman(int v, String expd) { Bry_bfr bfr = Bry_bfr.new_(16); Pfxtp_roman.ToRoman(v, bfr); - String actl = bfr.XtoStrAndClear(); + String actl = bfr.Xto_str_and_clear(); Tfds.Eq(expd, actl); } } diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pxd_parser_tst.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pxd_parser_tst.java index ffe6bc34e..be4e0da02 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pxd_parser_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/times/Pxd_parser_tst.java @@ -65,7 +65,7 @@ public class Pxd_parser_tst { byte[] raw_ary = Bry_.new_utf8_(raw); DateAdp date = parser.Parse(raw_ary, bfr); if (date == DateAdp_.MinValue) - Tfds.Eq(expd, bfr.XtoStrAndClear(), raw); + Tfds.Eq(expd, bfr.Xto_str_and_clear(), raw); else Tfds.Eq(expd, date.XtoStr_fmt_yyyy_MM_dd()); } @@ -73,7 +73,7 @@ public class Pxd_parser_tst { byte[] raw_ary = Bry_.new_utf8_(raw); DateAdp date = parser.Parse(raw_ary, bfr); if (date == DateAdp_.MinValue) - Tfds.Eq(expd, bfr.XtoStrAndClear(), raw); + Tfds.Eq(expd, bfr.Xto_str_and_clear(), raw); else Tfds.Eq(expd, date.XtoStr_fmt("HH:mm:ss.fff")); } @@ -81,7 +81,7 @@ public class Pxd_parser_tst { byte[] raw_ary = Bry_.new_utf8_(raw); DateAdp date = parser.Parse(raw_ary, bfr); if (date == DateAdp_.MinValue) - Tfds.Eq(expd, bfr.XtoStrAndClear(), raw); + Tfds.Eq(expd, bfr.Xto_str_and_clear(), raw); else Tfds.Eq(expd, date.XtoStr_fmt("yyyy-MM-dd HH:mm:ss.fff")); } diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_anchorencode.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_anchorencode.java index e3142a0ef..e40fd5075 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_anchorencode.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_anchorencode.java @@ -45,7 +45,7 @@ public class Pfunc_anchorencode extends Pf_func_base { // EX: {{anchorencode:a b Xop_tkn_itm sub = root.Subs_get(i); Tkn(src, sub, root, i, tmp_bfr); } - byte[] unencoded = tmp_bfr.XtoAryAndClear(); + byte[] unencoded = tmp_bfr.Xto_bry_and_clear(); encoder.Encode(tmp_bfr, unencoded); bfr.Add_bfr_and_clear(tmp_bfr); } diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java index eed741276..3752268e2 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java @@ -162,7 +162,7 @@ public class Pfunc_rel2abs extends Pf_func_base { } tmp_bfr.Add_mid(tmp, seg_ary[j] - tmp_adj, seg_ary[j+1] - tmp_adj); } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private static int[] seg_ary = new int[Xoa_ttl.Max_len]; @Override public int Id() {return Xol_kwd_grp_.Id_xtn_rel2abs;} diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_pagesincategory.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_pagesincategory.java index f2467f8ef..04bb3bae0 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_pagesincategory.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_pagesincategory.java @@ -35,7 +35,7 @@ public class Pfunc_pagesincategory extends Pf_func_base { fmt_num = false; } Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b128().Mkr_rls(); - byte[] ctg_len_bry = tmp_bfr.Add_int_variable(ctg_len).XtoAryAndClear(); + byte[] ctg_len_bry = tmp_bfr.Add_int_variable(ctg_len).Xto_bry_and_clear(); byte[] rslt = fmt_num ? lang.Num_mgr().Format_num(ctg_len_bry) : lang.Num_mgr().Raw(ctg_len_bry); bb.Add(rslt); } private Btrie_slim_mgr trie; diff --git a/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_nl.java b/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_nl.java index 378d75133..9d2fe0bf2 100644 --- a/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_nl.java +++ b/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_nl.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.xtns.poems; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.core.btries.*; +import gplx.core.btries.*; import gplx.xowa.parsers.paras.*; public class Poem_lxr_nl implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_nl_poem;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Byte_ascii.NewLine, this);} diff --git a/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_pre.java b/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_pre.java index b559c823e..0fdbab8b8 100644 --- a/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_pre.java +++ b/400_xowa/src/gplx/xowa/xtns/poems/Poem_lxr_pre.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.xtns.poems; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.core.btries.*; +import gplx.core.btries.*; import gplx.xowa.parsers.paras.*; public class Poem_lxr_pre implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_poem;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Hook_ary, this);} diff --git a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_index_parser.java b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_index_parser.java index 9c732e262..53c77afc3 100644 --- a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_index_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_index_parser.java @@ -108,7 +108,7 @@ class Pp_index_page { if (bgn_page_ref.Val() == -1) bgn_page_ref.Val_(0); // NOTE: set "from" which will be passed to {{MediaWiki:Proofreadpage_header_template}}; DATE:2014-05-21 if (end_page_ref.Val() == -1) end_page_ref.Val_(list_len - 1); // NOTE: set "to" which will be passed to {{MediaWiki:Proofreadpage_header_template}}; DATE:2014-05-21 if (rv.Count() == 0) return Pp_pages_nde.Ttls_null; - return (Xoa_ttl[])rv.XtoAry(Xoa_ttl.class); + return (Xoa_ttl[])rv.Xto_ary(Xoa_ttl.class); } private static Xoa_ttl new_ttl_(Xow_wiki wiki, int ns_page_id, byte[] bry) {return bry == null ? Xoa_ttl.Null : Xoa_ttl.parse_(wiki, ns_page_id, bry);} public static final Pp_index_page Null = new Pp_index_page(); diff --git a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java index d341e38ee..0a79162f1 100644 --- a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java +++ b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java @@ -128,13 +128,13 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser { full_bfr.Add_byte_pipe() .Add(caption) .Add(Xop_tkn_.Lnki_end); - return full_bfr.XtoAryAndClear(); + return full_bfr.Xto_bry_and_clear(); } private byte[] Get_caption(Bry_bfr full_bfr, byte[] index_page_src, Xop_lnki_tkn lnki) { byte[] rv = Bry_.Empty; try { wiki.Html_mgr().Html_wtr().Write_tkn(full_bfr, ctx, Xoh_wtr_ctx.Basic, index_page_src, null, -1, lnki.Caption_tkn()); - rv = full_bfr.XtoAryAndClear(); + rv = full_bfr.Xto_bry_and_clear(); } catch (Exception e) { wiki.App().Usr_dlg().Warn_many("", "", "failed to write caption: page=~{0} lnki=~{1} err=~{2}", String_.new_utf8_(ctx.Cur_page().Ttl().Full_db()), String_.new_utf8_mid_safe_(index_page_src, lnki.Src_bgn(), lnki.Src_end()), Err_.Message_gplx_brief(e)); @@ -201,7 +201,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser { } full_bfr.Add(Xoa_consts.Invk_end); full_bfr.Add(rv); - return full_bfr.XtoAryAndClear(); + return full_bfr.Xto_bry_and_clear(); } private Xoa_ttl[] Get_ttls_from_xnde_args() { if (!Chk_step()) return Ttls_null; @@ -301,7 +301,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser { .Add(index_ttl_bry) // EX: 'File.djvu' .Add_byte(Byte_ascii.Slash) // EX: '/' .Add_int_variable(page.Val()); // EX: '123' - rv[rv_idx++] = Xoa_ttl.parse_(wiki, ttl_bfr.XtoAryAndClear()); + rv[rv_idx++] = Xoa_ttl.parse_(wiki, ttl_bfr.Xto_bry_and_clear()); } ttl_bfr.Mkr_rls(); return rv; @@ -354,7 +354,7 @@ public class Pp_pages_nde implements Xox_xnde, Xop_xnde_atr_parser { } page_bfr.Mkr_rls(); ctx.Tmpl_output_(null); - return full_bfr.XtoAryAndClear(); + return full_bfr.Xto_bry_and_clear(); } private Xop_root_tkn Bld_root_nde(Bry_bfr page_bfr, Hash_adp_bry lst_page_regy, byte[] wikitext) { Xop_ctx tmp_ctx = Xop_ctx.new_sub_page_(wiki, ctx, lst_page_regy); diff --git a/400_xowa/src/gplx/xowa/xtns/relatedArticles/Articles_func_tst.java b/400_xowa/src/gplx/xowa/xtns/relatedArticles/Articles_func_tst.java index ad0f3f3e7..26dd4fc46 100644 --- a/400_xowa/src/gplx/xowa/xtns/relatedArticles/Articles_func_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/relatedArticles/Articles_func_tst.java @@ -45,6 +45,6 @@ class Articles_func_fxt { Xopg_xtn_skin_fmtr_arg fmtr_arg = new Xopg_xtn_skin_fmtr_arg(fxt.Page(), Xopg_xtn_skin_itm_tid.Tid_sidebar); Bry_bfr bfr = Bry_bfr.new_(); fmtr_arg.XferAry(bfr, 0); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr.java b/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr.java index c191beec8..dff4016f0 100644 --- a/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr.java +++ b/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr.java @@ -54,7 +54,7 @@ public class Sites_html_bldr implements Bry_fmtr_arg { } private static byte[] Xto_href(Bry_bfr tmp_bfr, Bry_fmtr url_fmtr, Xoh_href_parser href_parser, Xow_wiki wiki, Xow_xwiki_itm xwiki_itm, byte[] ttl_page_db) { href_parser.Encoder().Encode(tmp_bfr, ttl_page_db); - byte[] rv = url_fmtr.Fmt_(xwiki_itm.Fmt()).Bld_bry_many(tmp_bfr, tmp_bfr.XtoAryAndClear()); + byte[] rv = url_fmtr.Fmt_(xwiki_itm.Fmt()).Bld_bry_many(tmp_bfr, tmp_bfr.Xto_bry_and_clear()); if (xwiki_itm.Wiki_tid() != Xow_wiki_domain_.Tid_other) rv = Bry_.Add(Xoh_href_parser.Href_site_bry, rv); return rv; diff --git a/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr_tst.java b/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr_tst.java index 9affeff85..583c27dac 100644 --- a/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/relatedSites/Sites_html_bldr_tst.java @@ -64,6 +64,6 @@ class Sites_html_bldr_fxt { Bry_bfr tmp_bfr = Bry_bfr.reset_(255); Sites_xtn_skin_itm skin_itm = (Sites_xtn_skin_itm)page.Html_data().Xtn_skin_mgr().Get_or_null(Sites_xtn_skin_itm.KEY); skin_itm.Write(tmp_bfr, page); - Tfds.Eq_str_lines(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/scores/Score_xnde.java b/400_xowa/src/gplx/xowa/xtns/scores/Score_xnde.java index 9cd903cb3..2c82f9093 100644 --- a/400_xowa/src/gplx/xowa/xtns/scores/Score_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/scores/Score_xnde.java @@ -66,7 +66,7 @@ public class Score_xnde implements Xox_xnde, Xop_xnde_atr_parser, Xoh_cmd_itm { if (ly_process.Exe_exists() == Bool_.N_byte) {Html_write_code_as_pre(bfr, app); return;} Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_b128(); tmp_bfr.Add(code).Add_byte_pipe().Add_int_bool(lang_is_abc).Add_byte_pipe().Add_int_bool(code_is_raw); - sha1 = gplx.security.HashAlgo_.Sha1.Calc_hash_bry(tmp_bfr.Mkr_rls().XtoAryAndClear()); // NOTE: MW transforms to base32; for now, keep sha1 as raw + sha1 = gplx.security.HashAlgo_.Sha1.Calc_hash_bry(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); // NOTE: MW transforms to base32; for now, keep sha1 as raw sha1_prefix = String_.new_ascii_(sha1, 0, 8); output_dir = app.Fsys_mgr().File_dir().GenSubDir_nest(wiki.Domain_str(), "lilypond", Char_.XtoStr(sha1[0]), Char_.XtoStr(sha1[1]), String_.new_ascii_(sha1)); // NOTE: MW also adds an extra level for 8-len; EX: /.../sha1_32_len/sha1_8_len/ png_file = output_dir.GenSubFil(sha1_prefix + ".png"); diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_invoke_func_fxt.java b/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_invoke_func_fxt.java index dc20c4729..64c60b29f 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_invoke_func_fxt.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_invoke_func_fxt.java @@ -85,7 +85,7 @@ public class Scrib_invoke_func_fxt { } public void Test_parse_err(String raw, String expd_err_type) { Scrib_invoke_func.Error(tmp_bfr, fxt.Wiki().Msg_mgr(), expd_err_type); - byte[] expd_err = tmp_bfr.XtoAryAndClear(); + byte[] expd_err = tmp_bfr.Xto_bry_and_clear(); fxt.Test_parse_page_tmpl_str(raw, String_.new_utf8_(expd_err)); } public void Test_lib_proc(Scrib_lib lib, String func_name, Object[] args, String expd) {Test_lib_proc_kv(lib, func_name, Scrib_kv_utl_.base1_many_(args), expd);} @@ -135,7 +135,7 @@ public class Scrib_invoke_func_fxt { KeyVal kv = ary[i]; bfr.Add_str(Object_.Xto_str_strict_or_null_mark(kv.Val())); } - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } public void Test_scrib_proc_bool(Scrib_lib lib, String proc_name, Object[] args, boolean expd) {Test_scrib_proc_obj(lib, proc_name, Scrib_kv_utl_.base1_many_(args), expd);} public void Test_scrib_proc_int(Scrib_lib lib, String proc_name, Object[] args, int expd) {Test_scrib_proc_obj(lib, proc_name, Scrib_kv_utl_.base1_many_(args), expd);} @@ -177,7 +177,7 @@ class Scrib_lua_rsp_bldr { bfr.Add_str("s:2:\"op\";s:4:\"call\";s:5:\"nargs\";i:3;s:4:\"args\";"); Bld_kv_ary(bfr, ary); bfr.Add_str("}"); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private void Bld_obj(Bry_bfr bfr, Object v) { Class v_type = v.getClass(); diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_proc_args.java b/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_proc_args.java index c2216f8ac..cc3209dda 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_proc_args.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/Scrib_proc_args.java @@ -98,7 +98,7 @@ public class Scrib_proc_args { bfr.Add_byte(Byte_ascii.Eq); bfr.Add_str(kv.Val_to_str_or_empty()); } - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } else { wiki.App().Gui_wtr().Warn_many("", "", "unknown type for GetUrl query args: ~{0}", ClassAdp_.NameOf_type(qry_args_cls)); diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_server_func_dbg.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_server_func_dbg.java index 8444d12dc..7e7e2b16d 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_server_func_dbg.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_server_func_dbg.java @@ -33,7 +33,7 @@ public class Luaj_server_func_dbg extends VarArgFunction { bfr.Add_str(gplx.html.Html_utl.Escape_html_as_str(s) + " "); } bfr.Add_str("
    "); - core.Page().Html_data().Xtn_scribunto_dbg_(bfr.XtoAryAndClear()); + core.Page().Html_data().Xtn_scribunto_dbg_(bfr.Xto_bry_and_clear()); return NONE; } public static Luaj_server_func_dbg _ = new Luaj_server_func_dbg(); diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_value.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_value.java index 5bd1f39ed..3e47e919d 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_value.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/luaj/Luaj_value.java @@ -65,7 +65,7 @@ class Luaj_value_ { ++len; } if (len == 0) return KeyVal_.Ary_empty; - return (KeyVal[])temp.XtoAry(KeyVal.class); + return (KeyVal[])temp.Xto_ary(KeyVal.class); } private static Object X_val_to_obj(Luaj_server server, LuaValue v) { switch (v.type()) { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_engine.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_engine.java index 7ff4bfb03..abb34c402 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_engine.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_engine.java @@ -51,8 +51,8 @@ public class Process_engine implements Scrib_engine { while (true) { Dispatch_bld_send(bfr, ary); boolean log_enabled = scrib_opts.Lua_log_enabled(); - if (log_enabled) app.Usr_dlg().Log_direct("sent:" + bfr.XtoStr() + "\n"); - byte[] rsp_bry = server.Server_comm(bfr.XtoAryAndClear(), ary); + if (log_enabled) app.Usr_dlg().Log_direct("sent:" + bfr.Xto_str() + "\n"); + byte[] rsp_bry = server.Server_comm(bfr.Xto_bry_and_clear(), ary); if (log_enabled) app.Usr_dlg().Log_direct("rcvd:" + String_.new_utf8_(rsp_bry) + "\n\n"); String op = rsp.Extract(rsp_bry); if (String_.Eq(op, "return")) { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_send_wtr.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_send_wtr.java index a124df367..147e2edb1 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_send_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_send_wtr.java @@ -21,7 +21,7 @@ public class Process_send_wtr { public String Encode(Object o) { Bry_bfr tmp_bfr = Bry_bfr.reset_(Io_mgr.Len_kb); Encode_obj(tmp_bfr, o); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } public void Encode_bool(Bry_bfr bfr, boolean v) {bfr.Add(v ? CONST_bool_true : CONST_bool_false);} public void Encode_int(Bry_bfr bfr, int v) {bfr.Add_int_variable(v);} diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_server_mock.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_server_mock.java index c59127e95..4efeccee1 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_server_mock.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_server_mock.java @@ -56,9 +56,9 @@ class Process_server_mock_rcvd_val implements Process_server_mock_rcvd { public String Bld(Object[] cmd_objs) { Bry_bfr tmp_bfr = Bry_bfr.new_(); Bld_recursive(tmp_bfr, 0, (KeyVal[])cmd_objs[5]); - byte[] values_str = tmp_bfr.XtoAryAndClear(); + byte[] values_str = tmp_bfr.Xto_bry_and_clear(); tmp_bfr.Add(Bry_rv_bgn).Add_int_variable(values_str.length).Add(Bry_rv_mid).Add(values_str).Add(Bry_rv_end); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } private void Bld_recursive(Bry_bfr bfr, int depth, KeyVal[] ary) { int len = ary.length; diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_stream_rdr_tst.java b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_stream_rdr_tst.java index 628d8ce57..bd43d54b2 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_stream_rdr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/engines/process/Process_stream_rdr_tst.java @@ -65,7 +65,7 @@ class Process_stream_rdr_fxt { break; } } - expd_str = bfr.XtoStrAndClear(); + expd_str = bfr.Xto_str_and_clear(); return this; } Bry_bfr bfr = Bry_bfr.reset_(128); public void Test_read_body() { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_language.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_language.java index 66938dbfe..9f1401980 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_language.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_language.java @@ -189,7 +189,7 @@ public class Scrib_lib_language implements Scrib_lib { ; // NOTE: MW is actually more strict about date; however, not sure about PHP's date parse, so using more lax version if (date == null || tmp_bfr.Len() > 0) {tmp_bfr.Mkr_rls(); return rslt.Init_fail("bad argument #2 to 'formatDate' (not a valid timestamp)");} Pft_func_formatdate.Date_bldr().Format(tmp_bfr, core.Wiki(), lang, date, fmt_ary); - byte[] rv = tmp_bfr.Mkr_rls().XtoAryAndClear(); + byte[] rv = tmp_bfr.Mkr_rls().Xto_bry_and_clear(); return rslt.Init_obj(rv); } public boolean ParseFormattedNumber(Scrib_proc_args args, Scrib_proc_rslt rslt) { @@ -228,7 +228,7 @@ public class Scrib_lib_language implements Scrib_lib { byte[] type = args.Pull_bry(2); Bry_bfr bfr = core.Wiki().Utl_bry_bfr_mkr().Get_b512(); lang.Grammar().Grammar_eval(bfr, lang, word, type); - return rslt.Init_obj(bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(bfr.Mkr_rls().Xto_str_and_clear()); } public boolean gender(Scrib_proc_args args, Scrib_proc_rslt rslt) {throw Err_.not_implemented_();} public boolean IsRTL(Scrib_proc_args args, Scrib_proc_rslt rslt) { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_message.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_message.java index ff4d74b20..fce902daf 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_message.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_message.java @@ -131,7 +131,7 @@ class Scrib_lib_message_data { if (Bry_.Len_eq_0(msg_val)) { Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); bfr.Add(gplx.html.Html_entity_.Lt_bry).Add(msg_key).Add(gplx.html.Html_entity_.Gt_bry); // NOTE: Message.php has logic that says: if plain, "< >", else "< >"; for now, always use escaped - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } switch (fmt_tid) { case Fmt_tid_parse: @@ -139,7 +139,7 @@ class Scrib_lib_message_data { break; case Fmt_tid_parseAsBlock: // NOTE: MW passes msg_val through parser and strips

    if tid==parse; XOWA does the opposite, so add

    if parseAsBlock requested Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); - msg_val = bfr.Add(Html_tag_.P_lhs).Add(msg_val).Add(Html_tag_.P_rhs).Mkr_rls().XtoAryAndClear(); + msg_val = bfr.Add(Html_tag_.P_lhs).Add(msg_val).Add(Html_tag_.P_rhs).Mkr_rls().Xto_bry_and_clear(); break; case Fmt_tid_escaped: msg_val = gplx.html.Html_utl.Escape_html_as_bry(msg_val); diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_mw.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_mw.java index 87d5ca042..cc5042361 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_mw.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_mw.java @@ -108,13 +108,13 @@ public class Scrib_lib_mw implements Scrib_lib { //frame.Args_eval_by_idx(core.Ctx().Src(), idx_int); // NOTE: arg[0] is always MW function name; EX: {{#invoke:Mod_0|Func_0|Arg_1}}; arg_x = "Mod_0"; args[0] = "Func_0"; args[1] = "Arg_1" if (nde == null) return rslt.Init_ary_empty(); nde.Val_tkn().Tmpl_evaluate(ctx, src, core.Frame_parent(), tmp_bfr); - return rslt.Init_obj(tmp_bfr.XtoStrAndClear()); + return rslt.Init_obj(tmp_bfr.Xto_str_and_clear()); } else { Arg_nde_tkn nde = frame.Args_get_by_key(src, Bry_.new_utf8_(idx_str)); if (nde == null) return rslt.Init_ary_empty(); // idx_str does not exist; nde.Val_tkn().Tmpl_evaluate(ctx, src, core.Frame_parent(), tmp_bfr); - return rslt.Init_obj(tmp_bfr.XtoStrAndClearAndTrim()); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY + return rslt.Init_obj(tmp_bfr.Xto_str_and_clear_and_trim()); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY } } private Arg_nde_tkn Get_arg(Xot_invk invk, int idx, int frame_arg_adj) { // DUPE:MW_ARG_RETRIEVE @@ -182,7 +182,7 @@ public class Scrib_lib_mw implements Scrib_lib { else { // key exists; EX:{{a|key=val}} key_as_int = Bry_.Xto_int_or(tmp_bfr.Bfr(), 0, tmp_bfr.Len(), Int_.MinValue); if (key_as_int == Int_.MinValue) { // key is not int; create str - key_as_str = tmp_bfr.XtoStrAndClear(); + key_as_str = tmp_bfr.Xto_str_and_clear(); key_is_str = true; } else { // key is int; must return int for key b/c lua treats table[1] different than table["1"]; DATE:2014-02-13 @@ -190,12 +190,12 @@ public class Scrib_lib_mw implements Scrib_lib { } } nde.Val_tkn().Tmpl_evaluate(ctx, src, parent_frame, tmp_bfr); - String val = key_missing ? tmp_bfr.XtoStrAndClear() : tmp_bfr.XtoStrAndClearAndTrim(); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY + String val = key_missing ? tmp_bfr.Xto_str_and_clear() : tmp_bfr.Xto_str_and_clear_and_trim(); // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY KeyVal kv = key_is_str ? KeyVal_.new_(key_as_str, val) : KeyVal_.int_(key_as_int, val); rv.Add(kv); } tmp_bfr.Mkr_rls(); - return rslt.Init_obj((KeyVal[])rv.XtoAry(KeyVal.class)); + return rslt.Init_obj((KeyVal[])rv.Xto_ary(KeyVal.class)); } public boolean FrameExists(Scrib_proc_args args, Scrib_proc_rslt rslt) { String frame_id = args.Pull_str(0); @@ -221,17 +221,17 @@ public class Scrib_lib_mw implements Scrib_lib { for (int i = 0; i < args_len; i++) { Arg_nde_tkn arg = frame.Args_get_by_idx(i + args_adj); arg.Key_tkn().Tmpl_evaluate(ctx, src, frame, tmp_bfr); - String key = tmp_bfr.XtoStrAndClear(); + String key = tmp_bfr.Xto_str_and_clear(); if (String_.Eq(key, "")) key = Int_.Xto_str(i); arg.Val_tkn().Tmpl_evaluate(ctx, src, parent_frame, tmp_bfr); // NOTE: must evaluate against parent_frame; evaluating against current frame may cause stack-overflow; DATE:2013-04-04 - String val = tmp_bfr.XtoStrAndClear(); + String val = tmp_bfr.Xto_str_and_clear(); kv_args[i] = KeyVal_.new_(key, val); } Xot_invk_mock mock_frame = Xot_invk_mock.new_(Bry_.new_utf8_(frame_id), kv_args); // use frame_id for Frame_ttl; in lieu of a better candidate; DATE:2014-09-21 tmp_ctx.Parse_tid_(Xop_parser_.Parse_tid_page_tmpl); // default xnde names to template; needed for test, but should be in place; DATE:2014-06-27 cur_wiki.Parser().Parse_text_to_wtxt(tmp_root, tmp_ctx, tmp_ctx.Tkn_mkr(), text_bry); tmp_root.Tmpl_evaluate(tmp_ctx, text_bry, mock_frame, tmp_bfr); - return rslt.Init_obj(tmp_bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(tmp_bfr.Mkr_rls().Xto_str_and_clear()); } public boolean CallParserFunction(Scrib_proc_args args, Scrib_proc_rslt rslt) { String frame_id = args.Pull_str(0); @@ -251,7 +251,7 @@ public class Scrib_lib_mw implements Scrib_lib { fnc_ctx.Parse_tid_(Xop_parser_.Parse_tid_page_tmpl); // default xnde names to template; needed for test, but should be in place; DATE:2014-06-27 Xot_invk_tkn.Eval_func(fnc_ctx, src, parent_frame, frame, bfr, defn, argx_ref.Val()); bfr.Mkr_rls(); - return rslt.Init_obj(bfr.XtoStrAndClear()); + return rslt.Init_obj(bfr.Xto_str_and_clear()); } private KeyVal[] CallParserFunction_parse_args(NumberParser num_parser, Bry_obj_ref argx_ref, Bry_obj_ref fnc_name_ref, KeyVal[] args) { ListAdp rv = ListAdp_.new_(); @@ -285,7 +285,7 @@ public class Scrib_lib_mw implements Scrib_lib { fnc_name = Bry_.Mid(fnc_name, 0, fnc_name_colon_pos); fnc_name_ref.Val_(fnc_name); } - return (KeyVal[])rv.XtoAry(KeyVal.class); + return (KeyVal[])rv.Xto_ary(KeyVal.class); } private static boolean Is_kv_ary(KeyVal kv) {return ClassAdp_.Eq_typeSafe(kv.Val(), KeyVal[].class);} public boolean ExpandTemplate(Scrib_proc_args args, Scrib_proc_rslt rslt) { @@ -309,7 +309,7 @@ public class Scrib_lib_mw implements Scrib_lib { Xot_defn_tmpl transclude_tmpl = ctx.Wiki().Parser().Parse_text_to_defn_obj(ctx, ctx.Tkn_mkr(), ttl.Ns(), ttl.Page_db(), sub_src); Bry_bfr sub_bfr = cur_wiki.Utl_bry_bfr_mkr().Get_k004(); transclude_tmpl.Tmpl_evaluate(ctx, sub_frame, sub_bfr); - return rslt.Init_obj(sub_bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(sub_bfr.Mkr_rls().Xto_str_and_clear()); } else { // String err_msg = "expand_template failed; ttl=" + ttl_str; diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_text.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_text.java index bfea804ba..743d97f42 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_text.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_text.java @@ -72,7 +72,7 @@ class Scrib_lib_text_ { } } bfr.Mkr_rls(); - return (KeyVal[])rv.XtoAry(KeyVal.class); + return (KeyVal[])rv.Xto_ary(KeyVal.class); } private static KeyVal Init_nowiki_protocols_itm(Bry_bfr bfr, Xoo_protocol_itm itm) { byte[] key = itm.Key_wo_colon_bry(); @@ -103,6 +103,6 @@ class Scrib_lib_text_ { } } bfr.Add(Colon_encoded); - return KeyVal_.new_(itm.Key_wo_colon_str(), bfr.XtoStrAndClear()); + return KeyVal_.new_(itm.Key_wo_colon_str(), bfr.Xto_str_and_clear()); } private static final byte[] Colon_encoded = Bry_.new_ascii_(":"); } diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_title.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_title.java index ff0d76487..8e60ac00c 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_title.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_title.java @@ -61,7 +61,7 @@ public class Scrib_lib_title implements Scrib_lib { } if (ns_bry != null) { Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); - ttl_bry = bfr.Add(ns_bry).Add_byte(Byte_ascii.Colon).Add(ttl_bry).Mkr_rls().XtoAryAndClear(); + ttl_bry = bfr.Add(ns_bry).Add_byte(Byte_ascii.Colon).Add(ttl_bry).Mkr_rls().Xto_bry_and_clear(); } Xoa_ttl ttl = Xoa_ttl.parse_(core.Wiki(), ttl_bry); if (ttl == null) return rslt.Init_obj(null); // invalid title; exit; matches MW logic @@ -87,7 +87,7 @@ public class Scrib_lib_title implements Scrib_lib { // bfr.Add(); //} Pfunc_urlfunc.UrlString(core.Ctx(), url_func_tid, false, ttl_bry, bfr, qry_bry); - return rslt.Init_obj(bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(bfr.Mkr_rls().Xto_str_and_clear()); } private static final Hash_adp_bry url_func_hash = Hash_adp_bry.ci_ascii_() .Add_str_byte("fullUrl", Pfunc_urlfunc.Tid_full) @@ -116,7 +116,7 @@ public class Scrib_lib_title implements Scrib_lib { if (xwiki_str != null) tmp_bfr.Add_str(xwiki_str).Add_byte(Byte_ascii.Colon); tmp_bfr.Add(ns_bry).Add_byte(Byte_ascii.Colon).Add_str(ttl_str); if (anchor_str != null) tmp_bfr.Add_byte(Byte_ascii.Hash).Add_str(anchor_str); - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, tmp_bfr.Mkr_rls().XtoAryAndClear()); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, tmp_bfr.Mkr_rls().Xto_bry_and_clear()); if (ttl == null) return rslt.Init_obj(null); // invalid title; exit; return rslt.Init_obj(Xto_kv_ary(ttl)); } diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_uri.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_uri.java index d7aae11aa..772a0edcb 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_uri.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_uri.java @@ -49,7 +49,7 @@ public class Scrib_lib_uri implements Scrib_lib { Pfunc_anchorencode.Func_init(core.Ctx()); Pfunc_anchorencode.Anchor_encode(raw_bry, bfr, tmp_bfr); tmp_bfr.Mkr_rls().Clear(); - return rslt.Init_obj(bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(bfr.Mkr_rls().Xto_str_and_clear()); } public boolean Url_func(Scrib_proc_args args, Scrib_proc_rslt rslt, byte url_tid) { Xow_wiki wiki = core.Wiki(); @@ -61,16 +61,16 @@ public class Scrib_lib_uri implements Scrib_lib { if (ttl.Ns().Id() == Xow_ns_.Id_media) { // change "Media:" -> "File:" bfr.Add(wiki.Ns_mgr().Ns_file().Name_db_w_colon()); bfr.Add(ttl.Page_db()); - ttl_bry = bfr.XtoAryAndClear(); + ttl_bry = bfr.Xto_bry_and_clear(); } Pfunc_urlfunc.UrlString(core.Ctx(), url_tid, false, ttl_bry, bfr, qry_bry); - return rslt.Init_obj(bfr.Mkr_rls().XtoStrAndClear()); + return rslt.Init_obj(bfr.Mkr_rls().Xto_str_and_clear()); } private boolean Init_uri_for_page(Scrib_proc_args args, Scrib_proc_rslt rslt) { Xop_ctx ctx = core.Ctx(); byte[] ttl_bry = ctx.Cur_page().Ttl().Raw(); Bry_bfr tmp_bfr = ctx.Wiki().Utl_bry_bfr_mkr().Get_b512(); Pfunc_urlfunc.UrlString(ctx, Pfunc_urlfunc.Tid_full, false, ttl_bry, tmp_bfr, Bry_.Empty); - return rslt.Init_obj(tmp_bfr.Mkr_rls().XtoAryAndClear()); + return rslt.Init_obj(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_ustring.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_ustring.java index e0db9556a..e4875e9c7 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_ustring.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_ustring.java @@ -230,7 +230,7 @@ class Scrib_lib_ustring_gsub_mgr { int text_len = String_.Len(text); if (pos < text_len) tmp_bfr.Add_str(String_.Mid(text, pos, text_len)); // NOTE: regx returns char pos (not bry); must add as String, not bry; DATE:2013-07-17 - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } private void Exec_repl_itm(Bry_bfr tmp_bfr, byte repl_tid, byte[] repl_bry, String text, RegxMatch match) { switch (repl_tid) { diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_entity.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_entity.java index 46d2403e3..5e91a0c22 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_entity.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_entity.java @@ -52,6 +52,6 @@ public class Scrib_lib_wikibase_entity implements Scrib_lib { Wdata_claim_grp prop_grp = wdoc.Claim_list_get(pid_int); if (prop_grp == null) return rslt.Init_str_empty(); Bry_bfr bfr = app.Utl_bry_bfr_mkr().Get_b512(); wdata_mgr.Resolve_to_bfr(bfr, prop_grp, lang); - return rslt.Init_obj(bfr.Mkr_rls().XtoAryAndClear()); + return rslt.Init_obj(bfr.Mkr_rls().Xto_bry_and_clear()); } } \ No newline at end of file diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl.java index 09fe1a7ec..bfabc4b70 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl.java @@ -31,7 +31,7 @@ class Scrib_lib_wikibase_srl { Srl_root(rv, Wdata_doc_parser_v2.Str_sitelinks , Srl_sitelinks (Wdata_dict_sitelink.Str_site , Wdata_dict_sitelink.Str_title, wdoc.Slink_list())); Srl_root(rv, Wdata_doc_parser_v2.Str_aliases , Srl_aliases (base_adj, wdoc.Alias_list())); Srl_root(rv, Wdata_doc_parser_v2.Str_claims , Srl_claims (base_adj, legacy_style, wdoc.Claim_list())); - return (KeyVal[])rv.XtoAry(KeyVal.class); + return (KeyVal[])rv.Xto_ary(KeyVal.class); } private static void Srl_root(ListAdp rv, String label, KeyVal[] ary) { if (ary == null) return; // don't add node if empty; EX: labels:{} should not add "labels" kv @@ -108,7 +108,7 @@ class Scrib_lib_wikibase_srl { list.Add(KeyVal_.new_(Wdata_dict_claim_v1.Str_rank, Wdata_dict_rank.Xto_str(itm.Rank_tid()))); list.Add(KeyVal_.new_("type", itm.Prop_type())); Srl_root(list, Wdata_dict_claim.Str_qualifiers, Srl_qualifiers(itm.Qualifiers())); - return (KeyVal[])list.XtoAryAndClear(KeyVal.class); + return (KeyVal[])list.Xto_ary_and_clear(KeyVal.class); } private static KeyVal[] Srl_qualifiers(Wdata_claim_grp_list list) { if (list == null) return null; @@ -124,9 +124,9 @@ class Scrib_lib_wikibase_srl { Wdata_claim_itm_core itm = grp.Get_at(j); pid_list.Add(KeyVal_.int_(j + ListAdp_.Base1, Srl_claims_prop_itm_core(itm_pid, itm))); } - rv.Add(KeyVal_.new_(itm_pid, (KeyVal[])pid_list.XtoAryAndClear(KeyVal.class))); + rv.Add(KeyVal_.new_(itm_pid, (KeyVal[])pid_list.Xto_ary_and_clear(KeyVal.class))); } - return (KeyVal[])rv.XtoAryAndClear(KeyVal.class); + return (KeyVal[])rv.Xto_ary_and_clear(KeyVal.class); } private static KeyVal[] Srl_claims_prop_itm_core(String pid, Wdata_claim_itm_core itm) { KeyVal[] rv = new KeyVal[3]; diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl_tst.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl_tst.java index d25061d6b..a2bfb4d62 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_lib_wikibase_srl_tst.java @@ -354,7 +354,7 @@ class Scrib_lib_wikibase_srl_fxt { private String Xto_str(KeyVal[] ary) { Bry_bfr bfr = Bry_bfr.new_(); Xto_str(bfr, ary, 0); - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private void Xto_str(Bry_bfr bfr, KeyVal[] ary, int depth) { int len = ary.length; diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_regx_converter.java b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_regx_converter.java index eb4e3c4e4..528022c51 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_regx_converter.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/lib/Scrib_regx_converter.java @@ -21,7 +21,7 @@ public class Scrib_regx_converter { public Scrib_regx_converter() {Init();} public String Regx() {return regx;} private String regx; public ListAdp Capt_list() {return capt_list;} - public KeyVal[] Capt_ary() {return capt_list.Count() == 0 ? null : (KeyVal[])capt_list.XtoAry(KeyVal.class);} + public KeyVal[] Capt_ary() {return capt_list.Count() == 0 ? null : (KeyVal[])capt_list.Xto_ary(KeyVal.class);} public String Parse(byte[] src, byte[] anchor) { int len = src.length; boolean q_flag = false; @@ -188,7 +188,7 @@ public class Scrib_regx_converter { } if (grps_open.Count() > 0) throw Err_.new_("Unclosed capture beginning at pattern character " + Int_.cast_(grps_open.FetchAt(0))); // bfr.Add(Bry_regx_end); // NOTE: do not add PHP /us at end; u=PCRE_UTF8 which is not needed for Java; s=PCRE_DOTALL which will be specified elsewhere - regx = bfr.XtoStrAndClear(); + regx = bfr.Xto_str_and_clear(); return regx; } private Bry_bfr bfr = Bry_bfr.new_(); boolean grps_open_Has(ListAdp list, int v) { diff --git a/400_xowa/src/gplx/xowa/xtns/translates/Xop_languages_xnde.java b/400_xowa/src/gplx/xowa/xtns/translates/Xop_languages_xnde.java index ba844c7dc..f7ae639b8 100644 --- a/400_xowa/src/gplx/xowa/xtns/translates/Xop_languages_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/translates/Xop_languages_xnde.java @@ -97,8 +97,7 @@ public class Xop_languages_xnde implements Xox_xnde { , " ~{anchor_text} •" ), "anchor_href", "anchor_title", "anchor_text") ; - // "\"~{img_alt}\" • ‎" - // , "img_alt", "img_title" + // "\"~{img_alt}\" • ‎" } class Xop_languages_fmtr implements Bry_fmtr_arg { public void Init(ListAdp langs, Xow_wiki wiki, Xoa_ttl root_ttl, byte[] cur_lang) { diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr.java b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr.java index ac1ab3a3c..3e59994e3 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr.java @@ -49,7 +49,7 @@ public class Wdata_wiki_mgr implements GfoEvObj, GfoInvkAble { } private Hash_adp_bry qids_cache = Hash_adp_bry.cs_(), pids_cache = Hash_adp_bry.cs_(); public void Qids_add(Bry_bfr bfr, byte[] lang_key, byte wiki_tid, byte[] ns_num, byte[] ttl, byte[] qid) { Xow_wiki_alias.Build_alias_by_lang_tid(bfr, lang_key, wiki_tid_ref.Val_(wiki_tid)); - byte[] qids_key = bfr.Add_byte(Byte_ascii.Pipe).Add(ns_num).Add_byte(Byte_ascii.Pipe).Add(ttl).XtoAry(); + byte[] qids_key = bfr.Add_byte(Byte_ascii.Pipe).Add(ns_num).Add_byte(Byte_ascii.Pipe).Add(ttl).Xto_bry(); qids_cache.Add(qids_key, qid); } public byte[] Qids_get(Xow_wiki wiki, Xoa_ttl ttl) {return Qids_get(wiki.Wdata_wiki_abrv(), ttl);} diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr_fxt.java b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr_fxt.java index f3227e9ce..f07f1e627 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr_fxt.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_wiki_mgr_fxt.java @@ -40,7 +40,11 @@ public class Wdata_wiki_mgr_fxt { public Wdata_claim_itm_core Make_claim_somevalue(int pid) {return Wdata_claim_itm_system.new_somevalue(pid);} public Wdata_claim_itm_core Make_claim_str(int pid, String val) {return Make_claim_str(pid, Bry_.new_utf8_(val));} public Wdata_claim_itm_core Make_claim_str(int pid, byte[] val) {return new Wdata_claim_itm_str(pid, Wdata_dict_snak_tid.Tid_value, val);} - public Wdata_claim_itm_core Make_claim_time(int pid, String val) {return new Wdata_claim_itm_time(pid, Wdata_dict_snak_tid.Tid_value, Wdata_dict_value_time.Xto_time(val), Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.Empty);} + public Wdata_claim_itm_core Make_claim_time(int pid, String val) {return Make_claim_time(pid, val, Bry_.Empty, Bry_.Empty);} + public Wdata_claim_itm_core Make_claim_time(int pid, String val, int precision) {return Make_claim_time(pid, val, Int_.Xto_bry(precision), Bry_.Empty);} + public Wdata_claim_itm_core Make_claim_time(int pid, String val, byte[] precision, byte[] calendar) { + return new Wdata_claim_itm_time(pid, Wdata_dict_snak_tid.Tid_value, Wdata_dict_value_time.Xto_time(val), Bry_.Empty, Bry_.Empty, Bry_.Empty, precision, calendar); + } public Wdata_claim_itm_core Make_claim_monolingual(int pid, String lang, String text) {return new Wdata_claim_itm_monolingualtext(pid, Wdata_dict_snak_tid.Tid_value, Bry_.new_utf8_(lang), Bry_.new_utf8_(text));} public Wdata_claim_itm_core Make_claim_quantity(int pid, String amount, String unit, String ubound, String lbound) {return new Wdata_claim_itm_quantity(pid, Wdata_dict_snak_tid.Tid_value, Bry_.new_ascii_(amount), Bry_.new_ascii_(unit), Bry_.new_ascii_(ubound), Bry_.new_ascii_(lbound));} public Wdata_claim_itm_core Make_claim_entity(int pid, int val) {return new Wdata_claim_itm_entity(pid, Wdata_dict_snak_tid.Tid_value, Int_.Xto_bry(val));} @@ -81,7 +85,7 @@ public class Wdata_wiki_mgr_fxt { regy_mgr.Save(); Bry_bfr bfr = app.Utl_bry_bfr_mkr().Get_b512().Mkr_rls(); - byte[] itm = bfr.Add(ttl_bry).Add_byte(Byte_ascii.Pipe).Add(Bry_.new_ascii_(qid)).Add_byte_nl().XtoAryAndClear(); + byte[] itm = bfr.Add(ttl_bry).Add_byte(Byte_ascii.Pipe).Add(Bry_.new_ascii_(qid)).Add_byte_nl().Xto_bry_and_clear(); Xob_xdat_file xdat_file = new Xob_xdat_file(); xdat_file.Insert(bfr, itm); Io_url file_orig = Xob_wdata_qid_base_tst.ttl_(app.Wiki_mgr().Wdata_mgr().Wdata_wiki(), wiki, ns_num, 0); @@ -150,7 +154,7 @@ public class Wdata_wiki_mgr_fxt { parser_fxt.Exec_parse_page_all_as_str(raw); Bry_bfr tmp_bfr = wiki.App().Utl_bry_bfr_mkr().Get_b512(); wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode.Tid_read).Wdata_lang_wtr().Page_(page).XferAry(tmp_bfr, 0); - Tfds.Eq_str_lines(expd, tmp_bfr.Mkr_rls().XtoStrAndClear()); + Tfds.Eq_str_lines(expd, tmp_bfr.Mkr_rls().Xto_str_and_clear()); } public void Test_xwiki_links(String ttl, String... expd) { tmp_langs.Clear(); @@ -172,6 +176,6 @@ public class Wdata_wiki_mgr_fxt { raw_bry = gplx.json.Json_parser_tst.Replace_apos(raw_bry); Bry_bfr bfr = app.Utl_bry_bfr_mkr().Get_b512(); Wdata_wiki_mgr.Write_json_as_html(wdata_mgr.Jdoc_parser(), bfr, raw_bry); - Tfds.Eq(expd, bfr.Mkr_rls().XtoStrAndClear()); + Tfds.Eq(expd, bfr.Mkr_rls().Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_xwiki_link_wtr.java b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_xwiki_link_wtr.java index a8ebbb401..fcb681ce5 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_xwiki_link_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/Wdata_xwiki_link_wtr.java @@ -54,7 +54,7 @@ public class Wdata_xwiki_link_wtr implements Bry_fmtr_arg { tmp_bfr.Add(lang_key); tmp_bfr.Add_byte(Byte_ascii.Colon); tmp_bfr.Add(sitelink.Name()); - Xoa_ttl lang_ttl = Xoa_ttl.parse_(wiki, tmp_bfr.XtoAryAndClear()); + Xoa_ttl lang_ttl = Xoa_ttl.parse_(wiki, tmp_bfr.Xto_bry_and_clear()); if (lang_ttl == null) continue; // invalid ttl Xow_xwiki_itm xwiki_itm = lang_ttl.Wik_itm(); if ( xwiki_itm == null // not a known xwiki; EX: [[zzz:abc]] diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_claim_itm_time.java b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_claim_itm_time.java index 792c57e13..5c4ab225a 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_claim_itm_time.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_claim_itm_time.java @@ -24,17 +24,42 @@ public class Wdata_claim_itm_time extends Wdata_claim_itm_core { public Wdata_c @Override public byte Val_tid() {return Wdata_dict_val_tid.Tid_time;} public byte[] Time() {return time;} private final byte[] time; public Wdata_date Time_as_date() { - if (time_as_date == null) time_as_date = Wdata_date.parse(time); + if (time_as_date == null) time_as_date = Wdata_date.parse(time, this.Precision_int(), this.Before_int(), this.After_int(), this.Calendar_is_julian()); return time_as_date; } private Wdata_date time_as_date; public byte[] Before() {return before;} private final byte[] before; public byte[] After() {return after;} private final byte[] after; public byte[] Precision() {return precision;} private final byte[] precision; public int Precision_int() { - if (precision_int == Int_.MinValue) - precision_int = Bry_.Xto_int_or(precision, Wdata_date.Fmt_ymdhns); + if (precision_int == Int_.MinValue) { + precision_int = Bry_.Xto_int_or(precision, -1); + if (precision_int == -1) { + precision_int = Wdata_date.Fmt_ymdhns; + Gfo_usr_dlg_._.Warn_many("", "", "unknown precision: ~{0}", String_.new_utf8_(precision)); + } + } return precision_int; } private int precision_int = Int_.MinValue; + public int Before_int() { + if (before_int == Int_.MinValue) { + before_int = Bry_.Xto_int_or(before, -1); + if (before_int == -1) { + before_int = 0; + Gfo_usr_dlg_._.Warn_many("", "", "unknown before: ~{0}", String_.new_utf8_(before)); + } + } + return before_int; + } private int before_int = Int_.MinValue; + public int After_int() { + if (after_int == Int_.MinValue) { + after_int = Bry_.Xto_int_or(after, -1); + if (after_int == -1) { + after_int = 0; + Gfo_usr_dlg_._.Warn_many("", "", "unknown after: ~{0}", String_.new_utf8_(after)); + } + } + return after_int; + } private int after_int = Int_.MinValue; public byte[] Calendar() {return calendar;} private final byte[] calendar; public byte[] Calendar_ttl() {return calendar_ttl;} public void Calendar_ttl_(byte[] v) {calendar_ttl = v;} private byte[] calendar_ttl; public boolean Calendar_is_julian() {return Bry_.Eq(calendar, Calendar_julian);} diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date.java b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date.java index 023db500f..4d9b95475 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date.java @@ -16,29 +16,37 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.xtns.wdatas.core; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.wdatas.*; +import gplx.xowa.xtns.wdatas.hwtrs.*; public class Wdata_date { - public Wdata_date(long year, int month, int day, int hour, int minute, int second) {this.year = year; this.month = month; this.day = day; this.hour = hour; this.minute = minute; this.second = second;} + public Wdata_date(long year, int month, int day, int hour, int minute, int second, int precision, int before, int after, boolean calendar_is_julian) { + this.year = year; this.month = month; this.day = day; this.hour = hour; this.minute = minute; this.second = second; + this.precision = precision; this.before = before; this.after = after; this.calendar_is_julian = calendar_is_julian; + } public long Year() {return year;} private final long year; public int Month() {return month;} private final int month; public int Day() {return day;} private final int day; public int Hour() {return hour;} private final int hour; public int Minute() {return minute;} private final int minute; public int Second() {return second;} private final int second; - public static Wdata_date parse(byte[] bry) {// EX:+00000002001-02-03T04:05:06Z + public int Precision() {return precision;} private final int precision; + public int Before() {return before;} private final int before; + public int After() {return after;} private final int after; + public boolean Calendar_is_julian() {return calendar_is_julian;} private final boolean calendar_is_julian; + public static Wdata_date parse(byte[] date, int precision, int before, int after, boolean calendar_is_julian) {// EX:+00000002001-02-03T04:05:06Z int year_sign = 1; - switch (bry[0]) { + switch (date[0]) { case Byte_ascii.Plus: break; case Byte_ascii.Dash: year_sign = -1; break; - default: throw Err_.unhandled(bry[0]); + default: throw Err_.unhandled(date[0]); } - int year_end = Bry_finder.Find_fwd(bry, Byte_ascii.Dash, 1); - long year = Long_.parse_or_(String_.new_ascii_(bry, 1, year_end), -1); if (year == -1) throw Err_.new_("parse failed; raw={0}", String_.new_ascii_(bry)); - int month = Bry_.Xto_int_or(bry, year_end + 1, year_end + 3, -1); - int day = Bry_.Xto_int_or(bry, year_end + 4, year_end + 6, -1); - int hour = Bry_.Xto_int_or(bry, year_end + 7, year_end + 9, -1); - int minute = Bry_.Xto_int_or(bry, year_end + 10, year_end + 12, -1); - int second = Bry_.Xto_int_or(bry, year_end + 13, year_end + 15, -1); - return new Wdata_date(year * year_sign, month, day, hour, minute, second); + int year_end = Bry_finder.Find_fwd(date, Byte_ascii.Dash, 1); + long year = Long_.parse_or_(String_.new_ascii_(date, 1, year_end), -1); if (year == -1) throw Err_.new_("parse failed; raw={0}", String_.new_ascii_(date)); + int month = Bry_.Xto_int_or(date, year_end + 1, year_end + 3, -1); + int day = Bry_.Xto_int_or(date, year_end + 4, year_end + 6, -1); + int hour = Bry_.Xto_int_or(date, year_end + 7, year_end + 9, -1); + int minute = Bry_.Xto_int_or(date, year_end + 10, year_end + 12, -1); + int second = Bry_.Xto_int_or(date, year_end + 13, year_end + 15, -1); + return new Wdata_date(year * year_sign, month, day, hour, minute, second, precision, before, after, calendar_is_julian); } public static Wdata_date Xto_julian(Wdata_date date) { int a = (int)Math_.Floor((14 - date.Month() / 12)); @@ -52,10 +60,17 @@ public class Wdata_date { int new_y = d - 4800 + (int)Math_.Floor(n / 10); int new_m = n + 3 - 12 * (int)Math_.Floor(n / 10); int new_d = e - (int)Math_.Floor((153 * n + 2) / 5) + 1; - return new Wdata_date(new_y, new_m, new_d, date.Hour(), date.Minute(), date.Second()); + return new Wdata_date(new_y, new_m, new_d, date.Hour(), date.Minute(), date.Second(), date.precision, date.before, date.after, date.calendar_is_julian); } - public static void Xto_str(Bry_bfr bfr, Wdata_date date, int precision, byte[][] months, int months_bgn, byte[] dt_spr, byte[] time_spr) { + public static void Xto_str(Bry_bfr bfr, Bry_fmtr tmp_fmtr, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wdata_date date) { + boolean calendar_is_julian = date.calendar_is_julian; + if (calendar_is_julian) + date = Xto_julian(date); long year = date.Year(); + int months_bgn = msgs.Month_bgn_idx(); + byte[][] months = msgs.Ary(); + int precision = date.precision; + byte[] time_spr = msgs.Sym_time_spr(); switch (precision) { case Wdata_date.Fmt_ym: // EX: "Feb 2001" bfr.Add(months[months_bgn + date.Month() - ListAdp_.Base1]); @@ -92,9 +107,9 @@ public class Wdata_date { bfr.Add_long_variable(date.Year()); break; default: - if (precision <= 9) // y, round to (9 - prec) - bfr.Add_long_variable(date.Year()); - else { // EX: "4:05:06 3 Feb 2011" + if (precision <= 9) // y, round to (9 - prec) + Xto_str_fmt_y(bfr, tmp_fmtr, tmp_bfr, msgs, date, precision); + else { // EX: "4:05:06 3 Feb 2011" bfr.Add_int_variable(date.Hour()); bfr.Add(time_spr); bfr.Add_int_fixed(date.Minute(), 2); @@ -109,6 +124,58 @@ public class Wdata_date { } break; } + if (calendar_is_julian) + bfr.Add(msgs.Time_julian()); + Xto_str_beforeafter(bfr, tmp_fmtr, tmp_bfr, msgs, date); + } + private static void Xto_str_beforeafter(Bry_bfr bfr, Bry_fmtr tmp_fmtr, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wdata_date date) { + byte[] bry = null; + int before = date.before; + int after = date.after; + if (before == 0) { + if (after != 0) + bry = tmp_bfr.Add(msgs.Sym_plus()).Add_int_variable(after).Xto_bry_and_clear(); + } + else { + if (after == 0) + bry = tmp_bfr.Add(msgs.Sym_minus()).Add_int_variable(before).Xto_bry_and_clear(); + else if (before == after) + bry = tmp_bfr.Add(msgs.Sym_plusminus()).Add_int_variable(before).Xto_bry_and_clear(); + else + bry = tmp_bfr.Add(msgs.Sym_minus()).Add_int_variable(before).Add(msgs.Sym_list_comma()).Add(msgs.Sym_plus()).Add_int_variable(after).Xto_bry_and_clear(); + } + if (bry != null) { + bry = tmp_fmtr.Fmt_(msgs.Sym_fmt_parentheses()).Bld_bry_many(tmp_bfr, bry); + bfr.Add_byte_space().Add(bry); + } + } + private static void Xto_str_fmt_y(Bry_bfr bfr, Bry_fmtr tmp_fmtr, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wdata_date date, int precision) { + int year_pow = 9 - precision; + byte[] year_fmt = msgs.Ary()[msgs.Time_year_idx() + year_pow]; + long year = date.Year(); + byte[] repl_fmt = null; + if (year <= 0) { // negative + if (year_pow < 4) // negative years < 999 get "BC" + repl_fmt = msgs.Time_relative_bc(); + else // negative years > 999 get "ago" + repl_fmt = msgs.Time_relative_ago(); + } + else { + if (year_pow > 4) // positive years > 999 get "in time" + repl_fmt = msgs.Time_relative_in(); + } + if (repl_fmt != null) + year_fmt = tmp_fmtr.Fmt_(repl_fmt).Bld_bry_many(tmp_bfr, year_fmt); + if (year <= 0) + year *= -1; // convert negative to positive; note that negative year will be reported with "BC" / "ago" + switch (year_pow) { + case 0: break; // noop + default: + year = (int)(year / Math_.Pow(10, year_pow)); + break; + } + byte[] year_bry = tmp_fmtr.Fmt_(year_fmt).Bld_bry_many(tmp_bfr, year); + bfr.Add(year_bry); } public static final int Fmt_y = 9 diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date_tst.java b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date_tst.java index 605342efa..889cb42ac 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_date_tst.java @@ -17,9 +17,9 @@ along with this program. If not, see . */ package gplx.xowa.xtns.wdatas.core; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.wdatas.*; import org.junit.*; -import gplx.json.*; import gplx.xowa.xtns.wdatas.core.*; import gplx.xowa.xtns.wdatas.parsers.*; +import gplx.json.*; import gplx.xowa.xtns.wdatas.core.*; import gplx.xowa.xtns.wdatas.parsers.*; import gplx.xowa.xtns.wdatas.hwtrs.*; public class Wdata_date_tst { - @Before public void init() {} private Wdata_date_fxt fxt = new Wdata_date_fxt(); + @Before public void init() {fxt.Clear();} private Wdata_date_fxt fxt = new Wdata_date_fxt(); @Test public void Parse() { fxt.Test_parse("+00000002001-02-03T04:05:06Z", 2001, 2, 3, 4, 5, 6); fxt.Test_parse("-98765432109-02-03T04:05:06Z", -98765432109L, 2, 3, 4, 5, 6); @@ -28,21 +28,46 @@ public class Wdata_date_tst { fxt.Test_julian(Int_.Ary(1600, 1, 2), Int_.Ary(1600, 1, 18)); } @Test public void Xto_str() { - String date = "+00000002001-02-03T04:05:06Z;"; + String date = "+00000002001-02-03T04:05:06Z"; fxt.Test_xto_str(date, Wdata_date.Fmt_ym , "Feb 2001"); fxt.Test_xto_str(date, Wdata_date.Fmt_ymd , "3 Feb 2001"); fxt.Test_xto_str(date, Wdata_date.Fmt_ymdh , "4:00 3 Feb 2001"); fxt.Test_xto_str(date, Wdata_date.Fmt_ymdhn , "4:05 3 Feb 2001"); fxt.Test_xto_str(date, Wdata_date.Fmt_ymdhns , "4:05:06 3 Feb 2001"); - fxt.Test_xto_str(date, 0 , "2001"); + } + @Test public void Xto_str_year() { + fxt.Test_xto_str("-00000001234-01-01T00:00:00Z", 9, "1234 BC"); + fxt.Test_xto_str("+00000001987-01-01T00:00:00Z", 8, "1980s"); + fxt.Test_xto_str("+00000001987-01-01T00:00:00Z", 7, "19. century"); + fxt.Test_xto_str("+00000001987-01-01T00:00:00Z", 6, "1. millenium"); + fxt.Test_xto_str("+00000012345-01-01T00:00:00Z", 5, "10,000 years"); + fxt.Test_xto_str("+00000123456-01-01T00:00:00Z", 4, "in 100,000 years"); + } + @Test public void Xto_str_julian() { + fxt.Init_calendar_is_julian_(Bool_.Y).Test_xto_str("+00000001600-01-02T00:00:00Z", Wdata_date.Fmt_ymd, "18 Jan 1600jul"); + } + @Test public void Xto_str_before_after() { + String date = "+00000002001-02-03T04:05:06Z"; + fxt.Clear().Init_before_(1).Test_xto_str(date, Wdata_date.Fmt_ymd, "3 Feb 2001 (-1)"); + fxt.Clear().Init_after_ (1).Test_xto_str(date, Wdata_date.Fmt_ymd, "3 Feb 2001 (+1)"); + fxt.Clear().Init_before_(1).Init_after_(1).Test_xto_str(date, Wdata_date.Fmt_ymd, "3 Feb 2001 (±1)"); + fxt.Clear().Init_before_(1).Init_after_(2).Test_xto_str(date, Wdata_date.Fmt_ymd, "3 Feb 2001 (-1, +2)"); } } class Wdata_date_fxt { private Bry_bfr tmp_bfr = Bry_bfr.new_(16); - private static final byte[][] months_ary = Bry_.Ary("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); - private static final byte[] dt_spr = Byte_ascii.Space_bry, time_spr = Byte_ascii.Colon_bry; + private Wdata_hwtr_msgs msgs; + private final Bry_fmtr tmp_time_fmtr = Bry_fmtr.new_(); private final Bry_bfr tmp_time_bfr = Bry_bfr.new_(32); + public Wdata_date_fxt Clear() { + init_before = init_after = 0; + init_calendar_is_julian = false; + return this; + } + public boolean Init_calendar_is_julian() {return init_calendar_is_julian;} public Wdata_date_fxt Init_calendar_is_julian_(boolean v) {init_calendar_is_julian = v; return this;} private boolean init_calendar_is_julian; + public int Init_before() {return init_before;} public Wdata_date_fxt Init_before_(int v) {init_before = v; return this;} private int init_before; + public int Init_after() {return init_after;} public Wdata_date_fxt Init_after_(int v) {init_after = v; return this;} private int init_after; public void Test_parse(String raw, long expd_y, int expd_m, int expd_d, int expd_h, int expd_n, int expd_s) { - Wdata_date actl_date = Wdata_date.parse(Bry_.new_ascii_(raw)); + Wdata_date actl_date = Wdata_date.parse(Bry_.new_ascii_(raw), Wdata_date.Fmt_ymdhns, init_before, init_after, init_calendar_is_julian); Tfds.Eq(expd_y, actl_date.Year()); Tfds.Eq(expd_m, actl_date.Month()); Tfds.Eq(expd_d, actl_date.Day()); @@ -51,15 +76,16 @@ class Wdata_date_fxt { Tfds.Eq(expd_s, actl_date.Second()); } public void Test_julian(int[] orig_ary, int[] expd) { - Wdata_date orig = new Wdata_date(orig_ary[0], orig_ary[1], orig_ary[2], 0, 0, 0); + Wdata_date orig = new Wdata_date(orig_ary[0], orig_ary[1], orig_ary[2], 0, 0, 0, 0, 0, 0, init_calendar_is_julian); Wdata_date actl = Wdata_date.Xto_julian(orig); Tfds.Eq(expd[0], (int)actl.Year(), "y"); Tfds.Eq(expd[1], actl.Month(), "m"); Tfds.Eq(expd[2], actl.Day(), "d"); } public void Test_xto_str(String raw, int precision, String expd) { - Wdata_date date = Wdata_date.parse(Bry_.new_ascii_(raw)); - Wdata_date.Xto_str(tmp_bfr, date, precision, months_ary, 0, dt_spr, time_spr); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + if (msgs == null) msgs = Wdata_hwtr_msgs.new_en_(); + Wdata_date date = Wdata_date.parse(Bry_.new_ascii_(raw), precision, init_before, init_after, init_calendar_is_julian); + Wdata_date.Xto_str(tmp_bfr, tmp_time_fmtr, tmp_time_bfr, msgs, date); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_dict_value_time.java b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_dict_value_time.java index 1bb648354..9ab3fd755 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_dict_value_time.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/core/Wdata_dict_value_time.java @@ -87,7 +87,7 @@ public class Wdata_dict_value_time { .Add_int_fixed(date.Second(), 2) .Add_byte(Byte_ascii.Ltr_Z) ; - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } private static Bry_bfr tmp_bfr = Bry_bfr.new_(); private static byte[] Bry_year_prefix = Bry_.new_ascii_("+0000000"); } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__claim.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__claim.java index 2216ef8d7..8d94023ac 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__claim.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__claim.java @@ -111,7 +111,7 @@ class Wdata_fmtr__claim_row implements Bry_fmtr_arg { for (int i = 0; i < len; ++i) { Wdata_claim_itm_core itm = claim_grp.Get_at(i); itm.Welcome(claim_html_wtr); - byte[] val = tmp_bfr.XtoAryAndClear(); + byte[] val = tmp_bfr.Xto_bry_and_clear(); fmtr_qual.Init_by_claim(ttl, itm); fmtr_ref.Init_by_claim(ttl, itm); row_fmtr.Bld_bfr_many(bfr, Wdata_dict_rank.Xto_str(itm.Rank_tid()), val, fmtr_qual, fmtr_ref); @@ -181,7 +181,7 @@ class Wdata_fmtr__qual_row implements Bry_fmtr_arg { for (int j = 0; j < grp_len; ++j) { Wdata_claim_itm_core itm = grp.Get_at(j); itm.Welcome(claim_html_wtr); - byte[] val = tmp_bfr.XtoAryAndClear(); + byte[] val = tmp_bfr.Xto_bry_and_clear(); row_fmtr.Bld_bfr_many(bfr, grp.Id(), lbl_mgr.Get_text__pid(grp.Id()), val); } } @@ -260,7 +260,7 @@ class Wdata_fmtr__ref_row implements Bry_fmtr_arg { for (int k = 0; k < grp2_len; ++k) { Wdata_claim_itm_core itm = grp2.Get_at(k); itm.Welcome(claim_html_wtr); - byte[] val = tmp_bfr.XtoAryAndClear(); + byte[] val = tmp_bfr.Xto_bry_and_clear(); row_fmtr.Bld_bfr_many(bfr, grp2.Id(), lbl_mgr.Get_text__pid(grp2.Id()), val); } } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__json.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__json.java index 204e22ac6..b72038861 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__json.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__json.java @@ -35,7 +35,7 @@ class Wdata_fmtr__json implements Bry_fmtr_arg { public void XferAry(Bry_bfr bfr, int idx) { if (jdoc == null) return; // TEST: wdoc doesn't have jdoc jdoc.Root().Print_as_json(tmp_bfr, 0); - fmtr.Bld_bfr_many(bfr, toc_data.Href(), toc_data.Text(), toggle_itm.Html_toggle_btn(), toggle_itm.Html_toggle_hdr(), tmp_bfr.XtoAryAndClear()); + fmtr.Bld_bfr_many(bfr, toc_data.Href(), toc_data.Text(), toggle_itm.Html_toggle_btn(), toggle_itm.Html_toggle_hdr(), tmp_bfr.Xto_bry_and_clear()); } private final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "" diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__langtext.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__langtext.java index 0262eea9b..b09b45112 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__langtext.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__langtext.java @@ -104,7 +104,7 @@ class Wdata_fmtr__alias_row implements Wdata_fmtr__langtext_row { tmp_bfr.Add(Html_utl.Escape_html_as_bry(val)); } Xol_lang_itm lang_itm = Xol_lang_itm_.Get_by_key_or_intl(itm.Lang()); - row_fmtr.Bld_bfr_many(bfr, lang_itm.Key(), Html_utl.Escape_html_as_bry(lang_itm.Local_name()), tmp_bfr.XtoAryAndClear()); + row_fmtr.Bld_bfr_many(bfr, lang_itm.Key(), Html_utl.Escape_html_as_bry(lang_itm.Local_name()), tmp_bfr.Xto_bry_and_clear()); } } private final Bry_fmtr row_fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__toc.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__toc.java index e291fc279..36d871cdb 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__toc.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_fmtr__toc.java @@ -25,7 +25,7 @@ class Wdata_fmtr__toc_div implements Bry_fmtr_arg { public void XferAry(Bry_bfr bfr, int idx) { int itms_len = itms.Count(); if (itms_len <= gplx.xowa.html.tocs.Xow_hdr_mgr.Toc_min) return; - fmtr_itm.Init_by_itm((Wdata_toc_data[])itms.XtoAryAndClear(Wdata_toc_data.class)); + fmtr_itm.Init_by_itm((Wdata_toc_data[])itms.Xto_ary_and_clear(Wdata_toc_data.class)); fmtr.Bld_bfr_many(bfr, tbl_hdr, fmtr_itm); } private final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr.java index fd5db842b..5fc699446 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr.java @@ -74,13 +74,13 @@ public class Wdata_hwtr_mgr { bfr.Add_str("

    "); fmtr_main.Bld_bfr_many(bfr, fmtr_oview, "", "", "", "", "", "", ""); bfr.Add_str("
    "); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public byte[] Write(Wdata_doc wdoc) { bfr.Add_str("
    "); fmtr_main.Bld_bfr_many(bfr, fmtr_oview, fmtr_toc, fmtr_claim, fmtr_slink, fmtr_label, fmtr_descr, fmtr_alias, fmtr_json); bfr.Add_str("
    "); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public static void Write_link_wikidata(Bry_bfr bfr, byte[] href, byte[] text) { text = gplx.html.Html_utl.Escape_html_as_bry(text); diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr_tst.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr_tst.java index 2ab268e80..d8cfd0dfe 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_mgr_tst.java @@ -286,35 +286,13 @@ class Wdata_hwtr_mgr_fxt { public void init() { if (doc_hwtr == null) { doc_hwtr = new Wdata_hwtr_mgr(); - Wdata_hwtr_msgs msgs = new Wdata_hwtr_msgs(Make_msgs()); + Wdata_hwtr_msgs msgs = Wdata_hwtr_msgs.new_en_(); doc_hwtr.Init_by_ctor(new Xoapi_wikibase(), new Wdata_lbl_wkr__test(resolved_ttls), Url_encoder.new_html_href_mw_(), new Xoapi_toggle_mgr(), new Xow_xwiki_mgr()); doc_hwtr.Init_by_lang(msgs); } resolved_ttls.Clear(); doc_hwtr.Lbl_mgr().Clear(); } - private byte[][] Make_msgs() { - return Bry_.Ary - ( "hide", "show", "Contents" - , "Also known as:", "No aliases defined." - , "Language", "Code" - , "Links (~{wiki_type})", "other sites", "Linked page" - , "Labels", "Label" - , "Aliases", "Alias" - , "Descriptions", "Description" - , "Statements" - , "JSON" - , ", ", " ", "(~{0})" - , "+", "-", "±" - , "—", "?" - , "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" - , "~{0}0s", "~{0}. century", "~{0}. millenium", "~{0}0,000 years", "~{0}00,000 years", "~{0} million years", "~{0}0 million years", "~{0}00 million years", "~{0} billion years" - , "~{0} BC", "~{0} ago", "in ~{0}", "jul" - , "N", "S", "E", "W" - , "°", "′", "″" - , " m" - ); - } public Wdata_doc_bldr Wdoc_bldr() {return wdoc_bldr;} private Wdata_doc_bldr wdoc_bldr = new Wdata_doc_bldr(); public Wdata_hwtr_mgr_fxt Init_resolved_pid(int pid, String lbl) {resolved_ttls.Add(Wdata_lbl_itm.Make_ttl(Bool_.Y, pid), new Wdata_langtext_itm(Bry_.new_ascii_("en"), Bry_.new_ascii_(lbl))); return this;} public Wdata_hwtr_mgr_fxt Init_resolved_qid(int qid, String lbl) {resolved_ttls.Add(Wdata_lbl_itm.Make_ttl(Bool_.N, qid), new Wdata_langtext_itm(Bry_.new_ascii_("en"), Bry_.new_ascii_(lbl))); return this;} @@ -328,7 +306,7 @@ class Wdata_hwtr_mgr_fxt { Bry_bfr tmp_bfr = Bry_bfr.new_(); Wdata_visitor__html_wtr html_wtr = new Wdata_visitor__html_wtr().Init(Bry_.Empty, tmp_bfr, doc_hwtr.Msgs(), doc_hwtr.Lbl_mgr()); claim.Welcome(html_wtr); - byte[] actl = tmp_bfr.XtoAryAndClear(); + byte[] actl = tmp_bfr.Xto_bry_and_clear(); Tfds.Eq(expd, String_.new_utf8_(actl)); } public void Test_json(Wdata_doc wdoc, String expd) { @@ -336,7 +314,7 @@ class Wdata_hwtr_mgr_fxt { fmtr_json.Init_by_wdoc(wdoc.Jdoc()); Bry_bfr tmp_bfr = Bry_bfr.new_(); fmtr_json.XferAry(tmp_bfr, 0); - Tfds.Eq_str_lines(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, tmp_bfr.Xto_str_and_clear()); } } class Wdata_lbl_wkr__test implements Wdata_lbl_wkr { diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_msgs.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_msgs.java index 5ddb59a8a..082141148 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_msgs.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_hwtr_msgs.java @@ -40,10 +40,11 @@ public class Wdata_hwtr_msgs { json_div_hdr = brys[offset + 7]; offset += 8; sym_list_comma = brys[offset + 0]; sym_list_word = brys[offset + 1]; - sym_fmt_parentheses = brys[offset + 2]; + sym_time_spr = brys[offset + 2]; sym_plus = brys[offset + 3]; sym_minus = brys[offset + 4]; - sym_plusminus = brys[offset + 5]; offset += 6; + sym_plusminus = brys[offset + 5]; + sym_fmt_parentheses = brys[offset + 6]; offset += 7; val_tid_novalue = brys[offset + 0]; val_tid_somevalue = brys[offset + 1]; offset += 2; this.month_bgn_idx = offset; @@ -59,15 +60,17 @@ public class Wdata_hwtr_msgs { time_month_10 = brys[offset + 9]; time_month_11 = brys[offset + 10]; time_month_12 = brys[offset + 11]; offset += 12; - time_year_1e10_01 = brys[offset + 0]; - time_year_1e10_02 = brys[offset + 1]; - time_year_1e10_03 = brys[offset + 2]; - time_year_1e10_04 = brys[offset + 3]; - time_year_1e10_05 = brys[offset + 4]; - time_year_1e10_06 = brys[offset + 5]; - time_year_1e10_07 = brys[offset + 6]; - time_year_1e10_08 = brys[offset + 7]; - time_year_1e10_09 = brys[offset + 8]; offset += 9; + time_year_idx = offset; + time_year_1e10_00 = brys[offset + 0]; + time_year_1e10_01 = brys[offset + 1]; + time_year_1e10_02 = brys[offset + 2]; + time_year_1e10_03 = brys[offset + 3]; + time_year_1e10_04 = brys[offset + 4]; + time_year_1e10_05 = brys[offset + 5]; + time_year_1e10_06 = brys[offset + 6]; + time_year_1e10_07 = brys[offset + 7]; + time_year_1e10_08 = brys[offset + 8]; + time_year_1e10_09 = brys[offset + 9]; offset += 10; time_relative_bc = brys[offset + 0]; time_relative_ago = brys[offset + 1]; time_relative_in = brys[offset + 2]; @@ -94,37 +97,6 @@ public class Wdata_hwtr_msgs { } public byte[][] Ary() {return ary;} private final byte[][] ary; public int Month_bgn_idx() {return month_bgn_idx;} private final int month_bgn_idx; - public static Wdata_hwtr_msgs new_(Xow_msg_mgr msg_mgr) { - byte[][] brys = new_brys(msg_mgr - , "hide", "show", "toc" - , "wikibase-aliases-label" , "wikibase-aliases-empty" - , "wikibase-sitelinks-sitename-columnheading" , "wikibase-sitelinks-siteid-columnheading" - , "xowa-wikidata-sitelinks-hdr" , "xowa-wikidata-sitelinks-hdr-special", "wikibase-sitelinks-link-columnheading" - , "xowa-wikidata-labels-hdr" , "xowa-wikidata-labels-col" - , "xowa-wikidata-aliases-hdr" , "xowa-wikidata-aliases-col" - , "xowa-wikidata-descriptions-hdr" , "xowa-wikidata-descriptions-col" - , "wikibase-statements" - , "xowa-wikidata-json" - , "comma-separator", "word-separator", "parentheses" - , "xowa-wikidata-plus", "xowa-wikidata-minus", "xowa-wikidata-plusminus" - , "xowa-wikidata-novalue", "xowa-wikidata-somevalue" - , "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" - , "xowa-wikidata-decade", "xowa-wikidata-century", "xowa-wikidata-millenium", "xowa-wikidata-years1e4", "xowa-wikidata-years1e5", "xowa-wikidata-years1e6", "xowa-wikidata-years1e7", "xowa-wikidata-years1e8", "xowa-wikidata-years1e9" - , "ago", "xowa-wikidata-bc", "xowa-wikidata-inTime" - , "xowa-wikidata-julian" - , "xowa-wikidata-north", "xowa-wikidata-south", "xowa-wikidata-east", "xowa-wikidata-west" - , "xowa-wikidata-degree", "xowa-wikidata-minute", "xowa-wikidata-second" - , "xowa-wikidata-meters" - ); - return new Wdata_hwtr_msgs(brys); - } - private static byte[][] new_brys(Xow_msg_mgr msg_mgr, String... ids) { - int len = ids.length; - byte[][] rv = new byte[len][]; - for (int i = 0; i < len; ++i) - rv[i] = gplx.html.Html_utl.Escape_html_as_bry(msg_mgr.Val_by_key_obj(ids[i])); - return rv; - } public byte[] Toggle_title_y() {return toggle_title_y;} private byte[] toggle_title_y; public byte[] Toggle_title_n() {return toggle_title_n;} private byte[] toggle_title_n; public byte[] Toc_tbl_hdr() {return toc_tbl_hdr;} private final byte[] toc_tbl_hdr; @@ -156,10 +128,11 @@ public class Wdata_hwtr_msgs { public byte[] Val_tid_somevalue() {return val_tid_somevalue;} private final byte[] val_tid_somevalue; public byte[] Sym_list_comma() {return sym_list_comma;} private final byte[] sym_list_comma; public byte[] Sym_list_word() {return sym_list_word;} private final byte[] sym_list_word; - public byte[] Sym_fmt_parentheses() {return sym_fmt_parentheses;} private final byte[] sym_fmt_parentheses; + public byte[] Sym_time_spr() {return sym_time_spr;} private final byte[] sym_time_spr; public byte[] Sym_plus() {return sym_plus;} private final byte[] sym_plus; public byte[] Sym_minus() {return sym_minus;} private final byte[] sym_minus; public byte[] Sym_plusminus() {return sym_plusminus;} private final byte[] sym_plusminus; + public byte[] Sym_fmt_parentheses() {return sym_fmt_parentheses;} private final byte[] sym_fmt_parentheses; public byte[] Time_month_01() {return time_month_01;} private final byte[] time_month_01; public byte[] Time_month_02() {return time_month_02;} private final byte[] time_month_02; public byte[] Time_month_03() {return time_month_03;} private final byte[] time_month_03; @@ -172,6 +145,8 @@ public class Wdata_hwtr_msgs { public byte[] Time_month_10() {return time_month_10;} private final byte[] time_month_10; public byte[] Time_month_11() {return time_month_11;} private final byte[] time_month_11; public byte[] Time_month_12() {return time_month_12;} private final byte[] time_month_12; + public int Time_year_idx() {return time_year_idx;} private final int time_year_idx; + public byte[] Time_year_1e10_00() {return time_year_1e10_00;} private final byte[] time_year_1e10_00; public byte[] Time_year_1e10_01() {return time_year_1e10_01;} private final byte[] time_year_1e10_01; public byte[] Time_year_1e10_02() {return time_year_1e10_02;} private final byte[] time_year_1e10_02; public byte[] Time_year_1e10_03() {return time_year_1e10_03;} private final byte[] time_year_1e10_03; @@ -193,4 +168,59 @@ public class Wdata_hwtr_msgs { public byte[] Geo_unit_minute() {return geo_unit_minute;} private final byte[] geo_unit_minute; public byte[] Geo_unit_second() {return geo_unit_second;} private final byte[] geo_unit_second; public byte[] Geo_meters() {return geo_meters;} private final byte[] geo_meters; + public static Wdata_hwtr_msgs new_en_() { + byte[][] brys = Bry_.Ary + ( "hide", "show", "Contents" + , "Also known as:", "No aliases defined." + , "Language", "Code" + , "Links (~{wiki_type})", "other sites", "Linked page" + , "Labels", "Label" + , "Aliases", "Alias" + , "Descriptions", "Description" + , "Statements" + , "JSON" + , ", ", " ", ":" + , "+", "-", "±", "(~{0})" + , "—", "?" + , "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" + , "~{0}", "~{0}0s", "~{0}. century", "~{0}. millenium", "~{0}0,000 years", "~{0}00,000 years", "~{0} million years", "~{0}0 million years", "~{0}00 million years", "~{0} billion years" + , "~{0} BC", "~{0} ago", "in ~{0}", "jul" + , "N", "S", "E", "W" + , "°", "′", "″" + , " m" + ); + return new Wdata_hwtr_msgs(brys); + } + public static Wdata_hwtr_msgs new_(Xow_msg_mgr msg_mgr) { + byte[][] brys = new_brys(msg_mgr + , "hide", "show", "toc" + , "wikibase-aliases-label" , "wikibase-aliases-empty" + , "wikibase-sitelinks-sitename-columnheading" , "wikibase-sitelinks-siteid-columnheading" + , "xowa-wikidata-sitelinks-hdr" , "xowa-wikidata-sitelinks-hdr-special", "wikibase-sitelinks-link-columnheading" + , "xowa-wikidata-labels-hdr" , "xowa-wikidata-labels-col" + , "xowa-wikidata-aliases-hdr" , "xowa-wikidata-aliases-col" + , "xowa-wikidata-descriptions-hdr" , "xowa-wikidata-descriptions-col" + , "wikibase-statements" + , "xowa-wikidata-json" + , "comma-separator", "word-separator", "xowa-wikidata-time-spr" + , "xowa-wikidata-plus", "xowa-wikidata-minus", "xowa-wikidata-plusminus" + , "parentheses" + , "xowa-wikidata-novalue", "xowa-wikidata-somevalue" + , "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" + , "xowa-wikidata-year", "xowa-wikidata-decade", "xowa-wikidata-century", "xowa-wikidata-millenium", "xowa-wikidata-years1e4", "xowa-wikidata-years1e5", "xowa-wikidata-years1e6", "xowa-wikidata-years1e7", "xowa-wikidata-years1e8", "xowa-wikidata-years1e9" + , "ago", "xowa-wikidata-bc", "xowa-wikidata-inTime" + , "xowa-wikidata-julian" + , "xowa-wikidata-north", "xowa-wikidata-south", "xowa-wikidata-east", "xowa-wikidata-west" + , "xowa-wikidata-degree", "xowa-wikidata-minute", "xowa-wikidata-second" + , "xowa-wikidata-meters" + ); + return new Wdata_hwtr_msgs(brys); + } + private static byte[][] new_brys(Xow_msg_mgr msg_mgr, String... ids) { + int len = ids.length; + byte[][] rv = new byte[len][]; + for (int i = 0; i < len; ++i) + rv[i] = gplx.html.Html_utl.Escape_html_as_bry(msg_mgr.Val_by_key_obj(ids[i])); + return rv; + } } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr.java index 5c0799d6b..85ed7a4f4 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr.java @@ -19,6 +19,7 @@ package gplx.xowa.xtns.wdatas.hwtrs; import gplx.*; import gplx.xowa.*; import g import gplx.xowa.xtns.wdatas.core.*; class Wdata_visitor__html_wtr implements Wdata_claim_visitor { private byte[] ttl; private Bry_bfr tmp_bfr; private Wdata_hwtr_msgs msgs; private Wdata_lbl_mgr lbl_mgr; + private final Bry_fmtr tmp_time_fmtr = Bry_fmtr.new_(); private final Bry_bfr tmp_time_bfr = Bry_bfr.new_(32); public Wdata_visitor__html_wtr Init(byte[] ttl, Bry_bfr tmp_bfr, Wdata_hwtr_msgs msgs, Wdata_lbl_mgr lbl_mgr) { this.ttl = ttl; this.tmp_bfr = tmp_bfr; this.msgs = msgs; this.lbl_mgr = lbl_mgr; return this; @@ -73,13 +74,7 @@ class Wdata_visitor__html_wtr implements Wdata_claim_visitor { date = Wdata_date.Xto_julian(date); calendar_display = msgs.Time_julian(); } - Wdata_date.Xto_str(tmp_bfr, date, itm.Precision_int(), msgs.Ary(), msgs.Month_bgn_idx(), Byte_ascii.Space_bry, Byte_ascii.Colon_bry); -// tmp_bfr.Add_long_variable(date.Year()); -// tmp_bfr.Add_byte(Byte_ascii.Dash) .Add_int_fixed(date.Month() , 2); -// tmp_bfr.Add_byte(Byte_ascii.Dash) .Add_int_fixed(date.Day() , 2); -// tmp_bfr.Add_byte(Byte_ascii.Space) .Add_int_fixed(date.Hour() , 2); -// tmp_bfr.Add_byte(Byte_ascii.Colon) .Add_int_fixed(date.Minute(), 2); -// tmp_bfr.Add_byte(Byte_ascii.Colon) .Add_int_fixed(date.Second(), 2); + Wdata_date.Xto_str(tmp_bfr, tmp_time_fmtr, tmp_time_bfr, msgs, date); if (calendar_display != null) tmp_bfr.Add_byte_space().Add(calendar_display); } catch (Exception e) { diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr_tst.java b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr_tst.java index 1bb5cf689..36c64e9b0 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/hwtrs/Wdata_visitor__html_wtr_tst.java @@ -30,7 +30,7 @@ public class Wdata_visitor__html_wtr_tst { @Test public void Time() { fxt .Test_claim_val - ( fxt.Wdata_fxt().Make_claim_time(1, "2001-02-03 04:05:06") + ( fxt.Wdata_fxt().Make_claim_time(1, "2001-02-03 04:05:06", Wdata_date.Fmt_ymdhns) , "4:05:06 3 Feb 2001" ); } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/imports/Xob_wdata_pid_base_tst.java b/400_xowa/src/gplx/xowa/xtns/wdatas/imports/Xob_wdata_pid_base_tst.java index ea3bf922e..16040c5dd 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/imports/Xob_wdata_pid_base_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/imports/Xob_wdata_pid_base_tst.java @@ -69,6 +69,6 @@ public class Xob_wdata_pid_base_tst { } bfr.Add_str(" }").Add_byte_nl(); bfr.Add_str("}").Add_byte_nl(); - return String_.Replace(bfr.XtoStrAndClear(), "'", "\""); + return String_.Replace(bfr.Xto_str_and_clear(), "'", "\""); } } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_claims_parser_v2.java b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_claims_parser_v2.java index 5e4b629fa..745081f7c 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_claims_parser_v2.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_claims_parser_v2.java @@ -107,7 +107,7 @@ class Wdata_claims_parser_v2 { Wdata_claim_itm_core qualifier_itm = Parse_mainsnak(qid, qualifier_nde, pid); list.Add(qualifier_itm); } - return new Wdata_claim_grp(Int_obj_ref.new_(pid), (Wdata_claim_itm_core[])list.XtoAryAndClear(Wdata_claim_itm_core.class)); + return new Wdata_claim_grp(Int_obj_ref.new_(pid), (Wdata_claim_itm_core[])list.Xto_ary_and_clear(Wdata_claim_itm_core.class)); } public Wdata_claim_itm_core Parse_mainsnak(byte[] qid, Json_itm_nde nde, int pid) { int len = nde.Subs_len(); diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_fxt_base.java b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_fxt_base.java index 8fb1717f6..6c2a41b7c 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_fxt_base.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_fxt_base.java @@ -36,22 +36,22 @@ abstract class Wdata_doc_parser_fxt_base { public void Test_entity(String raw, String expd) {Tfds.Eq(expd, String_.new_utf8_(parser.Parse_qid(Json_doc.new_apos_(raw))));} public void Test_sitelinks(String raw, Wdata_sitelink_itm... expd) { OrderedHash actl_hash = parser.Parse_sitelinks(Q1_bry, Json_doc.new_apos_(raw)); - Tfds.Eq_ary_str((Wdata_sitelink_itm[])actl_hash.XtoAry(Wdata_sitelink_itm.class), expd); + Tfds.Eq_ary_str((Wdata_sitelink_itm[])actl_hash.Xto_ary(Wdata_sitelink_itm.class), expd); } public void Test_labels(String raw, Wdata_langtext_itm... expd) {Test_langvals(raw, Bool_.Y, expd);} public void Test_descriptions(String raw, Wdata_langtext_itm... expd) {Test_langvals(raw, Bool_.N, expd);} private void Test_langvals(String raw, boolean labels_or_descriptions, Wdata_langtext_itm... expd) { OrderedHash actl_hash = parser.Parse_langvals(Q1_bry, Json_doc.new_apos_(raw), labels_or_descriptions); - Tfds.Eq_ary_str((Wdata_langtext_itm[])actl_hash.XtoAry(Wdata_langtext_itm.class), expd); + Tfds.Eq_ary_str((Wdata_langtext_itm[])actl_hash.Xto_ary(Wdata_langtext_itm.class), expd); } public void Test_aliases(String raw, Wdata_alias_itm... expd) { OrderedHash actl_hash = parser.Parse_aliases(Q1_bry, Json_doc.new_apos_(raw)); - Tfds.Eq_ary_str((Wdata_alias_itm[])actl_hash.XtoAry(Wdata_alias_itm.class), expd); + Tfds.Eq_ary_str((Wdata_alias_itm[])actl_hash.Xto_ary(Wdata_alias_itm.class), expd); } public void Test_claims(String raw, Wdata_claim_itm_core... expd) { OrderedHash actl_hash = parser.Parse_claims(Q1_bry, Json_doc.new_apos_(raw)); ListAdp actl_list = Wdata_claim_grp.Xto_list(actl_hash); - Tfds.Eq_ary_str((Wdata_claim_itm_core[])actl_list.XtoAry(Wdata_claim_itm_core.class), expd); + Tfds.Eq_ary_str((Wdata_claim_itm_core[])actl_list.Xto_ary(Wdata_claim_itm_core.class), expd); } public void Test_claims_data(String raw, Wdata_claim_itm_core expd) { Json_doc jdoc = Json_doc.new_apos_(raw); @@ -89,7 +89,7 @@ abstract class Wdata_doc_parser_fxt_base { rv.Add(itm); } } - return (Wdata_claim_itm_base[])rv.XtoAryAndClear(Wdata_claim_itm_base.class); + return (Wdata_claim_itm_base[])rv.Xto_ary_and_clear(Wdata_claim_itm_base.class); } private static final byte[] Q1_bry = Bry_.new_ascii_("Q1"); } diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_v1.java b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_v1.java index 907028c8f..95b5dc3ef 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_v1.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/parsers/Wdata_doc_parser_v1.java @@ -144,7 +144,7 @@ public class Wdata_doc_parser_v1 implements Wdata_doc_parser { private static void Claims_list_to_hash__add(OrderedHash rv, int pid, ListAdp temp_itms) { if (temp_itms.Count() == 0) return; // NOTE: will be empty when claims are empty; EX: "claims": []; PAGE:wd.p:585; DATE:2014-10-03 Int_obj_ref claim_grp_key = Int_obj_ref.new_(pid); - Wdata_claim_grp claim_grp = new Wdata_claim_grp(claim_grp_key, (Wdata_claim_itm_core[])temp_itms.XtoAryAndClear(Wdata_claim_itm_core.class)); + Wdata_claim_grp claim_grp = new Wdata_claim_grp(claim_grp_key, (Wdata_claim_itm_core[])temp_itms.Xto_ary_and_clear(Wdata_claim_itm_core.class)); rv.Add(claim_grp_key, claim_grp); } private Wdata_claim_itm_core Make_claim_itm(byte[] src, Json_itm_nde prop_nde) { diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_external_lang_links_data.java b/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_external_lang_links_data.java index 2b863de87..5c640b609 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_external_lang_links_data.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_external_lang_links_data.java @@ -44,7 +44,7 @@ public class Wdata_external_lang_links_data { for (int i = 0; i < args_len; i++) { Arg_nde_tkn nde = self.Args_get_by_idx(i); nde.Val_tkn().Tmpl_evaluate(ctx, src, self, tmp_bfr); - byte[] lang = tmp_bfr.XtoAryAndClear(); + byte[] lang = tmp_bfr.Xto_bry_and_clear(); Langs_add(lang); } tmp_bfr.Mkr_rls(); diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_pf_property_data.java b/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_pf_property_data.java index 47fc29d81..e093b8d21 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_pf_property_data.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/pfuncs/Wdata_pf_property_data.java @@ -42,7 +42,7 @@ public class Wdata_pf_property_data { continue; } nde.Val_tkn().Tmpl_evaluate(ctx, src, self, tmp_bfr); - byte[] val = tmp_bfr.XtoAryAndClear(); + byte[] val = tmp_bfr.Xto_bry_and_clear(); byte key_tid = ((Byte_obj_val)o).Val(); switch (key_tid) { case Atr_of_id: of = val; break; diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page.java b/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page.java index 9e77c3dd7..36d974220 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page.java @@ -49,7 +49,7 @@ public class Wdata_itemByTitle_page implements Xows_page { if (Navigate(usr_dlg, app, app.Wiki_mgr().Wdata_mgr(), page, site_bry, page_bry)) return; Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); html_fmtr.Bld_bfr_many(tmp_bfr, "Search for items by site and title", "Site", site_bry, "Page", page_bry, "Search"); - page.Data_raw_(tmp_bfr.Mkr_rls().XtoAryAndClear()); + page.Data_raw_(tmp_bfr.Mkr_rls().Xto_bry_and_clear()); page.Html_data().Html_restricted_n_(); // [[Special:]] pages allow all HTML } private static boolean Navigate(Gfo_usr_dlg usr_dlg, Xoa_app app, Wdata_wiki_mgr wdata_mgr, Xoa_page page, byte[] site_bry, byte[] page_bry) { diff --git a/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page_tst.java b/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page_tst.java index 0dc2984b6..6974e8aff 100644 --- a/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/wdatas/specials/Wdata_itemByTitle_page_tst.java @@ -71,7 +71,7 @@ class Wdata_itemByTitle_page_fxt { public String Expd_html(String wmf_key, String ttl_str) { Bry_bfr tmp_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); special_page.Html_fmtr().Bld_bfr_many(tmp_bfr, "Search for items by site and title", "Site", wmf_key, "Page", ttl_str, "Search"); - return tmp_bfr.Mkr_rls().XtoStrAndClear(); + return tmp_bfr.Mkr_rls().Xto_str_and_clear(); } } diff --git a/400_xowa/src_040_io/gplx/ios/Io_line_rdr_tst.java b/400_xowa/src_040_io/gplx/ios/Io_line_rdr_tst.java index d270bf67f..899d2f2cc 100644 --- a/400_xowa/src_040_io/gplx/ios/Io_line_rdr_tst.java +++ b/400_xowa/src_040_io/gplx/ios/Io_line_rdr_tst.java @@ -55,7 +55,7 @@ class Io_line_rdr_fxt { public Io_line_rdr_fxt File_lines_(int count) { for (int i = 0; i < count; i++) tmp.Add_int_fixed(i, 2).Add_byte_nl(); - Io_mgr._.SaveFilBry(rdr.Urls()[0], tmp.XtoAryAndClear()); + Io_mgr._.SaveFilBry(rdr.Urls()[0], tmp.Xto_bry_and_clear()); return this; } // public Io_url[] Src_fils() {return src_fils;} public Io_line_rdr_fxt Src_fils_(Io_url[] v) {src_fils = v; return this;} Io_url[] src_fils; @@ -69,14 +69,14 @@ class Io_line_rdr_fxt { public Io_line_rdr_fxt File_lines_pipe_(int count) { for (int i = 0; i < count; i++) tmp.Add_int_fixed(i, 2).Add_byte(Byte_ascii.Pipe).Add_byte_nl(); - Io_mgr._.SaveFilBry(rdr.Urls()[0], tmp.XtoAryAndClear()); + Io_mgr._.SaveFilBry(rdr.Urls()[0], tmp.Xto_bry_and_clear()); return this; } public Io_line_rdr_fxt File_lines_(int fil_idx, int bgn, int end) { for (int i = bgn; i < end; i++) tmp.Add_int_fixed(i, 2).Add_byte_nl(); - Io_mgr._.SaveFilBry(rdr.Urls()[fil_idx], tmp.XtoAryAndClear()); + Io_mgr._.SaveFilBry(rdr.Urls()[fil_idx], tmp.Xto_bry_and_clear()); return this; } public Io_line_rdr_fxt Clear() {rdr.Clear(); return this;} diff --git a/400_xowa/src_040_io/gplx/ios/Io_sort.java b/400_xowa/src_040_io/gplx/ios/Io_sort.java index 6bb3ec35c..3f0854e9b 100644 --- a/400_xowa/src_040_io/gplx/ios/Io_sort.java +++ b/400_xowa/src_040_io/gplx/ios/Io_sort.java @@ -43,7 +43,7 @@ public class Io_sort { size_cur = size_new; } rdr.Rls(); bfr.Rls(); Env_.GarbageCollect(); - return (Io_url[])rv.XtoAry(Io_url.class); + return (Io_url[])rv.Xto_ary(Io_url.class); } public void Merge(Gfo_usr_dlg usr_dlg, Io_url[] src_ary, ComparerAble comparer, Io_line_rdr_key_gen key_gen, Io_sort_cmd cmd) { BinaryHeap_Io_line_rdr heap = load_(usr_dlg, src_ary, comparer, key_gen, memory_max); if (heap.Len() == 0) return;//throw Err_.new_(Array_.XtoStr(src_ary)); diff --git a/400_xowa/src_040_io/gplx/ios/Io_sort_tst.java b/400_xowa/src_040_io/gplx/ios/Io_sort_tst.java index 71e4c01e4..3036d0b19 100644 --- a/400_xowa/src_040_io/gplx/ios/Io_sort_tst.java +++ b/400_xowa/src_040_io/gplx/ios/Io_sort_tst.java @@ -56,11 +56,11 @@ class Io_sort_fxt { String itm = (String)list.FetchAt(i); sb.Add(itm).Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } public String GenOrdered(int rows, int pad) { for (int i = 0; i < rows; i++) sb.Add(Int_.Xto_str_pad_bgn(i, pad) + "|" + "\n"); - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } } diff --git a/400_xowa/src_060_utl/gplx/App_cmd_mgr.java b/400_xowa/src_060_utl/gplx/App_cmd_mgr.java index beec00d5e..820c0cc27 100644 --- a/400_xowa/src_060_utl/gplx/App_cmd_mgr.java +++ b/400_xowa/src_060_utl/gplx/App_cmd_mgr.java @@ -23,7 +23,7 @@ public class App_cmd_mgr { public String Arg_prefix() {return arg_prefix;} public App_cmd_mgr Arg_prefix_(String v) {arg_prefix = v; prefix_len = String_.Len(v); return this;} private String arg_prefix = "--"; int prefix_len = 2; public void Clear() {expd_args.Clear(); actl_args.Clear(); errs.Clear(); key_help = key_header = null;} public int Actl_len() {return actl_args.Count();} - public App_cmd_arg[] Actl_ary() {return (App_cmd_arg[])actl_args.XtoAry(App_cmd_arg.class);} + public App_cmd_arg[] Actl_ary() {return (App_cmd_arg[])actl_args.Xto_ary(App_cmd_arg.class);} public App_cmd_mgr Expd_add_many(App_cmd_arg... ary) {for (App_cmd_arg o : ary) Expd_add(o); return this;} public App_cmd_mgr Expd_add(App_cmd_arg prm) { expd_args.Add(prm.Key(), prm); @@ -99,7 +99,7 @@ public class App_cmd_mgr { for (int i = 0; i < len; i++) sb.Add_fmt_line(" [{0}] = '{1}'", i, orig_ary[i]); } - usr_dlg.Note_none(GRP_KEY, "print.args", sb.XtoStrAndClear()); + usr_dlg.Note_none(GRP_KEY, "print.args", sb.Xto_str_and_clear()); } String_bldr sb = String_bldr_.new_(); public void Print_fail(Gfo_usr_dlg usr_dlg) { sb.Add("** error: ").Add_char_crlf(); @@ -110,7 +110,7 @@ public class App_cmd_mgr { } sb.Add_char_crlf(); sb.Add_str_w_crlf(String_.Repeat("-", 80)); - usr_dlg.Note_none(GRP_KEY, "print.fail", sb.XtoStrAndClear()); + usr_dlg.Note_none(GRP_KEY, "print.fail", sb.Xto_str_and_clear()); } public void Print_help(Gfo_usr_dlg usr_dlg, String app_name) { sb.Add_str_w_crlf("example:"); @@ -140,7 +140,7 @@ public class App_cmd_mgr { // sb.Add(" ").Add(String_.PadEnd(expdInf.Key(), key_max + 1, " ")).Add_str_w_crlf(expdInf.Descrip()); // } } - usr_dlg.Note_gui_none(GRP_KEY, "print.info", sb.XtoStrAndClear()); + usr_dlg.Note_gui_none(GRP_KEY, "print.info", sb.Xto_str_and_clear()); } private OrderedHash Expd_copy() { OrderedHash rv = OrderedHash_.new_(); diff --git a/400_xowa/src_060_utl/gplx/Gfo_log_wtr_base.java b/400_xowa/src_060_utl/gplx/Gfo_log_wtr_base.java index 7821c6449..fe3fe2658 100644 --- a/400_xowa/src_060_utl/gplx/Gfo_log_wtr_base.java +++ b/400_xowa/src_060_utl/gplx/Gfo_log_wtr_base.java @@ -80,7 +80,7 @@ public class Gfo_log_wtr_base implements Gfo_log_wtr { } catch (Exception e) {Err_.Noop(e);} // java.lang.StringBuilder can throw exceptions in some situations when called on a different thread; ignore errors } private String_bldr sb = String_bldr_.new_thread(); // NOTE: use java.lang.StringBuffer to try to avoid random exceptions when called on a different thread - private String Bld_msg(String s) {return sb.Add(DateAdp_.Now().XtoUtc().XtoStr_fmt_yyyyMMdd_HHmmss_fff()).Add(" ").Add(s).Add_char_nl().XtoStrAndClear();} + private String Bld_msg(String s) {return sb.Add(DateAdp_.Now().XtoUtc().XtoStr_fmt_yyyyMMdd_HHmmss_fff()).Add(" ").Add(s).Add_char_nl().Xto_str_and_clear();} private void Log_msg(Io_url url, String txt) { if (queue_enabled) { String url_raw = url == null ? "mem" : url.Raw(); @@ -111,7 +111,7 @@ class Usr_log_fil { public void Flush() { if (sb.Count() == 0) return; try { - Io_mgr._.AppendFilStr(url, sb.XtoStrAndClear()); + Io_mgr._.AppendFilStr(url, sb.Xto_str_and_clear()); } catch (Exception e) { ConsoleAdp._.WriteLine(Err_.Message_gplx_brief(e)); diff --git a/400_xowa/src_060_utl/gplx/Gfo_url_parser.java b/400_xowa/src_060_utl/gplx/Gfo_url_parser.java index dbe7b4ce0..d4a93dec4 100644 --- a/400_xowa/src_060_utl/gplx/Gfo_url_parser.java +++ b/400_xowa/src_060_utl/gplx/Gfo_url_parser.java @@ -80,7 +80,7 @@ public class Gfo_url_parser { while (loop) { if (pos == end) { encoder.Decode(src, bgn, end, tmp_bfr, false); - url.Site_(tmp_bfr.XtoAryAndClear()); + url.Site_(tmp_bfr.Xto_bry_and_clear()); url.Err_(Gfo_url.Err_protocol_missing); pass = false; break; } @@ -109,7 +109,7 @@ public class Gfo_url_parser { case Byte_ascii.Slash: if (pos == 0 && pos + 1 < end && src[pos + 1] == Byte_ascii.Slash) { // starts with "//" encoder.Decode(src, bgn, pos, tmp_bfr, false); - url.Site_(tmp_bfr.XtoAryAndClear()); + url.Site_(tmp_bfr.Xto_bry_and_clear()); url.Protocol_is_relative_(true); url.Protocol_tid_(relative_url_protocol); byte[] protocol_bry = Xoo_protocol_itm.Ary()[relative_url_protocol].Key_w_colon_bry(); @@ -119,7 +119,7 @@ public class Gfo_url_parser { } else { // has "/" encoder.Decode(src, bgn, pos, tmp_bfr, false); - url.Site_(tmp_bfr.XtoAryAndClear()); + url.Site_(tmp_bfr.Xto_bry_and_clear()); Parse_segs(src, pos + 1, end); loop = false; url.Err_(Gfo_url.Err_protocol_missing); pass = false; @@ -208,7 +208,7 @@ public class Gfo_url_parser { } ++pos; } - url.Segs_((byte[][])segs.XtoAry(byte[].class)); + url.Segs_((byte[][])segs.Xto_ary(byte[].class)); } private void Parse_anchor(byte[] src, int bgn, int end) { if (bgn == end) return; @@ -263,32 +263,32 @@ public class Gfo_url_parser { ++pos; } url.Args_bgn_(bgn - 1); // NOTE: bgn is 1st char after ?; -1 to place at ? - url.Args_((Gfo_url_arg[])args.XtoAry(Gfo_url_arg.class)); + url.Args_((Gfo_url_arg[])args.Xto_ary(Gfo_url_arg.class)); } private void Site_set(byte[] src, int bgn, int end, int dot_count, int dot_pos_0, int dot_pos_1) { encoder.Decode(src, bgn, end, tmp_bfr, false); - url.Site_(tmp_bfr.XtoAryAndClear()); + url.Site_(tmp_bfr.Xto_bry_and_clear()); switch (dot_count) { default: case 2: encoder.Decode(src, bgn, dot_pos_0, tmp_bfr, false); - url.Site_sub_(tmp_bfr.XtoAryAndClear()); + url.Site_sub_(tmp_bfr.Xto_bry_and_clear()); encoder.Decode(src, dot_pos_0 + 1, dot_pos_1, tmp_bfr, false); - url.Site_name_(tmp_bfr.XtoAryAndClear()); + url.Site_name_(tmp_bfr.Xto_bry_and_clear()); encoder.Decode(src, dot_pos_1 + 1, end, tmp_bfr, false); - url.Site_domain_(tmp_bfr.XtoAryAndClear()); + url.Site_domain_(tmp_bfr.Xto_bry_and_clear()); break; case 1: encoder.Decode(src, bgn, dot_pos_0, tmp_bfr, false); - url.Site_name_(tmp_bfr.XtoAryAndClear()); + url.Site_name_(tmp_bfr.Xto_bry_and_clear()); encoder.Decode(src, dot_pos_0 + 1, end, tmp_bfr, false); - url.Site_domain_(tmp_bfr.XtoAryAndClear()); + url.Site_domain_(tmp_bfr.Xto_bry_and_clear()); break; } } private void Segs_add(byte[] src, int bgn, int end) { encoder.Decode(src, bgn, end, tmp_bfr, false); - byte[] seg = tmp_bfr.XtoAryAndClear(); + byte[] seg = tmp_bfr.Xto_bry_and_clear(); if (url.Page() != null) segs.Add(url.Page()); url.Page_(seg); @@ -296,13 +296,13 @@ public class Gfo_url_parser { } private void Anchor_set(byte[] src, int bgn, int end) { encoder.Decode(src, bgn, end, tmp_bfr, false); - url.Anchor_(tmp_bfr.XtoAryAndClear()); + url.Anchor_(tmp_bfr.Xto_bry_and_clear()); } private void Args_add(byte[] src, int key_bgn, int key_end, int val_bgn, int val_end) { encoder.Decode(src, key_bgn, key_end, tmp_bfr, false); - byte[] key = tmp_bfr.XtoAryAndClear(); + byte[] key = tmp_bfr.Xto_bry_and_clear(); encoder.Decode(src, val_bgn, val_end, tmp_bfr, false); - byte[] val = tmp_bfr.XtoAryAndClear(); + byte[] val = tmp_bfr.Xto_bry_and_clear(); Gfo_url_arg arg = new Gfo_url_arg(key, val); args.Add(arg); } diff --git a/400_xowa/src_060_utl/gplx/Gfo_url_parser_tst.java b/400_xowa/src_060_utl/gplx/Gfo_url_parser_tst.java index 2fbc5b35a..9d114a80e 100644 --- a/400_xowa/src_060_utl/gplx/Gfo_url_parser_tst.java +++ b/400_xowa/src_060_utl/gplx/Gfo_url_parser_tst.java @@ -122,7 +122,7 @@ class Gfo_url_parser_chkr implements Tst_chkr { rv += bry_ary_chkr.Chk(mgr, "segs", actl.Segs()); rv += mgr.Tst_val(page == null, path, "page", page, String_.new_utf8_(actl.Page())); rv += mgr.Tst_val(anchor == null, path, "anchor", anchor, String_.new_utf8_(actl.Anchor())); - mgr.Tst_sub_ary((Gfo_url_arg_chkr[])args.XtoAry(Gfo_url_arg_chkr.class), actl.Args(), "args", rv); + mgr.Tst_sub_ary((Gfo_url_arg_chkr[])args.Xto_ary(Gfo_url_arg_chkr.class), actl.Args(), "args", rv); return rv; } public Gfo_url_parser_chkr Raw_(String v) {this.raw = v; return this;} private String raw; diff --git a/400_xowa/src_060_utl/gplx/Gfo_usr_dlg_base.java b/400_xowa/src_060_utl/gplx/Gfo_usr_dlg_base.java index e2985b13d..b61cd7c9c 100644 --- a/400_xowa/src_060_utl/gplx/Gfo_usr_dlg_base.java +++ b/400_xowa/src_060_utl/gplx/Gfo_usr_dlg_base.java @@ -43,11 +43,11 @@ public class Gfo_usr_dlg_base implements Gfo_usr_dlg { } String Bld_msg_many(String grp_key, String msg_key, String fmt, Object[] args) { tmp_fmtr.Fmt_(fmt).Bld_bfr_many(tmp_bfr, args); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } private Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_(); Bry_bfr tmp_bfr = Bry_bfr.new_(); String Bld_msg_one(String grp_key, String msg_key, String fmt, Object val) { tmp_fmtr.Fmt_(fmt).Bld_bfr_one(tmp_bfr, val); - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } String Bld_msg_none(String grp_key, String msg_key, String fmt) { return fmt; diff --git a/400_xowa/src_060_utl/gplx/Tst_mgr.java b/400_xowa/src_060_utl/gplx/Tst_mgr.java index 728363a50..49b216d91 100644 --- a/400_xowa/src_060_utl/gplx/Tst_mgr.java +++ b/400_xowa/src_060_utl/gplx/Tst_mgr.java @@ -85,7 +85,7 @@ public class Tst_mgr { Object itm = Array_.FetchAt(ary, i); ary_sb.Add(Object_.Xto_str_strict_or_null_mark(itm)).Add(","); } - return ary_sb.XtoStrAndClear(); + return ary_sb.Xto_str_and_clear(); } String_bldr ary_sb = String_bldr_.new_(); String Build() { String_bldr sb = String_bldr_.new_(); @@ -103,7 +103,7 @@ public class Tst_mgr { if (!itm.Pass()) sb.Add_fmt("\n{0} {1} {2} '{3}'", String_.PadEnd("", comp_max, " "), " " + String_.PadEnd("", path_max, " "), " " + String_.PadEnd("", name_max, " ") + " ", itm.Actl()); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } int Max(int max, String s) {int len = String_.Len(s); return len > max ? len : max;} public static final Tst_chkr Null_chkr = new Tst_chkr_null(); diff --git a/400_xowa/src_060_utl/gplx/Url_encoder.java b/400_xowa/src_060_utl/gplx/Url_encoder.java index f4889d939..0be078ac2 100644 --- a/400_xowa/src_060_utl/gplx/Url_encoder.java +++ b/400_xowa/src_060_utl/gplx/Url_encoder.java @@ -75,20 +75,20 @@ public class Url_encoder implements Url_encoder_interface { synchronized (thread_guard) { tmp_bfr.Add(Io_url.Http_file_bry); Encode(tmp_bfr, url.RawBry()); - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } } public String Encode_str(String str) { synchronized (thread_guard) { - byte[] bry = Bry_.new_utf8_(str); Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.XtoStrAndClear(); + byte[] bry = Bry_.new_utf8_(str); Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.Xto_str_and_clear(); } } public byte[] Encode_bry(String str) { synchronized (thread_guard) { - byte[] bry = Bry_.new_utf8_(str); Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.XtoAryAndClear(); + byte[] bry = Bry_.new_utf8_(str); Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.Xto_bry_and_clear(); } } - public byte[] Encode(byte[] bry) {Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.XtoAryAndClear();} + public byte[] Encode(byte[] bry) {Encode(tmp_bfr, bry, 0, bry.length); return tmp_bfr.Xto_bry_and_clear();} public Bry_bfr Encode(Bry_bfr bfr, byte[] bry) {Encode(bfr, bry, 0, bry.length); return bfr;} public void Encode(Bry_bfr bfr, byte[] bry, int bgn, int end) { synchronized (thread_guard) { @@ -106,17 +106,17 @@ public class Url_encoder implements Url_encoder_interface { } public String Decode_str(String str) { synchronized (thread_guard) { - byte[] bry = Bry_.new_utf8_(str); Decode(bry, 0, bry.length, tmp_bfr, true); return tmp_bfr.XtoStrAndClear(); + byte[] bry = Bry_.new_utf8_(str); Decode(bry, 0, bry.length, tmp_bfr, true); return tmp_bfr.Xto_str_and_clear(); } } public byte[] Decode(byte[] bry) { synchronized (thread_guard) { - Decode(bry, 0, bry.length, tmp_bfr, false); return tmp_bfr.XtoAryAndClear(); + Decode(bry, 0, bry.length, tmp_bfr, false); return tmp_bfr.Xto_bry_and_clear(); } } public byte[] Decode_lax(byte[] bry) { synchronized (thread_guard) { - Decode(bry, 0, bry.length, tmp_bfr, false); return tmp_bfr.XtoAryAndClear(); + Decode(bry, 0, bry.length, tmp_bfr, false); return tmp_bfr.Xto_bry_and_clear(); } } public void Decode(byte[] bry, int bgn, int end, Bry_bfr bfr, boolean fail_when_invalid) { diff --git a/400_xowa/src_060_utl/gplx/Url_encoder_tst.java b/400_xowa/src_060_utl/gplx/Url_encoder_tst.java index 8bf9eac6f..e031a3d37 100644 --- a/400_xowa/src_060_utl/gplx/Url_encoder_tst.java +++ b/400_xowa/src_060_utl/gplx/Url_encoder_tst.java @@ -29,7 +29,7 @@ public class Url_encoder_tst { byte[] raw = Bry_.new_ascii_("0%.jpg"); Bry_bfr tmp_bfr = Bry_bfr.new_(); fxt.Encoder_id().Encoder().Decode(raw, 0, raw.length, tmp_bfr, false); - Tfds.Eq("0%.jpg", tmp_bfr.XtoStrAndClear()); + Tfds.Eq("0%.jpg", tmp_bfr.Xto_str_and_clear()); } @Test public void Id_nbsp() {fxt.Encoder_id().Test_encode("a b", "a.C2.A0b");} // NOTE: not just .A0 (160) but utf8-encoded .C2.A0 @Test public void Url_syms() {fxt.Encoder_url().Test_encode_decode("!?^~", "%21%3F%5E%7E");} diff --git a/400_xowa/src_100_app/gplx/xowa/Xoa_url_alias_mgr.java b/400_xowa/src_100_app/gplx/xowa/Xoa_url_alias_mgr.java index 2c172b623..79c58f261 100644 --- a/400_xowa/src_100_app/gplx/xowa/Xoa_url_alias_mgr.java +++ b/400_xowa/src_100_app/gplx/xowa/Xoa_url_alias_mgr.java @@ -24,7 +24,7 @@ along with this program. If not, see . // byte[] fmt = (byte[])hash.Get_by_mid(raw, 0, colon_pos); if (fmt == null) return null; // Bry_bfr tmp_bfr = app.Utl_bry_bfr_mkr().Get_b512(); // fmtr.Fmt_(fmt).Bld_bfr_many(tmp_bfr, Bry_.Mid(raw, colon_pos + Int_.Const_dlm_len, raw.length)); -// return tmp_bfr.Mkr_rls().XtoAryAndClear(); +// return tmp_bfr.Mkr_rls().Xto_bry_and_clear(); // } // public void Clear() {hash.Clear();} // public void Add_one(byte[] alias, byte[] wiki_key) {hash.Add_bry_obj(alias, wiki_key);} diff --git a/400_xowa/src_100_app/gplx/xowa/Xoac_wiki_cfg_bldr_cmd.java b/400_xowa/src_100_app/gplx/xowa/Xoac_wiki_cfg_bldr_cmd.java index 802eebf27..95c329484 100644 --- a/400_xowa/src_100_app/gplx/xowa/Xoac_wiki_cfg_bldr_cmd.java +++ b/400_xowa/src_100_app/gplx/xowa/Xoac_wiki_cfg_bldr_cmd.java @@ -21,9 +21,9 @@ public class Xoac_wiki_cfg_bldr_cmd { public String Key() {return key;} private String key; public String Text() {return text;} private String text; public String Exec(String_bldr sb, String wiki, String src) { - String sect_txt_bgn = sb.Add("// ").Add(key).Add(".bgn\n").XtoStrAndClear(); - String sect_txt_end = sb.Add("// ").Add(key).Add(".end\n").XtoStrAndClear(); - String sect_txt_all = sb.Add(sect_txt_bgn).Add(text + "\n").Add(sect_txt_end).XtoStrAndClear(); // NOTE: always add \n; convenience for single line cmds + String sect_txt_bgn = sb.Add("// ").Add(key).Add(".bgn\n").Xto_str_and_clear(); + String sect_txt_end = sb.Add("// ").Add(key).Add(".end\n").Xto_str_and_clear(); + String sect_txt_all = sb.Add(sect_txt_bgn).Add(text + "\n").Add(sect_txt_end).Xto_str_and_clear(); // NOTE: always add \n; convenience for single line cmds // int sect_pos_bgn = String_.FindFwd(src, sect_txt_bgn); // if (sect_pos_bgn == String_.Find_none) // new cmd; add to end of file return src + sect_txt_all; @@ -31,7 +31,7 @@ public class Xoac_wiki_cfg_bldr_cmd { // if (sect_pos_end == String_.Find_none) // throw Err_.new_("section_fail: " + wiki + " " + key); // try { -// return sb.Add(String_.Mid(src, 0, sect_pos_bgn)).Add(sect_txt_all).Add(String_.Mid(src, sect_pos_end + String_.Len(sect_txt_end), String_.Len(text))).XtoStrAndClear(); +// return sb.Add(String_.Mid(src, 0, sect_pos_bgn)).Add(sect_txt_all).Add(String_.Mid(src, sect_pos_end + String_.Len(sect_txt_end), String_.Len(text))).Xto_str_and_clear(); // } catch (Exception e) {Err_.Noop(e); throw Err_.new_("section_fail: " + wiki + " " + key);} } } diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_grp.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_grp.java index b02879f93..f50b06c4a 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_grp.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_grp.java @@ -22,7 +22,7 @@ public class Xow_lang_grp implements GfoInvkAble { public byte[] Name() {return name;} public Xow_lang_grp Name_(byte[] v) {name = v; return this;} private byte[] name; public int Sort_idx() {return sort_idx;} public Xow_lang_grp Sort_idx_(int v) {sort_idx = v; return this;} private int sort_idx = 0; public byte Sort_mode() {return sort_mode;} public Xow_lang_grp Sort_mode_(byte v) {sort_mode = v; return this;} private byte sort_mode = Sort_mode_page_name; - public Xow_lang_itm[] Itms() {if (itms == null) itms = (Xow_lang_itm[])itm_list.XtoAry(Xow_lang_itm.class); return itms;} private Xow_lang_itm[] itms; + public Xow_lang_itm[] Itms() {if (itms == null) itms = (Xow_lang_itm[])itm_list.Xto_ary(Xow_lang_itm.class); return itms;} private Xow_lang_itm[] itms; public int Itms_len() {return this.Itms().length;} public Xow_lang_itm Itms_get(int i) {return this.Itms()[i];} public void Itms_add(Xow_lang_itm itm) {itms = null; itm_list.Add(itm);} ListAdp itm_list = ListAdp_.new_(); diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr.java index a826639c8..7c2f25975 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr.java @@ -144,7 +144,7 @@ class Xow_lang_html implements Bry_fmtr_arg { else tmp_bfr.Add(Xoh_href_parser.Href_site_bry).Add(domain).Add(Xoh_href_parser.Href_wiki_bry); if (!itm.Empty_xwiki()) tmp_bfr.Add(page_name); - grp.Html_itm().Bld_bfr_many(bfr, lang_key, domain, local_name, tmp_bfr.XtoAryAndClear(), page_name); + grp.Html_itm().Bld_bfr_many(bfr, lang_key, domain, local_name, tmp_bfr.Xto_bry_and_clear(), page_name); ++grp_counter; if (grp_counter == 3) { row_opened = false; diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr_fxt.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr_fxt.java index 1d368548a..732289ebd 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr_fxt.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_lang_mgr_fxt.java @@ -60,6 +60,6 @@ public class Xow_lang_mgr_fxt { Bry_bfr html_bfr = Bry_bfr.new_(); wiki.Xwiki_mgr().Lang_mgr().Html_bld(html_bfr, wiki, ctx.Cur_page().Xwiki_langs(), gplx.xowa.xtns.wdatas.Wdata_xwiki_link_wtr.Qid_null); - Tfds.Eq_str_lines(expd, html_bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, html_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_msg_mgr.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_msg_mgr.java index 815acb4f7..e7ae7c061 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_msg_mgr.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_msg_mgr.java @@ -97,7 +97,7 @@ public class Xow_msg_mgr implements GfoInvkAble { if (accesskey_found) bfr.Add_byte(Byte_ascii.Space).Add_byte(Byte_ascii.Brack_bgn).Add(accesskey_val).Add_byte(Byte_ascii.Brack_end); bfr.Add_byte(Byte_ascii.Quote); - byte[] rv = bfr.XtoAryAndClear(); + byte[] rv = bfr.Xto_bry_and_clear(); if (itm == null) return rv; else { diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_script_mgr.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_script_mgr.java index b1c659973..485415081 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_script_mgr.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_script_mgr.java @@ -32,7 +32,7 @@ public class Xow_script_mgr implements GfoInvkAble { if (Byte_.In(wiki_tid, itm.Wiki_tids())) // wiki_tid matches itm itm.Fmtr().Bld_bfr_many(bfr, wiki.Domain_bry(), Xow_wiki_domain_.Key_by_tid(wiki_tid), wiki.Lang().Key_bry()); } - String gfs_script = String_.Replace(bfr.XtoStrAndClear(), Op_sys.Wnt.Nl_str(), Op_sys.Lnx.Nl_str()); + String gfs_script = String_.Replace(bfr.Xto_str_and_clear(), Op_sys.Wnt.Nl_str(), Op_sys.Lnx.Nl_str()); wiki.App().Gfs_mgr().Run_str(gfs_script); bfr.Mkr_rls(); } diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_utl_mgr.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_utl_mgr.java index 22c14121c..6850c75bf 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_utl_mgr.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_utl_mgr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; +import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.paras.*; public class Xow_utl_mgr { public Xow_utl_mgr(Xow_wiki wiki) {this.wiki = wiki;} private Xow_wiki wiki; public Xop_parser Anchor_encode_parser() { diff --git a/400_xowa/src_120_wiki/gplx/xowa/Xow_wiki.java b/400_xowa/src_120_wiki/gplx/xowa/Xow_wiki.java index 2d9128b37..1f5c2254a 100644 --- a/400_xowa/src_120_wiki/gplx/xowa/Xow_wiki.java +++ b/400_xowa/src_120_wiki/gplx/xowa/Xow_wiki.java @@ -60,7 +60,7 @@ public class Xow_wiki implements GfoInvkAble { } else { wdata_wiki_tid = domain_tid; - wdata_wiki_lang = lang.Key_bry(); + wdata_wiki_lang = domain_itm.Lang_orig_key(); // NOTE: must use orig_key for nowiki; "no" not "nb" DATE:2014-10-07 } Wdata_wiki_abrv_(); db_mgr = new gplx.xowa.dbs.Xodb_mgr_txt(this, data_mgr); @@ -102,7 +102,7 @@ public class Xow_wiki implements GfoInvkAble { private void Wdata_wiki_abrv_() { Bry_bfr bfr = app.Utl_bry_bfr_mkr().Get_b128(); Xow_wiki_alias.Build_alias_by_lang_tid(bfr, wdata_wiki_lang, Byte_obj_ref.new_(wdata_wiki_tid)); - wdata_wiki_abrv = bfr.Mkr_rls().XtoAryAndClear(); + wdata_wiki_abrv = bfr.Mkr_rls().Xto_bry_and_clear(); } public boolean Init_needed() {return init_needed;} public Xow_wiki Init_needed_(boolean v) {init_needed = v; return this;} private boolean init_needed = true; diff --git a/400_xowa/src_121_wiki_data/gplx/xowa/ByteAry_fil.java b/400_xowa/src_121_wiki_data/gplx/xowa/ByteAry_fil.java index d2672af38..16b2e02f0 100644 --- a/400_xowa/src_121_wiki_data/gplx/xowa/ByteAry_fil.java +++ b/400_xowa/src_121_wiki_data/gplx/xowa/ByteAry_fil.java @@ -28,7 +28,7 @@ public class ByteAry_fil { return this; } public Object Xto_itms(Class itm_type) { - Object rv = itms.XtoAry(itm_type); + Object rv = itms.Xto_ary(itm_type); itms.Clear(); if (raw_bry.length > raw_max) raw_bry = Bry_.Empty; raw_len.Val_zero_(); diff --git a/400_xowa/src_121_wiki_data/gplx/xowa/Io_txn_itm_save.java b/400_xowa/src_121_wiki_data/gplx/xowa/Io_txn_itm_save.java index d73fa79a1..9fb6dad59 100644 --- a/400_xowa/src_121_wiki_data/gplx/xowa/Io_txn_itm_save.java +++ b/400_xowa/src_121_wiki_data/gplx/xowa/Io_txn_itm_save.java @@ -48,7 +48,7 @@ class Io_txn_mgr { } public boolean Commit() { int len = list.Count(); - Io_txn_itm[] itms = (Io_txn_itm[])list.XtoAry(Io_txn_itm.class); + Io_txn_itm[] itms = (Io_txn_itm[])list.Xto_ary(Io_txn_itm.class); for (int i = 0; i < len; i++) { Io_txn_itm itm = itms[i]; itm.Txn_init(tmp_dir); diff --git a/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page.java b/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page.java index 557e1274d..1d55aaf4e 100644 --- a/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page.java +++ b/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page.java @@ -18,21 +18,22 @@ along with this program. If not, see . package gplx.xowa; import gplx.*; public class Xodb_page implements Xobl_data_itm { public Xodb_page() {this.Clear();} - public int Id() {return id;} public Xodb_page Id_(int v) {id = v; id_val = null; return this;} private int id; - public Int_obj_val Id_val() {if (id_val == null) id_val = Int_obj_val.new_(id); return id_val;} Int_obj_val id_val; - public int Ns_id() {return ns_id;} public Xodb_page Ns_id_(int v) {ns_id = v; return this;} private int ns_id; - public byte[] Ttl_wo_ns() {return ttl_wo_ns;} public Xodb_page Ttl_wo_ns_(byte[] v) {ttl_wo_ns = v; return this;} private byte[] ttl_wo_ns; - public boolean Type_redirect() {return type_redirect;} public Xodb_page Type_redirect_(boolean v) {type_redirect = v; return this;} private boolean type_redirect; - public int Text_len() {return text_len;} public Xodb_page Text_len_(int v) {text_len = v; return this;} private int text_len; - public byte[] Text() {return text;} public Xodb_page Text_(byte[] v) {text = v; if (v != null) text_len = v.length; return this;} private byte[] text; - public boolean Exists() {return exists;} public Xodb_page Exists_(boolean v) {exists = v; return this;} private boolean exists; - public int Db_file_idx() {return db_file_idx;} public Xodb_page Db_file_idx_(int v) {db_file_idx = v; return this;} private int db_file_idx; - public int Db_row_idx() {return db_row_idx;} public Xodb_page Db_row_idx_(int v) {db_row_idx = v; return this;} private int db_row_idx; - public int Html_db_id() {return html_db_id;} public Xodb_page Html_db_id_(int v) {html_db_id = v; return this;} private int html_db_id; - public DateAdp Modified_on() {return modified_on;} public Xodb_page Modified_on_(DateAdp v) {modified_on = v; return this;} DateAdp modified_on; - public Xow_ns Ns() {return ns;} private Xow_ns ns; - public Object Xtn() {return xtn;} public Xodb_page Xtn_(Object v) {this.xtn = v; return this;} Object xtn; - public byte[] Ttl_w_ns() {return ttl_w_ns;} private byte[] ttl_w_ns; + public int Id() {return id;} public Xodb_page Id_(int v) {id = v; id_val = null; return this;} private int id; + public Int_obj_val Id_val() {if (id_val == null) id_val = Int_obj_val.new_(id); return id_val;} private Int_obj_val id_val; + public int Ns_id() {return ns_id;} public Xodb_page Ns_id_(int v) {ns_id = v; return this;} private int ns_id; + public byte[] Ttl_wo_ns() {return ttl_wo_ns;} public Xodb_page Ttl_wo_ns_(byte[] v) {ttl_wo_ns = v; return this;} private byte[] ttl_wo_ns; + public boolean Type_redirect() {return type_redirect;} public Xodb_page Type_redirect_(boolean v) {type_redirect = v; return this;} private boolean type_redirect; + public DateAdp Modified_on() {return modified_on;} public Xodb_page Modified_on_(DateAdp v) {modified_on = v; return this;} DateAdp modified_on; + public int Text_len() {return text_len;} public Xodb_page Text_len_(int v) {text_len = v; return this;} private int text_len; + public int Text_db_id() {return text_db_id;} public Xodb_page Text_db_id_(int v) {text_db_id = v; return this;} private int text_db_id; + public int Html_db_id() {return html_db_id;} public Xodb_page Html_db_id_(int v) {html_db_id = v; return this;} private int html_db_id; + public int Redirect_id() {return redirect_id;} public void Redirect_id_(int v) {redirect_id = v;} private int redirect_id; + public byte[] Text() {return text;} public Xodb_page Text_(byte[] v) {text = v; if (v != null) text_len = v.length; return this;} private byte[] text; + public boolean Exists() {return exists;} public Xodb_page Exists_(boolean v) {exists = v; return this;} private boolean exists; + public int Db_row_idx() {return db_row_idx;} public Xodb_page Db_row_idx_(int v) {db_row_idx = v; return this;} private int db_row_idx; + public Xow_ns Ns() {return ns;} private Xow_ns ns; + public Object Xtn() {return xtn;} public Xodb_page Xtn_(Object v) {this.xtn = v; return this;} Object xtn; + public byte[] Ttl_w_ns() {return ttl_w_ns;} private byte[] ttl_w_ns; public Xodb_page Ttl_(Xow_ns ns, byte[] ttl_wo_ns) { this.ns = ns; ns_id = ns.Id(); @@ -63,7 +64,7 @@ public class Xodb_page implements Xobl_data_itm { } public void Clear() { id = Id_null; text_len = 0; // text_len should be 0 b/c text defaults to 0; - db_file_idx = db_row_idx = 0; // default to 0, b/c some tests do not set and will fail at -1 + text_db_id = db_row_idx = 0; // default to 0, b/c some tests do not set and will fail at -1 ns_id = Int_.MinValue; ttl_w_ns = ttl_wo_ns = null; text = Bry_.Empty; // default to Ary_empty for entries that have ns = null; @@ -71,11 +72,12 @@ public class Xodb_page implements Xobl_data_itm { modified_on = DateAdp_.MinValue; id_val = null; html_db_id = -1; + redirect_id = -1; } public void Copy(Xodb_page orig) { this.id = orig.id; this.text_len = orig.text_len; - this.db_file_idx = orig.db_file_idx; + this.text_db_id = orig.text_db_id; this.db_row_idx = orig.db_row_idx; this.ns_id = orig.ns_id; this.ttl_w_ns = orig.ttl_w_ns; @@ -88,8 +90,8 @@ public class Xodb_page implements Xobl_data_itm { this.id_val = null; this.html_db_id = orig.html_db_id; } - public Xodb_page Set_all_(int id, int db_file_idx, int db_row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) { - this.id = id; this.db_file_idx = db_file_idx; this.db_row_idx = db_row_idx; this.type_redirect = redirect; this.text_len = text_len; this.ttl_wo_ns = ttl_wo_ns; + public Xodb_page Set_all_(int id, int text_db_id, int db_row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) { + this.id = id; this.text_db_id = text_db_id; this.db_row_idx = db_row_idx; this.type_redirect = redirect; this.text_len = text_len; this.ttl_wo_ns = ttl_wo_ns; id_val = null; return this; } diff --git a/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page_.java b/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page_.java index c4b0ee88e..dddb025a3 100644 --- a/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page_.java +++ b/400_xowa/src_121_wiki_data/gplx/xowa/Xodb_page_.java @@ -30,14 +30,14 @@ public class Xodb_page_ { private static void Txt_ttl_load(Xodb_page page, byte[] bry, int bgn, int end) { try { page.Id_ (Base85_utl.XtoIntByAry (bry, bgn + 0, bgn + 4)); - page.Db_file_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10)); + page.Text_db_id_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10)); page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16)); page.Type_redirect_ (bry[18] == Byte_ascii.Num_1); page.Text_len_ (Base85_utl.XtoIntByAry (bry, bgn + 20, bgn + 24)); page.Ttl_wo_ns_ (Bry_.Mid (bry, bgn + 26, end)); } catch (Exception e) {throw Err_.err_(e, "parse_by_ttl failed: {0}", String_.new_utf8_(bry, bgn, end));} } - public static void Txt_ttl_save(Bry_bfr bfr, Xodb_page page) {Txt_ttl_save(bfr, page.Id(), page.Db_file_idx(), page.Db_row_idx(), page.Type_redirect(), page.Text_len(), page.Ttl_wo_ns());} + public static void Txt_ttl_save(Bry_bfr bfr, Xodb_page page) {Txt_ttl_save(bfr, page.Id(), page.Text_db_id(), page.Db_row_idx(), page.Type_redirect(), page.Text_len(), page.Ttl_wo_ns());} public static void Txt_ttl_save(Bry_bfr bfr, int id, int file_idx, int row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) { bfr .Add_base85_len_5(id) .Add_byte_pipe() .Add_base85_len_5(file_idx) .Add_byte_pipe() @@ -52,8 +52,8 @@ public class Xodb_page_ { try { page.Clear(); page.Id_ (Base85_utl.XtoIntByAry (bry, bgn + 0, bgn + 4)); - page.Db_file_idx_(Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10)); - page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16)); + page.Text_db_id_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10)); + page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16)); page.Type_redirect_ (bry[18] == Byte_ascii.Num_1); page.Text_len_ (Base85_utl.XtoIntByAry (bry, bgn + 20, bgn + 24)); page.Ns_id_ (Base85_utl.XtoIntByAry (bry, bgn + 26, bgn + 30)); @@ -62,7 +62,7 @@ public class Xodb_page_ { } public static void Txt_id_save(Bry_bfr bfr, Xodb_page page) { bfr .Add_base85_len_5(page.Id()) .Add_byte_pipe() - .Add_base85_len_5(page.Db_file_idx()) .Add_byte_pipe() + .Add_base85_len_5(page.Text_db_id()) .Add_byte_pipe() .Add_base85_len_5(page.Db_row_idx()) .Add_byte_pipe() .Add_byte(page.Type_redirect() ? Byte_ascii.Num_1 : Byte_ascii.Num_0).Add_byte_pipe() .Add_base85_len_5(page.Text_len()) .Add_byte_pipe() diff --git a/400_xowa/src_121_wiki_data/gplx/xowa/Xow_hive_mgr_fxt.java b/400_xowa/src_121_wiki_data/gplx/xowa/Xow_hive_mgr_fxt.java index 7fcc8aec2..b8a3d8ba8 100644 --- a/400_xowa/src_121_wiki_data/gplx/xowa/Xow_hive_mgr_fxt.java +++ b/400_xowa/src_121_wiki_data/gplx/xowa/Xow_hive_mgr_fxt.java @@ -50,7 +50,7 @@ public class Xow_hive_mgr_fxt { for (int fil_idx = 0; fil_idx < files; fil_idx++) { for (int ttl_idx = 0; ttl_idx < ttls_per_file; ttl_idx++) { tmp_bfr.Add_byte(ltr).Add_int_fixed(ttl_idx, ttl_bry_len); - byte[] ttl_bry = tmp_bfr.XtoAryAndClear(); + byte[] ttl_bry = tmp_bfr.Xto_bry_and_clear(); if (ttl_idx == 0) ttl_0 = ttl_bry; else if (ttl_idx == ttls_per_file - 1) ttl_n = ttl_bry; Xodb_page_.Txt_ttl_save(xdat_wtr.Bfr(), id++, 0, ttl_idx, ttl_idx % 2 == 1, 1, ttl_bry); @@ -71,7 +71,7 @@ public class Xow_hive_mgr_fxt { for (int i = 0; i < pages_len; i++) bfr.Add_byte_pipe().Add_base85_len_5(pages[i]); bfr.Add_byte_nl(); - byte[] row = bfr.Mkr_rls().XtoAryAndClear(); + byte[] row = bfr.Mkr_rls().Xto_bry_and_clear(); hive_mgr.Create(Xow_dir_info_.Tid_category, key_bry, row); } public Xow_hive_mgr_fxt Create_id(int id, int fil_idx, int row_idx, boolean type_redirect, int itm_len, int ns_id, String ttl) {Create_id(app, hive_mgr, id, fil_idx, row_idx, type_redirect, itm_len, ns_id, ttl); return this;} @@ -85,7 +85,7 @@ public class Xow_hive_mgr_fxt { .Add_base85_len_5(itm_len) .Add_byte_pipe() .Add_base85_len_5(ns_id) .Add_byte_pipe() .Add_str(ttl) .Add_byte_nl(); - byte[] row = bfr.XtoAryAndClear(); + byte[] row = bfr.Xto_bry_and_clear(); bfr.Mkr_rls(); hive_mgr.Create(Xow_dir_info_.Tid_id, key_bry, row); } diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser.java b/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser.java index 0d5e2cc5b..78847151b 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser.java @@ -31,7 +31,7 @@ public class Xol_csv_parser { } } } - public byte[] Load(byte[] src, int bgn, int end) {Load(tmp_bfr, src, bgn, end); return tmp_bfr.XtoAryAndClear();} + public byte[] Load(byte[] src, int bgn, int end) {Load(tmp_bfr, src, bgn, end); return tmp_bfr.Xto_bry_and_clear();} public void Load(Bry_bfr bfr, byte[] src) {Load(bfr, src, 0, src.length);} public void Load(Bry_bfr bfr, byte[] src, int bgn, int end) { for (int i = bgn; i < end; i++) { diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser_tst.java b/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser_tst.java index d07c71a57..c09e4a804 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser_tst.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_csv_parser_tst.java @@ -31,11 +31,11 @@ class Xol_csv_parser_fxt { public void Clear() {} public void Tst_save(String raw, String expd) { parser.Save(tmp_bfr, Bry_.new_utf8_(raw)); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } public void Tst_load(String expd, String raw_str) { byte[] raw = Bry_.new_utf8_(raw_str); parser.Load(tmp_bfr, raw, 0, raw.length); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr.java b/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr.java deleted file mode 100644 index e03d1825e..000000000 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr.java +++ /dev/null @@ -1,205 +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; import gplx.*; -import gplx.xowa.langs.msgs.*; -public class Xol_fragment_mgr implements GfoInvkAble { - public Xol_fragment_mgr(Xol_lang lang) {this.lang = lang;} private Xol_lang lang; - public byte[] Html_js_wikidata() {if (html_js_wikidata == null) html_js_wikidata = Html_js_wikidata_init(); return html_js_wikidata;} private byte[] html_js_wikidata; - private byte[] Html_js_wikidata_init() { - Xow_wiki wdata_wiki = lang.App().Wiki_mgr().Wdata_mgr().Wdata_wiki(); - if (wdata_wiki != null) wdata_wiki.Init_assert(); - Bry_bfr bfr = lang.App().Utl_bry_bfr_mkr().Get_b512(); - html_js_wikidata_fmtr.Bld_bfr_many(bfr - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_languages) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_toc) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_labels) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_aliasesHead) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_descriptions) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_claims) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_json) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_language) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_wiki) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_label) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_aliases) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_description) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_link) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_property) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_value) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_references) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_qualifiers) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_symbol_comma_separator) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_symbol_word_separator) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_symbol_parentheses) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_jan) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_feb) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_mar) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_apr) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_may) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_jun) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_jul) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_aug) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_sep) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_oct) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_nov) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_dte_month_abrv_dec) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_duration_ago) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_novalue) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_somevalue) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wiki) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wiktionary) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikisource) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikivoyage) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikiquote) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikibooks) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikiversity) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_wikinews) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_links_special) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_plus) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_minus) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_plusminus) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_degree) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_minute) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_second) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_north) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_south) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_west) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_east) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_meters) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_julian) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_decade) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_century) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_millenium) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e4) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e5) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e6) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e7) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e8) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_years1e9) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_bc) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_inTime) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_wikibase_diffview_rank) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_preferred) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_normal) - , Html_js_wikidata_val(wdata_wiki, Xol_msg_itm_.Id_xowa_wikidata_deprecated) - , lang.App().Fsys_mgr().Root_dir().To_http_file_str() - ); - return bfr.Mkr_rls().XtoAryAndClear(); - } - private byte[] Html_js_wikidata_val(Xow_wiki wdata_wiki, int id) { - Xol_msg_itm msg = lang.Msg_mgr().Itm_by_id_or_null(id); - byte[] rv = wdata_wiki == null ? msg.Val() : Xol_msg_mgr_.Get_msg_val(wdata_wiki, lang, msg.Key(), Bry_.Ary_empty); - if (Bry_finder.Find_fwd(rv, Byte_ascii.Apos) != Bry_.NotFound) - rv = Bry_.Replace(rv, Bry_find, Bry_repl); - return rv; - } private static final byte[] Bry_find = new byte[] {Byte_ascii.Apos}, Bry_repl = new byte[] {Byte_ascii.Backslash, Byte_ascii.Apos}; - private Bry_fmtr html_js_wikidata_fmtr = Bry_fmtr.new_(String_.Concat_lines_nl - ( " " -// , " " - ) - , "languages", "toc", "labels", "aliasesHead", "descriptions", "links", "claims", "json", "language", "wiki", "label", "aliases", "description", "link", "property", "value", "references", "qualifiers" - , "comma_separator", "word_separator", "parentheses", "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec", "ago", "novalue", "somevalue" - , "links_wiki", "links_wiktionary", "links_wikisource", "links_wikivoyage", "links_wikiquote", "links_wikibooks", "links_wikiversity", "links_wikinews", "links_special" - , "plus", "minus", "plusminus", "degree", "minute", "second", "north", "south", "west", "east", "meters", "julian" - , "decade", "century", "millenium", "years1e4", "years1e5", "years1e6", "years1e7", "years1e8", "years1e9", "bc", "inTime" - , "rank", "preferred", "normal", "deprecated" - , "app_root_dir" - ); - public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_html_js_wikidata_fmt_)) html_js_wikidata_fmtr.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_html_js_wikidata)) return this.Html_js_wikidata(); - else return GfoInvkAble_.Rv_unhandled; - return this; - } - public static final String Invk_html_js_wikidata_fmt_ = "html_js_wikidata_fmt_", Invk_html_js_wikidata = "html_js_wikidata"; -} diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr_tst.java b/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr_tst.java deleted file mode 100644 index d0dda1bc1..000000000 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_fragment_mgr_tst.java +++ /dev/null @@ -1,117 +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; import gplx.*; -import org.junit.*; -public class Xol_fragment_mgr_tst { - private Xol_fragment_mgr_fxt fxt = new Xol_fragment_mgr_fxt(); - @Before public void init() {fxt.Clear();} - @Test public void Html_wikidata() { - fxt.Test_fragment(Xol_fragment_mgr.Invk_html_js_wikidata, String_.Concat_lines_nl - ( " " -// , " " - )); - } -} -class Xol_fragment_mgr_fxt { - public void Clear() { - if (lang == null) { - Xoa_app app = Xoa_app_fxt.app_(); - lang = app.User().Lang(); -// wiki = Xoa_app_fxt.wiki_tst_(app); - } - } private Xol_lang lang; - public void Test_fragment(String key, String expd) { - byte[] actl = (byte[])GfoInvkAble_.InvkCmd(lang.Fragment_mgr(), key); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); - } -} \ No newline at end of file diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_kwd_parse_data.java b/400_xowa/src_140_lang/gplx/xowa/Xol_kwd_parse_data.java index 2178b8a01..3e80700d3 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_kwd_parse_data.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_kwd_parse_data.java @@ -73,7 +73,7 @@ public class Xol_kwd_parse_data { break; } } - return dirty ? tmp.XtoAryAndClear() : raw; + return dirty ? tmp.Xto_bry_and_clear() : raw; } public static final byte Strip_none = 0, Strip_bgn = 1, Strip_end = 2; } diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_lang.java b/400_xowa/src_140_lang/gplx/xowa/Xol_lang.java index f1fc9060a..40b422828 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_lang.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_lang.java @@ -28,7 +28,6 @@ public class Xol_lang implements GfoInvkAble { ns_names = new Xol_ns_grp(this); ns_aliases = new Xol_ns_grp(this); keyword_mgr = new Xol_kwd_mgr(this); message_mgr = new Xol_msg_mgr(this, true); - fragment_mgr = new Xol_fragment_mgr(this); specials_mgr = new Xol_specials_mgr(this); case_mgr = Env_.Mode_testing() ? Xol_case_mgr_.Ascii() : Xol_case_mgr_.Utf8(); // NOTE: if test load ascii b/c utf8 is large; NOTE: placed here b/c tests do not call load; DATE:2014-07-04 if (lang_id != Xol_lang_itm_.Id_en) fallback_bry_ary = Fallback_bry_ary__en; // NOTE: do not set fallback_ary for en to en, else recursive loop @@ -66,7 +65,6 @@ public class Xol_lang implements GfoInvkAble { public byte[][] Fallback_bry_ary() {return fallback_bry_ary;} private byte[][] fallback_bry_ary = Bry_.Ary_empty; public Xol_vnt_mgr Vnt_mgr() {return vnt_mgr;} private Xol_vnt_mgr vnt_mgr; public Xol_cnv_mgr Cnv_mgr() {return cnv_mgr;} private Xol_cnv_mgr cnv_mgr; - public Xol_fragment_mgr Fragment_mgr() {return fragment_mgr;} private Xol_fragment_mgr fragment_mgr; public Xol_num_mgr Num_mgr() {return num_mgr;} private Xol_num_mgr num_mgr; public Xol_grammar Grammar() {return grammar;} private Xol_grammar grammar; public Xol_plural Plural() {return plural;} private Xol_plural plural; diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl.java b/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl.java index 084b808da..fd8d24e1f 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl.java @@ -44,7 +44,7 @@ public class Xol_lang_srl { if (last) break; ++pos; } - return (Xow_ns[])rv.XtoAry(Xow_ns.class); + return (Xow_ns[])rv.Xto_ary(Xow_ns.class); } private static final String GRP_KEY = "xowa.lang.srl"; public static void Load_keywords(Xol_kwd_mgr keyword_mgr, byte[] src) { int src_len = src.length, pos = 0, fld_bgn = 0, fld_idx = 0; @@ -81,7 +81,7 @@ public class Xol_lang_srl { if (cur_words.Count() > 0) { // guard against blank line wiping out entries; EX: "toc|0|toc1\n\n"; 2nd \n will get last grp and make 0 entries int cur_id = Xol_kwd_grp_.Id_by_bry(cur_key); if (cur_id == -1) throw Err_mgr._.fmt_(GRP_KEY, "invalid_keyword", "key does not have id: ~{0}", cur_id); Xol_kwd_grp grp = keyword_mgr.Get_or_new(cur_id); - grp.Srl_load(cur_cs, (byte[][])cur_words.XtoAry(byte[].class)); + grp.Srl_load(cur_cs, (byte[][])cur_words.Xto_ary(byte[].class)); } fld_bgn = pos + 1; fld_idx = 0; @@ -93,7 +93,7 @@ public class Xol_lang_srl { if (last) break; ++pos; } -// return (Xol_kwd_grp[])rv.XtoAry(typeof(Xol_kwd_grp)); +// return (Xol_kwd_grp[])rv.Xto_ary(typeof(Xol_kwd_grp)); } public static void Load_messages(Xol_msg_mgr msg_mgr, byte[] src) { int src_len = src.length, pos = 0, fld_bgn = 0; diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl_tst.java b/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl_tst.java index 77418d2e7..c50ceaafc 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl_tst.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_lang_srl_tst.java @@ -236,23 +236,23 @@ class Xol_lang_srl_fxt { } public void Run_save_ns_grp(Xol_ns_grp grp, String invk, String raw) { Xol_lang_srl.Save_ns_grps(bldr, grp, invk); - Tfds.Eq_str_lines("." + raw, bldr.Bfr().XtoStrAndClear()); + Tfds.Eq_str_lines("." + raw, bldr.Bfr().Xto_str_and_clear()); } public void Run_save_kwd_mgr(Xol_kwd_mgr kwd_mgr, String invk, String raw) { Xol_lang_srl.Save_keywords(bldr, kwd_mgr); - Tfds.Eq_str_lines("." + raw, bldr.Bfr().XtoStrAndClear()); + Tfds.Eq_str_lines("." + raw, bldr.Bfr().Xto_str_and_clear()); } public void Run_save_msg_mgr(Xol_msg_mgr msg_mgr, String invk, String raw) { Xol_lang_srl.Save_messages(bldr, msg_mgr, true); - Tfds.Eq_str_lines("." + raw, bldr.Bfr().XtoStrAndClear()); + Tfds.Eq_str_lines("." + raw, bldr.Bfr().Xto_str_and_clear()); } public void Run_save_num_mgr(Xol_num_mgr num_mgr, String raw) { Xol_lang_srl.Save_num_mgr(bldr, num_mgr); - Tfds.Eq_str_lines(raw, bldr.Bfr().XtoStrAndClear()); + Tfds.Eq_str_lines(raw, bldr.Bfr().Xto_str_and_clear()); } public void Run_save_specials_mgr(Xol_specials_mgr specials_mgr, String invk, String raw) { Xol_lang_srl.Save_specials(bldr, specials_mgr); - Tfds.Eq_str_lines("." + raw, bldr.Bfr().XtoStrAndClear()); + Tfds.Eq_str_lines("." + raw, bldr.Bfr().Xto_str_and_clear()); } public void Tst_num_fmt(String raw, String expd) {Tfds.Eq(expd, String_.new_utf8_(lang.Num_mgr().Format_num(Bry_.new_utf8_(raw))));} public void Tst_keywords(Xol_kwd_mgr kwd_mgr, Xol_kwd_grp... ary) { @@ -275,7 +275,7 @@ class Xol_lang_srl_fxt { sb.Add(itm.Aliases()[j]).Add_char_nl(); } } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } private Xol_specials_itm[] Xto_ary(Xol_specials_mgr specials_mgr) { int len = specials_mgr.Count(); @@ -290,7 +290,7 @@ class Xol_lang_srl_fxt { Xow_ns ns = ary[i]; sb.Add(ns.Id()).Add("|").Add(ns.Name_str()).Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } Xow_ns[] Xto_ary(Xol_ns_grp ary) { int len = ary.Len(); @@ -307,7 +307,7 @@ class Xol_lang_srl_fxt { if (kwd_grp == null) continue; rv.Add(kwd_grp); } - return (Xol_kwd_grp[])rv.XtoAry(Xol_kwd_grp.class); + return (Xol_kwd_grp[])rv.Xto_ary(Xol_kwd_grp.class); } String Xto_str(Xol_kwd_grp[] ary) { int len = ary.length; @@ -321,7 +321,7 @@ class Xol_lang_srl_fxt { } sb.Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } Xol_msg_itm[] Xto_ary(Xol_msg_mgr msg_mgr) { int len = msg_mgr.Itms_max(); @@ -331,7 +331,7 @@ class Xol_lang_srl_fxt { if (itm == null || !itm.Dirty()) continue; rv.Add(itm); } - return (Xol_msg_itm[])rv.XtoAry(Xol_msg_itm.class); + return (Xol_msg_itm[])rv.Xto_ary(Xol_msg_itm.class); } String Xto_str(Xol_msg_itm[] ary) { int len = ary.length; @@ -339,7 +339,7 @@ class Xol_lang_srl_fxt { Xol_msg_itm itm = ary[i]; sb.Add(itm.Key()).Add("|").Add(itm.Val()).Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } private static String_bldr sb = String_bldr_.new_(); } diff --git a/400_xowa/src_140_lang/gplx/xowa/Xol_msg_itm.java b/400_xowa/src_140_lang/gplx/xowa/Xol_msg_itm.java index 0a6da28fe..a5e316e6b 100644 --- a/400_xowa/src_140_lang/gplx/xowa/Xol_msg_itm.java +++ b/400_xowa/src_140_lang/gplx/xowa/Xol_msg_itm.java @@ -32,12 +32,12 @@ public class Xol_msg_itm { public byte[] Fmt(Bry_bfr bfr, Object... args) { tmp_fmtr.Fmt_(val); tmp_fmtr.Bld_bfr_many(bfr, args); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } static Bry_fmtr tmp_fmtr = Bry_fmtr.tmp_(); public byte[] Fmt_tmp(Bry_bfr bfr, byte[] tmp_val, Object... args) { tmp_fmtr.Fmt_(tmp_val); tmp_fmtr.Bld_bfr_many(bfr, args); - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public static final byte Src_null = 0, Src_lang = 1, Src_wiki = 2, Src_missing = 3; } diff --git a/400_xowa/src_160_file/gplx/xowa/Xof_repo_itm.java b/400_xowa/src_160_file/gplx/xowa/Xof_repo_itm.java index b6fe0ddd7..d59f00c0e 100644 --- a/400_xowa/src_160_file/gplx/xowa/Xof_repo_itm.java +++ b/400_xowa/src_160_file/gplx/xowa/Xof_repo_itm.java @@ -61,7 +61,7 @@ public class Xof_repo_itm implements GfoInvkAble { if (o == null) wnt_tmp_bfr.Add_byte(b); // regular char; add orig byte else wnt_tmp_bfr.Add((byte[])o); // invalid char; add swap byte(s) } - return wnt_tmp_bfr.XtoAryAndClear(); + return wnt_tmp_bfr.Xto_bry_and_clear(); } private static final Bry_bfr wnt_tmp_bfr = Bry_bfr.reset_(255); private static final Btrie_slim_mgr wnt_trie = trie_make(); public static byte[] Ttl_shorten_ttl(int ttl_max, byte[] ttl, byte[] md5, Xof_ext ext) { byte[] rv = ttl; @@ -72,7 +72,7 @@ public class Xof_repo_itm implements GfoInvkAble { wnt_tmp_bfr.Add(md5); // add md5; EX: "abcdefghijklmnopqrstuvwxyz0123456" wnt_tmp_bfr.Add_byte(Byte_ascii.Dot); // add dot; EX: "." wnt_tmp_bfr.Add(ext.Ext()); // add ext; EX: ".png" - rv = wnt_tmp_bfr.XtoAryAndClear(); + rv = wnt_tmp_bfr.Xto_bry_and_clear(); } return rv; } @@ -85,9 +85,9 @@ public class Xof_repo_itm implements GfoInvkAble { if (o == null) tmp_bfr.Add_byte(b); else tmp_bfr.Add((byte[])o); } - byte[] rv = tmp_bfr.XtoAryAndReset(300); + byte[] rv = tmp_bfr.Xto_bry_and_clear(); return rv; - } private Bry_bfr tmp_bfr = Bry_bfr.new_(); Btrie_slim_mgr trie = trie_make(); + } private Bry_bfr tmp_bfr = Bry_bfr.reset_(300); Btrie_slim_mgr trie = trie_make(); private static Btrie_slim_mgr trie_make() { Btrie_slim_mgr rv = Btrie_slim_mgr.cs_(); byte[] invalid = Op_sys.Wnt.Fsys_invalid_chars(); @@ -107,7 +107,7 @@ public class Xof_repo_itm implements GfoInvkAble { tmp_bfr.Add(md5); // add md5; EX: "abcdefghijklmnopqrstuvwxyz0123456" tmp_bfr.Add_byte(Byte_ascii.Dot); tmp_bfr.Add(ext_bry); - rv = tmp_bfr.XtoAryAndReset(300); + rv = tmp_bfr.Xto_bry_and_clear(); } return rv; } diff --git a/400_xowa/src_160_file/gplx/xowa/Xofo_file.java b/400_xowa/src_160_file/gplx/xowa/Xofo_file.java index 1fcf5c403..1593c8043 100644 --- a/400_xowa/src_160_file/gplx/xowa/Xofo_file.java +++ b/400_xowa/src_160_file/gplx/xowa/Xofo_file.java @@ -26,10 +26,10 @@ class Xofo_file { public int Bits() {return bits;} private int bits; public int Repo_id() {return repo_id;} public Xofo_file Repo_id_(int v) {this.repo_id = v; return this;} private int repo_id = -1; public byte[] Status_msg() {return status_msg;} public Xofo_file Status_msg_(byte[] v) {status_msg = v; return this;} private byte[] status_msg = Bry_.Empty; - public int[] Thumbs() {return (int[])thumbs.XtoAry(int.class);} private OrderedHash thumbs = OrderedHash_.new_(); + public int[] Thumbs() {return (int[])thumbs.Xto_ary(int.class);} private OrderedHash thumbs = OrderedHash_.new_(); public Xofo_lnki[] Links() {return lnkis;} private Xofo_lnki[] lnkis = Xofo_lnki.Ary_empty; int links_len; public void Links_(ListAdp list) { - lnkis = (Xofo_lnki[])list.XtoAry(Xofo_lnki.class); + lnkis = (Xofo_lnki[])list.Xto_ary(Xofo_lnki.class); links_len = lnkis.length; list.Clear(); } diff --git a/400_xowa/src_161_meta/gplx/xowa/Xof_meta_fil.java b/400_xowa/src_161_meta/gplx/xowa/Xof_meta_fil.java index 299f5b381..1d974c331 100644 --- a/400_xowa/src_161_meta/gplx/xowa/Xof_meta_fil.java +++ b/400_xowa/src_161_meta/gplx/xowa/Xof_meta_fil.java @@ -55,6 +55,6 @@ public class Xof_meta_fil { for (int i = 0; i < depth; i++) Bld_url_bfr.Add_byte(md5[i]); Bld_url_bfr.Add(Bry_url_ext); - return Io_url_.new_fil_(Bld_url_bfr.XtoStrAndClear()); + return Io_url_.new_fil_(Bld_url_bfr.Xto_str_and_clear()); } static final byte[] Bry_url_ext = Bry_.new_ascii_(".csv"); static Bry_bfr Bld_url_bfr = Bry_bfr.new_(260); // 260 is max path of url } diff --git a/400_xowa/src_161_meta/gplx/xowa/Xof_meta_thumb_parser_tst.java b/400_xowa/src_161_meta/gplx/xowa/Xof_meta_thumb_parser_tst.java index d7a23d2d5..d6d90069c 100644 --- a/400_xowa/src_161_meta/gplx/xowa/Xof_meta_thumb_parser_tst.java +++ b/400_xowa/src_161_meta/gplx/xowa/Xof_meta_thumb_parser_tst.java @@ -42,7 +42,7 @@ public class Xof_meta_thumb_parser_tst { } sb.Add_char_nl(); } - return sb.XtoStrAndClear(); + return sb.Xto_str_and_clear(); } String_bldr sb = String_bldr_.new_(); // Xof_meta_img_chkr img_(int w, int h, params int[] seeks) {return new Xof_meta_img_chkr().Width_(w).Height_(h).Seeks_(seeks);} Xof_meta_thumb itm_y_(int w, int h, int... seeks) {return new Xof_meta_thumb(Xof_meta_itm.Exists_y, w, h, seeks);} diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_img_wkr_api_size_base_wmf.java b/400_xowa/src_162_xfer/gplx/xowa/Xof_img_wkr_api_size_base_wmf.java index 6cc78ad40..9de27bb9c 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_img_wkr_api_size_base_wmf.java +++ b/400_xowa/src_162_xfer/gplx/xowa/Xof_img_wkr_api_size_base_wmf.java @@ -69,7 +69,7 @@ public class Xof_img_wkr_api_size_base_wmf extends Xof_img_wkr_api_size_base { bfr.Add(Bry_width).Add_int_variable(width); // "&iiurlwidth=800" if (height > 0 && width > 0) // NOTE: height cannot be used alone; width must also exist; "iiurlheight cannot be used without iiurlwidth" bfr.Add(Bry_height).Add_int_variable(height); // "&iiurlheight=600" - return bfr.XtoStrAndClear(); + return bfr.Xto_str_and_clear(); } private static Url_encoder encoder = Url_encoder.new_http_url_().Itms_raw_diff(Byte_ascii.Space, Byte_ascii.Underline); Io_url trg = Io_url_.mem_fil_("mem/temp/api.txt"); diff --git a/400_xowa/src_200_bldr/gplx/xowa/Xob_stat_mgr.java b/400_xowa/src_200_bldr/gplx/xowa/Xob_stat_mgr.java index 57fb8d75e..674a85f24 100644 --- a/400_xowa/src_200_bldr/gplx/xowa/Xob_stat_mgr.java +++ b/400_xowa/src_200_bldr/gplx/xowa/Xob_stat_mgr.java @@ -61,7 +61,7 @@ public class Xob_stat_mgr { nsRegy.AddKeyVal(itm.Ns()); } } - return (String[])nsRegy.XtoAry(String.class); + return (String[])nsRegy.Xto_ary(String.class); } OrderedHash regy = OrderedHash_.new_(); } diff --git a/400_xowa/src_200_bldr/gplx/xowa/Xob_xdat_file.java b/400_xowa/src_200_bldr/gplx/xowa/Xob_xdat_file.java index b4ef797df..43f3ffd80 100644 --- a/400_xowa/src_200_bldr/gplx/xowa/Xob_xdat_file.java +++ b/400_xowa/src_200_bldr/gplx/xowa/Xob_xdat_file.java @@ -35,7 +35,7 @@ public class Xob_xdat_file { bfr.Add_mid(src, itm_0_bgn, itm.Itm_bgn()); bfr.Add(v); bfr.Add_mid(src, itm.Itm_end() + 1, src.length); // NOTE: + 1 to skip nl - src = bfr.XtoAryAndClear(); + src = bfr.Xto_bry_and_clear(); return this; } byte[][] Src_extract_brys(int ary_len) { @@ -63,7 +63,7 @@ public class Xob_xdat_file { itm_bgn = itm_end; bfr.Add(bry); } - src = bfr.XtoAryAndClear(); + src = bfr.Xto_bry_and_clear(); } public void Insert(Bry_bfr bfr, byte[] itm) { int ary_len = itm_ends.length; @@ -97,7 +97,7 @@ public class Xob_xdat_file { } if (insert) bfr.Add(new_itm); itm_0_bgn = (ary_len * Len_idx_itm) + Len_itm_dlm; - src = bfr.XtoAryAndClear(); + src = bfr.Xto_bry_and_clear(); } static final byte Dlm_hdr_fld = Byte_ascii.Pipe, Dlm_row = Byte_ascii.NewLine; public void Save(Io_url url) { Bry_bfr bfr = Bry_bfr.new_(); @@ -192,7 +192,7 @@ public class Xob_xdat_file { bfr.Add(row); bfr.Add(dlm); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } } class Xob_xdat_file_ { diff --git a/400_xowa/src_200_bldr/gplx/xowa/Xobd_rdr.java b/400_xowa/src_200_bldr/gplx/xowa/Xobd_rdr.java index 3e34d575b..303874a72 100644 --- a/400_xowa/src_200_bldr/gplx/xowa/Xobd_rdr.java +++ b/400_xowa/src_200_bldr/gplx/xowa/Xobd_rdr.java @@ -21,14 +21,14 @@ public class Xobd_rdr implements Xob_cmd { public Xobd_rdr(Xob_bldr bldr, Xow_wiki wiki) {this.bldr = bldr; this.wiki = wiki;} private Xob_bldr bldr; Xow_wiki wiki; public String Cmd_key() {return KEY;} public static final String KEY = "dump_mgr"; public void Cmd_ini(Xob_bldr bldr) { - Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.XtoAry(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length; + Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_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.XtoAry(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length; + Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_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; Xodb_page page = new Xodb_page(); Xow_ns_mgr ns_mgr = wiki.Ns_mgr(); @@ -73,7 +73,7 @@ public class Xobd_rdr implements Xob_cmd { wkr_ary[i].Wkr_end(); } public void Cmd_print() { - Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.XtoAry(Xobd_wkr.class); int wkr_ary_len = wkr_ary.length; + Xobd_wkr[] wkr_ary = (Xobd_wkr[])wkrs.Xto_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(); } diff --git a/400_xowa/src_210_bldr_core/gplx/xowa/Gfs_bldr.java b/400_xowa/src_210_bldr_core/gplx/xowa/Gfs_bldr.java index c76fca797..97fa93c50 100644 --- a/400_xowa/src_210_bldr_core/gplx/xowa/Gfs_bldr.java +++ b/400_xowa/src_210_bldr_core/gplx/xowa/Gfs_bldr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa; import gplx.*; public class Gfs_bldr { public Bry_bfr Bfr() {return bfr;} private Bry_bfr bfr = Bry_bfr.new_(); - public byte[] Xto_bry() {return bfr.XtoAryAndClear();} + public byte[] Xto_bry() {return bfr.Xto_bry_and_clear();} public Gfs_bldr Add_byte(byte b) {bfr.Add_byte(b); return this;} public Gfs_bldr Add_blob(byte[] bry) {bfr.Add(bry); return this;} public Gfs_bldr Add_proc_init_many(String... ary) {return Add_proc_core_many(false, ary);} diff --git a/400_xowa/src_210_bldr_core/gplx/xowa/Sql_file_parser.java b/400_xowa/src_210_bldr_core/gplx/xowa/Sql_file_parser.java index 729244fb6..778ffd99c 100644 --- a/400_xowa/src_210_bldr_core/gplx/xowa/Sql_file_parser.java +++ b/400_xowa/src_210_bldr_core/gplx/xowa/Sql_file_parser.java @@ -132,7 +132,7 @@ public class Sql_file_parser { default: throw Err_.unhandled(mode); } } - Io_mgr._.AppendFilByt(trg_fil_gen.Nxt_url(), fil_bfr.XtoAryAndClear()); + Io_mgr._.AppendFilByt(trg_fil_gen.Nxt_url(), fil_bfr.Xto_bry_and_clear()); } finally {rdr.Rls();} } @@ -141,7 +141,7 @@ public class Sql_file_parser { if (fil_bfr.Len() > trg_len) { Io_url trg_fil = trg_fil_gen.Nxt_url(); usr_dlg.Prog_one(GRP_KEY, "make", "making ~{0}", trg_fil.NameAndExt()); - Io_mgr._.AppendFilByt(trg_fil, fil_bfr.XtoAryAndClear()); + Io_mgr._.AppendFilByt(trg_fil, fil_bfr.Xto_bry_and_clear()); } } private void Commit_fld(int fld_idx, Bry_bfr val_bfr, Bry_bfr fil_bfr, Sql_file_parser_data data) { diff --git a/400_xowa/src_210_bldr_core/gplx/xowa/Xos_url_gen.java b/400_xowa/src_210_bldr_core/gplx/xowa/Xos_url_gen.java index b4664105e..2a4e8f23a 100644 --- a/400_xowa/src_210_bldr_core/gplx/xowa/Xos_url_gen.java +++ b/400_xowa/src_210_bldr_core/gplx/xowa/Xos_url_gen.java @@ -42,7 +42,7 @@ public class Xos_url_gen implements Io_url_gen { } tmp_bfr.Add_int_fixed(idx, 10); tmp_bfr.Add(ext); - return Io_url_.new_fil_(tmp_bfr.XtoStrAndClear()); + return Io_url_.new_fil_(tmp_bfr.Xto_str_and_clear()); } private static Bry_bfr tmp_bfr = Bry_bfr.reset_(256); } diff --git a/400_xowa/src_240_install/gplx/xowa/Xoa_css_extractor.java b/400_xowa/src_240_install/gplx/xowa/Xoa_css_extractor.java index 9f7a86d5f..c5de86323 100644 --- a/400_xowa/src_240_install/gplx/xowa/Xoa_css_extractor.java +++ b/400_xowa/src_240_install/gplx/xowa/Xoa_css_extractor.java @@ -117,7 +117,7 @@ public class Xoa_css_extractor { Bry_bfr bfr = Bry_bfr.new_(); Css_wiki_generate_section(bfr, Ttl_common_css); Css_wiki_generate_section(bfr, Ttl_vector_css); - byte[] bry = bfr.XtoAryAndClear(); + byte[] bry = bfr.Xto_bry_and_clear(); bry = Bry_.Replace(bry, gplx.xowa.bldrs.xmls.Xob_xml_parser_.Bry_tab_ent, gplx.xowa.bldrs.xmls.Xob_xml_parser_.Bry_tab); Io_mgr._.SaveFilBry(trg_fil, bry); return true; @@ -228,7 +228,7 @@ public class Xoa_css_extractor { tmp_bfr.Add(Xoa_css_img_downloader.Bry_comment_bgn).Add_str(css_url).Add(Xoa_css_img_downloader.Bry_comment_end).Add_byte_nl(); tmp_bfr.Add(css_bry).Add_byte_nl().Add_byte_nl(); } - return tmp_bfr.XtoAryAndClear(); + return tmp_bfr.Xto_bry_and_clear(); } public static final String Css_common_name = "xowa_common.css", Css_wiki_name = "xowa_wiki.css" , Css_common_name_ltr = "xowa_common_ltr.css", Css_common_name_rtl = "xowa_common_rtl.css"; diff --git a/400_xowa/src_240_install/gplx/xowa/Xoa_css_img_downloader.java b/400_xowa/src_240_install/gplx/xowa/Xoa_css_img_downloader.java index 9aef87f24..dbd836c87 100644 --- a/400_xowa/src_240_install/gplx/xowa/Xoa_css_img_downloader.java +++ b/400_xowa/src_240_install/gplx/xowa/Xoa_css_img_downloader.java @@ -93,7 +93,7 @@ public class Xoa_css_img_downloader { if (!quoted) bfr.Add_byte(Byte_ascii.Quote); prv_pos = end_pos; } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } catch (Exception e) { usr_dlg.Warn_many("", "", "failed to convert local_urls: ~{0} ~{1}", String_.new_utf8_(rel_url_prefix), Err_.Message_gplx(e)); diff --git a/400_xowa/src_240_install/gplx/xowa/Xoi_cmd_wiki_tst.java b/400_xowa/src_240_install/gplx/xowa/Xoi_cmd_wiki_tst.java index e167b092d..c239e0be4 100644 --- a/400_xowa/src_240_install/gplx/xowa/Xoi_cmd_wiki_tst.java +++ b/400_xowa/src_240_install/gplx/xowa/Xoi_cmd_wiki_tst.java @@ -63,7 +63,7 @@ public class Xoi_cmd_wiki_tst { bfr.Add_str(dump_file.Dump_date()); bfr.Add_byte_nl(); } - Io_mgr._.SaveFilStr("C:\\temp.txt", bfr.XtoStr()); + Io_mgr._.SaveFilStr("C:\\temp.txt", bfr.Xto_str()); } public void Bld_cfg_files(String... ary) { Bry_bfr bfr = Bry_bfr.reset_(255); @@ -83,7 +83,7 @@ public class Xoi_cmd_wiki_tst { } } bfr.Add_str("app.bldr.wiki_cfg_bldr.run;").Add_byte_nl(); - Io_mgr._.SaveFilStr("C:\\xowa_build_cfg.gfs", bfr.XtoStr()); + Io_mgr._.SaveFilStr("C:\\xowa_build_cfg.gfs", bfr.Xto_str()); } public static String[] Wikis = new String[] { "simple.wikipedia.org" diff --git a/400_xowa/src_300_html/gplx/xowa/Xoh_dom_.java b/400_xowa/src_300_html/gplx/xowa/Xoh_dom_.java index 63fe0ce38..3ab33179f 100644 --- a/400_xowa/src_300_html/gplx/xowa/Xoh_dom_.java +++ b/400_xowa/src_300_html/gplx/xowa/Xoh_dom_.java @@ -67,10 +67,10 @@ public class Xoh_dom_ { public static String Title_by_href(Url_encoder encoder, Bry_bfr bfr, byte[] href_dec, byte[] html_src) { int slash_pos = Bry_finder.Find_bwd(href_dec, Byte_ascii.Slash); encoder.Encode(bfr, href_dec, slash_pos + 1, href_dec.length); - byte[] name_enc = bfr.XtoAryAndClear(); + byte[] name_enc = bfr.Xto_bry_and_clear(); bfr.Add_mid(href_dec, 0, slash_pos + Int_.Const_dlm_len); // include trailing slash bfr.Add(name_enc); - byte[] href_enc = bfr.XtoAryAndClear(); + byte[] href_enc = bfr.Xto_bry_and_clear(); byte[] xowa_title = Xoh_dom_.Query_val_by_where(dom_find, html_src, Html_tag_.A_name_bry, Html_atr_.Href_bry, href_enc, gplx.xowa.html.Xoh_consts.Atr_xowa_title_bry, 0); return String_.new_utf8_(xowa_title); } static final Xoh_find dom_find = new Xoh_find(); diff --git a/400_xowa/src_300_html/gplx/xowa/Xoh_file_main_tst.java b/400_xowa/src_300_html/gplx/xowa/Xoh_file_main_tst.java index cf47a5f80..3c08d51ea 100644 --- a/400_xowa/src_300_html/gplx/xowa/Xoh_file_main_tst.java +++ b/400_xowa/src_300_html/gplx/xowa/Xoh_file_main_tst.java @@ -108,7 +108,7 @@ class Xoh_fil_main_fxt { file.Init_for_test__img(html_w, html_h, Bry_.new_utf8_(html_src), Bry_.new_utf8_(html_orig_src)); file.Set__ttl(ttl_bry, Bry_.Empty); wkr.Bld_html(wiki, bfr, file, ttl, opt, Bry_.XtoStrBytesByInt(html_file_size, 0), play_btn_icon, 0); // TEST: must pass in elem_val b/c test only uses 2nd Bld_html while app uses 1st - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } static final byte[] play_btn_icon = Bry_.new_ascii_("file:///mem/xowa/user/test_user/app/img/file/play.png"); public static final String Hdr = String_.Concat_lines_nl_skip_last ( "
      " diff --git a/400_xowa/src_300_html/gplx/xowa/Xop_link_parser.java b/400_xowa/src_300_html/gplx/xowa/Xop_link_parser.java index 5d48ed15c..c9c340d2b 100644 --- a/400_xowa/src_300_html/gplx/xowa/Xop_link_parser.java +++ b/400_xowa/src_300_html/gplx/xowa/Xop_link_parser.java @@ -39,7 +39,7 @@ public class Xop_link_parser { else // regular url tmp_bfr.Add(raw); // dump everything } - raw = tmp_bfr.XtoAryAndClear(); + raw = tmp_bfr.Xto_bry_and_clear(); html_anchor_cls = Xow_html_mgr.Bry_anchor_class_blank; html_anchor_rel = Xow_html_mgr.Bry_anchor_rel_nofollow; break; @@ -51,7 +51,7 @@ public class Xop_link_parser { html_xowa_ttl = Bry_.Mid(raw, slash_pos + Int_.Const_dlm_len, raw.length); } else // next char is not slash; assume xfer_itm refers to ns; EX:File:A.png - raw = tmp_bfr.Add(Xoh_href_parser.Href_wiki_bry).Add(raw).XtoAryAndClear(); + raw = tmp_bfr.Add(Xoh_href_parser.Href_wiki_bry).Add(raw).Xto_bry_and_clear(); break; default: // is page only; EX: Abc if (Bry_.Len_eq_0(raw)) // NOTE: handle blank link; EX: [[File:Loudspeaker.svg|11px|link=|alt=play]] @@ -62,7 +62,7 @@ public class Xop_link_parser { tmp_bfr.Clear(); return null; } - raw = tmp_bfr.XtoAryAndClear(); + raw = tmp_bfr.Xto_bry_and_clear(); } break; } diff --git a/400_xowa/src_310_url/gplx/xowa/Xoa_url.java b/400_xowa/src_310_url/gplx/xowa/Xoa_url.java index ae5a4405a..b34d832fe 100644 --- a/400_xowa/src_310_url/gplx/xowa/Xoa_url.java +++ b/400_xowa/src_310_url/gplx/xowa/Xoa_url.java @@ -86,7 +86,7 @@ public class Xoa_url { bfr.Add_byte(Byte_ascii.Eq); bfr.Add(arg.Val_bry()); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } private int Page_bgn(int raw_len) { int wiki_pos = Bry_finder.Find_fwd(raw, Xoh_href_parser.Href_wiki_bry, 0, raw_len); // look for /wiki/ diff --git a/400_xowa/src_310_url/gplx/xowa/Xoa_url_arg_hash.java b/400_xowa/src_310_url/gplx/xowa/Xoa_url_arg_hash.java index 8daf0418b..121fd2f36 100644 --- a/400_xowa/src_310_url/gplx/xowa/Xoa_url_arg_hash.java +++ b/400_xowa/src_310_url/gplx/xowa/Xoa_url_arg_hash.java @@ -47,7 +47,7 @@ public class Xoa_url_arg_hash { Gfo_url_arg itm = Get_arg(key); if (itm == null) continue; bfr.Add_byte(Byte_ascii.Amp).Add(itm.Key_bry()).Add_byte(Byte_ascii.Eq).Add(itm.Val_bry()); } - return bfr.XtoAryAndClear(); + return bfr.Xto_bry_and_clear(); } public Xoa_url_arg_hash Load(Xoa_url url) { hash.Clear(); @@ -60,7 +60,7 @@ public class Xoa_url_arg_hash { return this; } public void Save(Xoa_url url) { - Gfo_url_arg[] ary = (Gfo_url_arg[])hash.XtoAry(Gfo_url_arg.class); + Gfo_url_arg[] ary = (Gfo_url_arg[])hash.Xto_ary(Gfo_url_arg.class); url.Args_(ary); } public static void Concat_bfr(Bry_bfr bfr, Url_encoder href_encoder, Gfo_url_arg[] ary) { diff --git a/400_xowa/src_310_url/gplx/xowa/Xoa_url_parser.java b/400_xowa/src_310_url/gplx/xowa/Xoa_url_parser.java index 8157f66dc..1ff6666a7 100644 --- a/400_xowa/src_310_url/gplx/xowa/Xoa_url_parser.java +++ b/400_xowa/src_310_url/gplx/xowa/Xoa_url_parser.java @@ -35,7 +35,7 @@ public class Xoa_url_parser { } if (url.Anchor_bry() != null) tmp_bfr.Add_byte(Byte_ascii.Hash).Add(url.Anchor_bry()); // add anchor; EX: "#B" - return tmp_bfr.XtoStrAndClear(); + return tmp_bfr.Xto_str_and_clear(); } public Xoa_url Parse(byte[] src) { Xoa_url rv = Xoa_url.blank_(); @@ -72,10 +72,10 @@ public class Xoa_url_parser { .Add(domain_bry).Add(Bry_dot_org); // add type + .org; EX: "wikipedia.org"; "wikimedia.org"; url.Segs_ary_(Xoa_url_parser.Bry_wiki_name_bry); // NOTE: add "wiki" as seg else will have "/site/commons.wikimedia.org/File:A" which will be invalid (needs to be "/site/commons.wikimedia.org/wiki/File:A") url.Lang_bry_(lang_bry); - url.Wiki_bry_(tmp_bfr.XtoAryAndClear()); + url.Wiki_bry_(tmp_bfr.Xto_bry_and_clear()); byte[][] segs = gfo_url.Segs(); byte[] page_bry = segs.length > 5 && Bry_.Eq(segs[2], Xof_url_bldr.Bry_thumb) ? segs[5] : gfo_url.Page(); - url.Page_bry_(tmp_bfr.Add(Bry_file).Add(page_bry).XtoAryAndClear()); + url.Page_bry_(tmp_bfr.Add(Bry_file).Add(page_bry).Xto_bry_and_clear()); url.Anchor_bry_(Bry_.Empty); } else { @@ -249,7 +249,7 @@ public class Xoa_url_parser { if (bfr.Len() > 0) bfr.Add_byte(Byte_ascii.Slash); bfr.Add(page); } - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } public static Xoa_url Parse_from_url_bar(Xoa_app app, Xow_wiki wiki, String s) { byte[] bry = Bry_.new_utf8_(s); diff --git a/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser.java b/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser.java index 72ebf1383..9eb2357e8 100644 --- a/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser.java +++ b/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser.java @@ -72,7 +72,7 @@ public class Xoh_href_parser { } } } - public byte[] Build_to_bry(Xow_wiki wiki, Xoa_ttl ttl) {Build_to_bfr(tmp_bfr, wiki, ttl, Bool_.N); return tmp_bfr.XtoAryAndClear();} + public byte[] Build_to_bry(Xow_wiki wiki, Xoa_ttl ttl) {Build_to_bfr(tmp_bfr, wiki, ttl, Bool_.N); return tmp_bfr.Xto_bry_and_clear();} public void Build_to_bfr(Bry_bfr bfr, Xow_wiki wiki, byte[] raw) {Build_to_bfr(bfr, wiki, Xoa_ttl.parse_(wiki, raw), Bool_.N);} public void Build_to_bfr(Bry_bfr bfr, Xow_wiki wiki, Xoa_ttl ttl) {Build_to_bfr(bfr, wiki, ttl, Bool_.N);} public void Build_to_bfr(Bry_bfr bfr, Xow_wiki wiki, Xoa_ttl ttl, boolean force_site) { diff --git a/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser_tst.java b/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser_tst.java index 7d3d8d8e7..7a3898348 100644 --- a/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser_tst.java +++ b/400_xowa/src_310_url/gplx/xowa/Xoh_href_parser_tst.java @@ -220,18 +220,18 @@ class Xoh_href_parser_fxt { if (expd_anch != null) Tfds.Eq(expd_anch, String_.new_utf8_(href.Anchor())); if (expd_full != null) { href.Print_to_bfr(tmp_bfr, true); - Tfds.Eq(expd_full, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd_full, tmp_bfr.Xto_str_and_clear()); } } public void Test_parse(String raw, String expd) { href_parser.Parse(href, raw, wiki, Page_1_ttl); href.Print_to_bfr(tmp_bfr, wiki.Gui_mgr().Cfg_browser().Link_hover_full()); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } public void Test_build(String raw, String expd) { Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(raw)); href_parser.Build_to_bfr(tmp_bfr, wiki, ttl); - Tfds.Eq(expd, tmp_bfr.XtoStrAndClear()); + Tfds.Eq(expd, tmp_bfr.Xto_str_and_clear()); } public void Test_parse_protocol(String raw, byte expd_tid) { href_parser.Parse(href, raw, wiki, Page_1_ttl); diff --git a/400_xowa/src_400_parser/gplx/xowa/Xoa_ttl.java b/400_xowa/src_400_parser/gplx/xowa/Xoa_ttl.java index 8019506e7..01e5ead06 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xoa_ttl.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xoa_ttl.java @@ -273,7 +273,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF. anchor_encoder_bfr = Bry_bfr.reset_(32); } anchor_encoder.Encode(anchor_encoder_bfr, src, cur, cur + 1); - b_ary = anchor_encoder_bfr.XtoAryAndClear(); + b_ary = anchor_encoder_bfr.Xto_bry_and_clear(); match_pos = cur + 1; } break; @@ -286,7 +286,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF. anchor_encoder_bfr = Bry_bfr.reset_(32); } anchor_encoder.Encode(anchor_encoder_bfr, src, cur, cur + 1); - b_ary = anchor_encoder_bfr.XtoAryAndClear(); + b_ary = anchor_encoder_bfr.Xto_bry_and_clear(); match_pos = cur + 1; } else { @@ -328,7 +328,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF. msg_log.Add_itm_none(Xop_ttl_log.Ttl_is_ns_only, src, bgn, end); return false; } - full_txt = bfr.XtoAryAndClear(); + full_txt = bfr.Xto_bry_and_clear(); if ( ns.Case_match() == Xow_ns_case_.Id_1st && wik_bgn == -1 ) { // do not check case if xwiki; EX: "fr:" would have a wik_bgn of 0 (and a wik_end of 3); "A" (and any non-xwiki ttl) would have a wik_bgn == -1 byte char_1st = full_txt[page_bgn]; @@ -392,7 +392,7 @@ class Xoa_url_encoder { // FUTURE: html_entities, etc: } } - return bb.XtoAryAndClear(); + return bb.Xto_bry_and_clear(); } private static final byte[] Bry_amp = Bry_.new_ascii_("%26"), Bry_eq = Bry_.new_ascii_("%3D") , Bry_plus = Bry_.new_ascii_("%2B"), Bry_apos = Bry_.new_ascii_("%27") diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_ctx.java b/400_xowa/src_400_parser/gplx/xowa/Xop_ctx.java index cd22f7974..63870bae1 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_ctx.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_ctx.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa; import gplx.*; import gplx.core.btries.*; import gplx.xowa.gui.*; import gplx.xowa.xtns.lst.*; import gplx.xowa.xtns.scribunto.*; import gplx.xowa.xtns.wdatas.*; -import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; +import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.html.modules.popups.keeplists.*; public class Xop_ctx { private Xop_ctx_wkr[] wkrs = new Xop_ctx_wkr[] {}; diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_fxt.java b/400_xowa/src_400_parser/gplx/xowa/Xop_fxt.java index 78b6b043d..21808ecf6 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_fxt.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_fxt.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.xowa.html.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; +import gplx.xowa.html.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.paras.*; public class Xop_fxt { public Xop_fxt() { Xoa_app app = Xoa_app_fxt.app_(); @@ -98,7 +98,7 @@ public class Xop_fxt { public Xop_tblw_th_tkn_chkr tkn_tblw_th_(int bgn, int end) {return (Xop_tblw_th_tkn_chkr)new Xop_tblw_th_tkn_chkr().Src_rng_(bgn, end);} public Xop_tblw_tr_tkn_chkr tkn_tblw_tr_(int bgn, int end) {return (Xop_tblw_tr_tkn_chkr)new Xop_tblw_tr_tkn_chkr().Src_rng_(bgn, end);} public Xop_hdr_tkn_chkr tkn_hdr_(int bgn, int end, int hdr_len) {return (Xop_hdr_tkn_chkr)new Xop_hdr_tkn_chkr().Hdr_len_(hdr_len).Src_rng_(bgn, end);} - @gplx.Internal protected Xop_xnde_tkn_chkr tkn_xnde_br_(int pos) {return tkn_xnde_(pos, pos).Xnde_tagId_(Xop_xnde_tag_.Tid_br);} + public Xop_xnde_tkn_chkr tkn_xnde_br_(int pos) {return tkn_xnde_(pos, pos).Xnde_tagId_(Xop_xnde_tag_.Tid_br);} public Xop_xnde_tkn_chkr tkn_xnde_() {return tkn_xnde_(String_.Pos_neg1, String_.Pos_neg1);} public Xop_xnde_tkn_chkr tkn_xnde_(int bgn, int end) {return (Xop_xnde_tkn_chkr)new Xop_xnde_tkn_chkr().Src_rng_(bgn, end);} public Xop_tkn_chkr_base tkn_curly_bgn_(int bgn) {return new Xop_tkn_chkr_base().TypeId_dynamic(Xop_tkn_itm_.Tid_tmpl_curly_bgn).Src_rng_(bgn, bgn + 2);} @@ -118,8 +118,8 @@ public class Xop_fxt { public Xop_list_tkn_chkr tkn_list_bgn_(int bgn, int end, byte listType) {return (Xop_list_tkn_chkr)new Xop_list_tkn_chkr().List_itmTyp_(listType).Src_rng_(bgn, end);} public Xop_list_tkn_chkr tkn_list_end_(int pos) {return (Xop_list_tkn_chkr)new Xop_list_tkn_chkr().Src_rng_(pos, pos);} public Xop_tkn_chkr_lnke tkn_lnke_(int bgn, int end) {return new Xop_tkn_chkr_lnke(bgn, end);} - @gplx.Internal protected Xop_lnki_tkn_chkr tkn_lnki_() {return tkn_lnki_(-1, -1);} - @gplx.Internal protected Xop_lnki_tkn_chkr tkn_lnki_(int bgn, int end) {return (Xop_lnki_tkn_chkr)new Xop_lnki_tkn_chkr().Src_rng_(bgn, end);} + public Xop_lnki_tkn_chkr tkn_lnki_() {return tkn_lnki_(-1, -1);} + public Xop_lnki_tkn_chkr tkn_lnki_(int bgn, int end) {return (Xop_lnki_tkn_chkr)new Xop_lnki_tkn_chkr().Src_rng_(bgn, end);} @gplx.Internal protected Xop_arg_itm_tkn_chkr tkn_arg_itm_(Xop_tkn_chkr_base... subs) {return (Xop_arg_itm_tkn_chkr)new Xop_arg_itm_tkn_chkr().Subs_(subs);} @gplx.Internal protected Xop_arg_nde_tkn_chkr tkn_arg_nde_() {return tkn_arg_nde_(String_.Pos_neg1, String_.Pos_neg1);} @gplx.Internal protected Xop_arg_nde_tkn_chkr tkn_arg_nde_(int bgn, int end) {return (Xop_arg_nde_tkn_chkr)new Xop_arg_nde_tkn_chkr().Src_rng_(bgn, end);} @@ -274,7 +274,7 @@ public class Xop_fxt { Xop_root_tkn root = Exec_parse_page_all_as_root(Bry_.new_utf8_(raw)); Bry_bfr actl_bfr = Bry_bfr.new_(); hdom_wtr.Write_all(actl_bfr, ctx, root.Root_src(), root); - return actl_bfr.XtoStrAndClear(); + return actl_bfr.Xto_str_and_clear(); } public String Exec_parse_page_wiki_as_str(String raw) { byte[] raw_bry = Bry_.new_utf8_(raw); @@ -282,7 +282,7 @@ public class Xop_fxt { parser.Parse_wtxt_to_wdom(root, ctx, tkn_mkr, raw_bry, Xop_parser_.Doc_bgn_bos); Bry_bfr actl_bfr = Bry_bfr.new_(); hdom_wtr.Write_all(actl_bfr, ctx, raw_bry, root); - return actl_bfr.XtoStrAndClear(); + return actl_bfr.Xto_str_and_clear(); } private void Parse_chk(byte[] raw_bry, Xop_root_tkn root, Tst_chkr[] expd_ary) { int subs_len = root.Subs_len(); @@ -380,7 +380,7 @@ public class Xop_fxt { this.Page().Html_data().Module_mgr().Init(app, wiki, this.Page()); this.Page().Html_data().Module_mgr().XferAry(bfr, 0); bfr.Mkr_rls(); - Tfds.Eq_str_lines(expd, bfr.XtoStrAndClear()); + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } private Tst_mgr tst_mgr = new Tst_mgr(); private Xop_tkn_mkr tkn_mkr; diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_lnki_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_lnki_tkn_chkr.java new file mode 100644 index 000000000..0a472035c --- /dev/null +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_lnki_tkn_chkr.java @@ -0,0 +1,59 @@ +/* +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; import gplx.*; +import gplx.xowa.files.*; +public class Xop_lnki_tkn_chkr extends Xop_tkn_chkr_base { + @Override public Class TypeOf() {return Xop_lnki_tkn.class;} + @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_lnki;} + public int Ns_id() {return nsId;} public Xop_lnki_tkn_chkr Ns_id_(int v) {nsId = v; return this;} private int nsId = Int_.MinValue; + public byte ImgType() {return imgType;} public Xop_lnki_tkn_chkr ImgType_(byte v) {imgType = v; return this;} private byte imgType = Byte_.MaxValue_127; + public int Width() {return width;} public Xop_lnki_tkn_chkr Width_(int v) {width = v; return this;} private int width = Int_.MinValue; + public int Height() {return height;} public Xop_lnki_tkn_chkr Height_(int v) {height = v; return this;} private int height = Int_.MinValue; + public byte HAlign() {return hAlign;} public Xop_lnki_tkn_chkr HAlign_(byte v) {hAlign = v; return this;} private byte hAlign = Byte_.MaxValue_127; + public byte VAlign() {return vAlign;} public Xop_lnki_tkn_chkr VAlign_(byte v) {vAlign = v; return this;} private byte vAlign = Byte_.MaxValue_127; + public byte Border() {return border;} public Xop_lnki_tkn_chkr Border_(byte v) {border = v; return this;} private byte border = Bool_.__byte; + public double Upright() {return upright;} public Xop_lnki_tkn_chkr Upright_(double v) {upright = v; return this;} double upright = Xop_lnki_tkn.Upright_null; + public int Thumbtime() {return thumbtime;} public Xop_lnki_tkn_chkr Thumbtime_(int v) {thumbtime = v; return this;} int thumbtime = Xof_doc_thumb.Null_as_int; + public int Page() {return page;} public Xop_lnki_tkn_chkr Page_(int v) {page = v; return this;} int page = Xof_doc_page.Null; + public int Tail_bgn() {return tail_bgn;} public Xop_lnki_tkn_chkr Tail_bgn_(int v) {tail_bgn = v; return this;} private int tail_bgn = String_.Pos_neg1; + public int Tail_end() {return tail_end;} public Xop_lnki_tkn_chkr Tail_end_(int v) {tail_end = v; return this;} private int tail_end = String_.Pos_neg1; + public Xop_tkn_chkr_base Trg_tkn() {return trg_tkn;} public Xop_lnki_tkn_chkr Trg_tkn_(Xop_tkn_chkr_base v) {trg_tkn = v; return this;} private Xop_tkn_chkr_base trg_tkn; + public Xop_tkn_chkr_base Caption_tkn() {return caption_tkn;} public Xop_lnki_tkn_chkr Caption_tkn_(Xop_tkn_chkr_base v) {caption_tkn = v; return this;} private Xop_tkn_chkr_base caption_tkn; + public Xop_tkn_chkr_base Alt_tkn() {return alt_tkn;} public Xop_lnki_tkn_chkr Alt_tkn_(Xop_tkn_chkr_base v) {alt_tkn = v; return this;} private Xop_tkn_chkr_base alt_tkn; + public Xop_tkn_chkr_base Link_tkn() {return link_tkn;} public Xop_lnki_tkn_chkr Link_tkn_(Xop_tkn_chkr_base v) {link_tkn = v; return this;} private Xop_tkn_chkr_base link_tkn; + @Override public int Chk_hook(Tst_mgr mgr, String path, Object actl_obj, int err) { + Xop_lnki_tkn actl = (Xop_lnki_tkn)actl_obj; + err += mgr.Tst_val(nsId == Int_.MinValue, path, "nsId", nsId, actl.Ns_id()); + err += mgr.Tst_val(imgType == Byte_.MaxValue_127, path, "imgType", imgType, actl.Lnki_type()); + err += mgr.Tst_val(width == Int_.MinValue, path, "width", width, actl.Lnki_w()); + err += mgr.Tst_val(height == Int_.MinValue, path, "height", height, actl.Lnki_h()); + err += mgr.Tst_val(hAlign == Byte_.MaxValue_127, path, "halign", hAlign, actl.Align_h()); + err += mgr.Tst_val(vAlign == Byte_.MaxValue_127, path, "valign", vAlign, actl.Align_v()); + err += mgr.Tst_val(border == Bool_.__byte, path, "border", border, actl.Border()); + err += mgr.Tst_val(tail_bgn == String_.Pos_neg1, path, "tail_bgn", tail_bgn, actl.Tail_bgn()); + err += mgr.Tst_val(tail_end == String_.Pos_neg1, path, "tail_end", tail_end, actl.Tail_end()); + err += mgr.Tst_val(upright == Xop_lnki_tkn.Upright_null, path, "upright", upright, actl.Upright()); + err += mgr.Tst_val(thumbtime == Xof_doc_thumb.Null, path, "thumbtime", thumbtime, Xof_doc_thumb.X_int(actl.Thumbtime())); + err += mgr.Tst_val(page == Xof_doc_page.Null, path, "page", page, actl.Page()); + if (trg_tkn != null) err += mgr.Tst_sub_obj(trg_tkn, actl.Trg_tkn(), path + "." + "trg", err); + if (caption_tkn != null) err += mgr.Tst_sub_obj(caption_tkn, actl.Caption_tkn(), path + "." + "caption", err); + if (alt_tkn != null) err += mgr.Tst_sub_obj(alt_tkn, actl.Alt_tkn(), path + "." + "alt", err); + if (link_tkn != null) err += mgr.Tst_sub_obj(link_tkn, actl.Link_tkn(), path + "." + "link", err); + return err; + } +} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_lxr_mgr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_lxr_mgr.java index edf016972..6d83e84e9 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_lxr_mgr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_lxr_mgr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa; import gplx.*; import gplx.core.btries.*; -import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; +import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; public class Xop_lxr_mgr { private Xop_lxr[] ary; public Xop_lxr_mgr(Xop_lxr[] ary) {this.ary = ary;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_parser.java b/400_xowa/src_400_parser/gplx/xowa/Xop_parser.java index a7c75dd8b..e4056fbb3 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_parser.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_parser.java @@ -39,7 +39,7 @@ public class Xop_parser { // NOTE: parsers are reused; do not keep any read-writ public byte[] Parse_text_to_html(Xop_ctx ctx, byte[] src) { Bry_bfr bfr = wiki.Utl_bry_bfr_mkr().Get_b512(); Parse_text_to_html(bfr, ctx.Cur_page(), false, src); - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } public void Parse_text_to_html(Bry_bfr trg, Xoa_page page, boolean para_enabled, byte[] src) { Xop_ctx ctx = Xop_ctx.new_sub_(wiki, page); diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_parser__tst.java b/400_xowa/src_400_parser/gplx/xowa/Xop_parser__tst.java index 0bb8848de..fc65128f0 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_parser__tst.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_parser__tst.java @@ -53,6 +53,6 @@ class Xop_parser__fxt { public void Test_parse_to_html(String raw, boolean para_enabled, String expd) { byte[] raw_bry = Bry_.new_utf8_(raw); fxt.Wiki().Parser().Parse_text_to_html(bfr, fxt.Page(), para_enabled, raw_bry); - Tfds.Eq(expd, bfr.XtoStrAndClear()); + Tfds.Eq(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_redirect_mgr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_redirect_mgr.java index 0b2530e70..063cb4256 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_redirect_mgr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_redirect_mgr.java @@ -85,7 +85,7 @@ public class Xop_redirect_mgr { Bry_bfr fmt_bfr = app.Utl_bry_bfr_mkr().Get_b512(); app.Tmp_fmtr().Fmt_(msg_itm.Val()).Bld_bfr_one(fmt_bfr, redirect_bfr); redirect_bfr.Clear().Mkr_rls(); fmt_bfr.Mkr_rls(); - return fmt_bfr.XtoAryAndClear(); + return fmt_bfr.Xto_bry_and_clear(); } private static byte[] Bry_redirect_dlm = Bry_.new_ascii_(" <--- "), Bry_redirect_arg = Bry_.new_ascii_("?redirect=no"); } class Xop_redirect_mgr_ { diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_sanitizer.java b/400_xowa/src_400_parser/gplx/xowa/Xop_sanitizer.java index f53c21a5f..0ff6587d8 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_sanitizer.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_sanitizer.java @@ -32,7 +32,7 @@ public class Xop_sanitizer { private void trie_add(String hook, byte tid) {trie.Add_stub(hook, tid);} public byte[] Escape_id(byte[] src) { boolean dirty = Escape_id(src, 0, src.length, tmp_bfr); - return dirty ? tmp_bfr.XtoAryAndClear() : src; + return dirty ? tmp_bfr.Xto_bry_and_clear() : src; } public boolean Escape_id(byte[] src, int bgn, int end, Bry_bfr bfr) { boolean dirty = false; diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_log.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_log.java new file mode 100644 index 000000000..44fab3ade --- /dev/null +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_log.java @@ -0,0 +1,31 @@ +/* +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; import gplx.*; +public class Xop_tblw_log { + private static final Gfo_msg_grp owner = Gfo_msg_grp_.new_(Xoa_app_.Nde, "tblw"); + public static final Gfo_msg_itm + Dangling = Gfo_msg_itm_.new_warn_(owner, "dangling_tblw") + , Elem_without_tbl = Gfo_msg_itm_.new_warn_(owner, "elem_without_tbl") +// , Row_trailing = Gfo_msg_itm_.new_warn_(owner, "Row_trailing") + , Caption_after_tr = Gfo_msg_itm_.new_warn_(owner, "caption_after_tr") + , Caption_after_td = Gfo_msg_itm_.new_warn_(owner, "caption_after_td") + , Caption_after_tc = Gfo_msg_itm_.new_warn_(owner, "caption_after_tc") + , Hdr_after_cell = Gfo_msg_itm_.new_warn_(owner, "hdr_after_cell") + , Tbl_empty = Gfo_msg_itm_.new_warn_(owner, "tbl_empty") + ; +} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tb_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tb_tkn_chkr.java index e4841104a..c935b2b49 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tb_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tb_tkn_chkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; +import gplx.xowa.parsers.tblws.*; public class Xop_tblw_tb_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_tblw_tb_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tb;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tc_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tc_tkn_chkr.java index 0cc4ed4a4..074885bd8 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tc_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tc_tkn_chkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; +import gplx.xowa.parsers.tblws.*; public class Xop_tblw_tc_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_tblw_tc_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tc;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_td_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_td_tkn_chkr.java index c22de219b..cc4015cd2 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_td_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_td_tkn_chkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; +import gplx.xowa.parsers.tblws.*; public class Xop_tblw_td_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_tblw_td_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_td;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_th_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_th_tkn_chkr.java index fa6af6b43..b7dbd80b6 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_th_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_th_tkn_chkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; +import gplx.xowa.parsers.tblws.*; public class Xop_tblw_th_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_tblw_th_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_th;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tr_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tr_tkn_chkr.java index 92ca1d4dc..ab676ae9f 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tr_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_tblw_tr_tkn_chkr.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; +import gplx.xowa.parsers.tblws.*; public class Xop_tblw_tr_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_tblw_tr_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tr;} diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_ttl_log.java b/400_xowa/src_400_parser/gplx/xowa/Xop_ttl_log.java index 46b96f4f3..816a3e2e8 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_ttl_log.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_ttl_log.java @@ -44,19 +44,6 @@ class Xop_lnki_log { , Invalid_ttl = Gfo_msg_itm_.new_warn_(owner, "invalid_ttl") ; } -class Xop_tblw_log { - private static final Gfo_msg_grp owner = Gfo_msg_grp_.new_(Xoa_app_.Nde, "tblw"); - public static final Gfo_msg_itm - Dangling = Gfo_msg_itm_.new_warn_(owner, "dangling_tblw") - , Elem_without_tbl = Gfo_msg_itm_.new_warn_(owner, "elem_without_tbl") -// , Row_trailing = Gfo_msg_itm_.new_warn_(owner, "Row_trailing") - , Caption_after_tr = Gfo_msg_itm_.new_warn_(owner, "caption_after_tr") - , Caption_after_td = Gfo_msg_itm_.new_warn_(owner, "caption_after_td") - , Caption_after_tc = Gfo_msg_itm_.new_warn_(owner, "caption_after_tc") - , Hdr_after_cell = Gfo_msg_itm_.new_warn_(owner, "hdr_after_cell") - , Tbl_empty = Gfo_msg_itm_.new_warn_(owner, "tbl_empty") - ; -} class Xop_tmpl_log { private static final Gfo_msg_grp owner = Gfo_msg_grp_.new_(Xoa_app_.Nde, "tmpl"); public static final Gfo_msg_itm diff --git a/400_xowa/src_400_parser/gplx/xowa/Xop_xnde_tkn_chkr.java b/400_xowa/src_400_parser/gplx/xowa/Xop_xnde_tkn_chkr.java index 41f27af86..1d156e587 100644 --- a/400_xowa/src_400_parser/gplx/xowa/Xop_xnde_tkn_chkr.java +++ b/400_xowa/src_400_parser/gplx/xowa/Xop_xnde_tkn_chkr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.xowa.files.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; +import gplx.xowa.files.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.paras.*; public class Xop_xnde_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Xop_xnde_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_xnde;} @@ -91,46 +91,6 @@ class Xop_ignore_tkn_chkr extends Xop_tkn_chkr_base { return err; } } -class Xop_lnki_tkn_chkr extends Xop_tkn_chkr_base { - @Override public Class TypeOf() {return Xop_lnki_tkn.class;} - @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_lnki;} - public int Ns_id() {return nsId;} public Xop_lnki_tkn_chkr Ns_id_(int v) {nsId = v; return this;} private int nsId = Int_.MinValue; - public byte ImgType() {return imgType;} public Xop_lnki_tkn_chkr ImgType_(byte v) {imgType = v; return this;} private byte imgType = Byte_.MaxValue_127; - public int Width() {return width;} public Xop_lnki_tkn_chkr Width_(int v) {width = v; return this;} private int width = Int_.MinValue; - public int Height() {return height;} public Xop_lnki_tkn_chkr Height_(int v) {height = v; return this;} private int height = Int_.MinValue; - public byte HAlign() {return hAlign;} public Xop_lnki_tkn_chkr HAlign_(byte v) {hAlign = v; return this;} private byte hAlign = Byte_.MaxValue_127; - public byte VAlign() {return vAlign;} public Xop_lnki_tkn_chkr VAlign_(byte v) {vAlign = v; return this;} private byte vAlign = Byte_.MaxValue_127; - public byte Border() {return border;} public Xop_lnki_tkn_chkr Border_(byte v) {border = v; return this;} private byte border = Bool_.__byte; - public double Upright() {return upright;} public Xop_lnki_tkn_chkr Upright_(double v) {upright = v; return this;} double upright = Xop_lnki_tkn.Upright_null; - public int Thumbtime() {return thumbtime;} public Xop_lnki_tkn_chkr Thumbtime_(int v) {thumbtime = v; return this;} int thumbtime = Xof_doc_thumb.Null_as_int; - public int Page() {return page;} public Xop_lnki_tkn_chkr Page_(int v) {page = v; return this;} int page = Xof_doc_page.Null; - public int Tail_bgn() {return tail_bgn;} public Xop_lnki_tkn_chkr Tail_bgn_(int v) {tail_bgn = v; return this;} private int tail_bgn = String_.Pos_neg1; - public int Tail_end() {return tail_end;} public Xop_lnki_tkn_chkr Tail_end_(int v) {tail_end = v; return this;} private int tail_end = String_.Pos_neg1; - public Xop_tkn_chkr_base Trg_tkn() {return trg_tkn;} public Xop_lnki_tkn_chkr Trg_tkn_(Xop_tkn_chkr_base v) {trg_tkn = v; return this;} private Xop_tkn_chkr_base trg_tkn; - public Xop_tkn_chkr_base Caption_tkn() {return caption_tkn;} public Xop_lnki_tkn_chkr Caption_tkn_(Xop_tkn_chkr_base v) {caption_tkn = v; return this;} private Xop_tkn_chkr_base caption_tkn; - public Xop_tkn_chkr_base Alt_tkn() {return alt_tkn;} public Xop_lnki_tkn_chkr Alt_tkn_(Xop_tkn_chkr_base v) {alt_tkn = v; return this;} private Xop_tkn_chkr_base alt_tkn; - public Xop_tkn_chkr_base Link_tkn() {return link_tkn;} public Xop_lnki_tkn_chkr Link_tkn_(Xop_tkn_chkr_base v) {link_tkn = v; return this;} private Xop_tkn_chkr_base link_tkn; - @Override public int Chk_hook(Tst_mgr mgr, String path, Object actl_obj, int err) { - Xop_lnki_tkn actl = (Xop_lnki_tkn)actl_obj; - err += mgr.Tst_val(nsId == Int_.MinValue, path, "nsId", nsId, actl.Ns_id()); - err += mgr.Tst_val(imgType == Byte_.MaxValue_127, path, "imgType", imgType, actl.Lnki_type()); - err += mgr.Tst_val(width == Int_.MinValue, path, "width", width, actl.Lnki_w()); - err += mgr.Tst_val(height == Int_.MinValue, path, "height", height, actl.Lnki_h()); - err += mgr.Tst_val(hAlign == Byte_.MaxValue_127, path, "halign", hAlign, actl.Align_h()); - err += mgr.Tst_val(vAlign == Byte_.MaxValue_127, path, "valign", vAlign, actl.Align_v()); - err += mgr.Tst_val(border == Bool_.__byte, path, "border", border, actl.Border()); - err += mgr.Tst_val(tail_bgn == String_.Pos_neg1, path, "tail_bgn", tail_bgn, actl.Tail_bgn()); - err += mgr.Tst_val(tail_end == String_.Pos_neg1, path, "tail_end", tail_end, actl.Tail_end()); - err += mgr.Tst_val(upright == Xop_lnki_tkn.Upright_null, path, "upright", upright, actl.Upright()); - err += mgr.Tst_val(thumbtime == Xof_doc_thumb.Null, path, "thumbtime", thumbtime, Xof_doc_thumb.X_int(actl.Thumbtime())); - err += mgr.Tst_val(page == Xof_doc_page.Null, path, "page", page, actl.Page()); - if (trg_tkn != null) err += mgr.Tst_sub_obj(trg_tkn, actl.Trg_tkn(), path + "." + "trg", err); - if (caption_tkn != null) err += mgr.Tst_sub_obj(caption_tkn, actl.Caption_tkn(), path + "." + "caption", err); - if (alt_tkn != null) err += mgr.Tst_sub_obj(alt_tkn, actl.Alt_tkn(), path + "." + "alt", err); - if (link_tkn != null) err += mgr.Tst_sub_obj(link_tkn, actl.Link_tkn(), path + "." + "link", err); - return err; - } -} class Xop_arg_nde_tkn_chkr extends Xop_tkn_chkr_base { @Override public Class TypeOf() {return Arg_nde_tkn.class;} @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_arg_nde;} diff --git a/400_xowa/src_405_tkn/gplx/xowa/Xop_tkn_mkr.java b/400_xowa/src_405_tkn/gplx/xowa/Xop_tkn_mkr.java index 19ad6194c..7b972f4fc 100644 --- a/400_xowa/src_405_tkn/gplx/xowa/Xop_tkn_mkr.java +++ b/400_xowa/src_405_tkn/gplx/xowa/Xop_tkn_mkr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.xtns.cite.*; +import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.xtns.cite.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; public class Xop_tkn_mkr { Xop_space_tkn space_tkn_immutable = new Xop_space_tkn(true, -1, -1); public Xop_root_tkn Root(byte[] raw) {return new Xop_root_tkn().Root_src_(raw);} diff --git a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_comm_lxr.java b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_comm_lxr.java index 411eff086..8ede2d2af 100644 --- a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_comm_lxr.java +++ b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_comm_lxr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.core.btries.*; +import gplx.core.btries.*; import gplx.xowa.parsers.paras.*; public class Xop_comm_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_comment;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Bgn_ary, this);} diff --git a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_eq_lxr.java b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_eq_lxr.java index 4fe884f7e..d1b43aaf1 100644 --- a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_eq_lxr.java +++ b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_eq_lxr.java @@ -16,8 +16,8 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.core.btries.*; -class Xop_eq_lxr implements Xop_lxr {//20111222 +import gplx.core.btries.*; import gplx.xowa.parsers.paras.*; +class Xop_eq_lxr implements Xop_lxr { public Xop_eq_lxr(boolean tmpl_mode) {this.tmpl_mode = tmpl_mode;} boolean tmpl_mode; public byte Lxr_tid() {return Xop_lxr_.Tid_eq;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Byte_ascii.Eq, this);} diff --git a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_lxr.java b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_lxr.java index 9ecc88f2d..4b465b0bd 100644 --- a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_lxr.java +++ b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_lxr.java @@ -16,12 +16,8 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.core.btries.*; -class Xop_pipe_tkn extends Xop_tkn_itm_base { - public Xop_pipe_tkn(int bgn, int end) {this.Tkn_ini_pos(false, bgn, end);} - @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_pipe;} -} -class Xop_pipe_lxr implements Xop_lxr { +import gplx.core.btries.*; import gplx.xowa.parsers.tblws.*; +public class Xop_pipe_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_pipe;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Byte_ascii.Pipe, this);} public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} diff --git a/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_tkn.java b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_tkn.java new file mode 100644 index 000000000..370b2c2f6 --- /dev/null +++ b/400_xowa/src_409_tkn_misc/gplx/xowa/Xop_pipe_tkn.java @@ -0,0 +1,22 @@ +/* +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; import gplx.*; +class Xop_pipe_tkn extends Xop_tkn_itm_base { + public Xop_pipe_tkn(int bgn, int end) {this.Tkn_ini_pos(false, bgn, end);} + @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_pipe;} +} diff --git a/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr.java b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr.java index 67dca2439..7fa39f2ce 100644 --- a/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr.java +++ b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr.java @@ -173,121 +173,3 @@ public class Xop_lnki_wkr implements Xop_ctx_wkr, Xop_arg_wkr { } } private static final byte[] Const_pipe = Bry_.new_ascii_("|"); } -class Xop_lnki_wkr_ { - private static final Int_obj_ref rel2abs_tid = Int_obj_ref.zero_(); - public static final int Invalidate_lnki_len = 128; - public static int Invalidate_lnki(Xop_ctx ctx, byte[] src, Xop_root_tkn root, Xop_lnki_tkn lnki, int cur_pos) { - lnki.Tkn_tid_to_txt(); // convert initial "[[" to text; note that this lnki has no pipes as pipe_lxr does similar check; EX: [[]]; DATE:2014-03-26 - root.Subs_del_after(lnki.Tkn_sub_idx() + 1);// remove all tkns after [[ from root - int reparse_bgn = lnki.Src_end(); // NOTE: reparse all text from "[["; needed to handle [[|a]] where "a" cannot be returned as text; DATE:2014-03-04 - ctx.App().Msg_log().Add_itm_none(Xop_lnki_log.Invalid_ttl, src, reparse_bgn, reparse_bgn + 128); - // int reparse_len = cur_pos - reparse_bgn; - // if (reparse_len > 512) ctx.App().Usr_dlg().Warn_many("", "", "lnki.reparsing large block; page=~{0} len=~{1} src=~{2}", Xop_ctx_.Page_as_str(ctx), reparse_len, Xop_ctx_.Src_limit_and_escape_nl(src, reparse_bgn, Invalidate_lnki_len)); - return reparse_bgn; - } - public static boolean Parse_ttl(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int pipe_pos) { - int ttl_bgn = lnki.Src_bgn() + Xop_tkn_.Lnki_bgn_len; - ttl_bgn = Bry_finder.Find_fwd_while(src, ttl_bgn, pipe_pos, Byte_ascii.Space); // remove \s from bgn - int ttl_end = Bry_finder.Find_bwd_while(src, pipe_pos, ttl_bgn, Byte_ascii.Space); // remove \s from end - ++ttl_end; // +1 to place after non-ws; EX: [[ a ]]; ttl_end should go from 3 -> 4 - return Parse_ttl(ctx, src, lnki, ttl_bgn, ttl_end); - } - public static boolean Parse_ttl(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int ttl_bgn, int ttl_end) { - Xoa_app app = ctx.App(); - byte[] ttl_bry = Bry_.Mid(src, ttl_bgn, ttl_end); - ttl_bry = app.Encoder_mgr().Url_ttl().Decode(ttl_bry); - int ttl_bry_len = ttl_bry.length; - Xoa_ttl page_ttl = ctx.Cur_page().Ttl(); - if (page_ttl.Ns().Subpages_enabled() - && Pfunc_rel2abs.Rel2abs_ttl(ttl_bry, 0, ttl_bry_len)) { // Linker.php|normalizeSubpageLink - Bry_bfr tmp_bfr = app.Utl_bry_bfr_mkr().Get_b512(); - byte[] new_bry = Pfunc_rel2abs.Rel2abs(tmp_bfr, ttl_bry, page_ttl.Raw(), rel2abs_tid.Val_zero_()); - lnki.Subpage_tid_(rel2abs_tid.Val()); - lnki.Subpage_slash_at_end_(Bry_.Get_at_end(ttl_bry) == Byte_ascii.Slash); - ttl_bry = new_bry; - tmp_bfr.Mkr_rls(); - } - Xow_wiki wiki = ctx.Wiki(); - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); - if (ttl == null) return false; - if ( wiki.Cfg_parser_lnki_xwiki_repos_enabled() // wiki has lnki.xwiki_repos - && ttl.Wik_bgn() != Xoa_ttl.Null_wik_bgn // xwiki available; EX: [[en:]] - ) - ttl = Adj_ttl_for_file(wiki, ctx, ttl, ttl_bry); - lnki.Ttl_(ttl); - lnki.Ns_id_(ttl.Ns().Id()); - return true; - } - private static Xoa_ttl Adj_ttl_for_file(Xow_wiki wiki, Xop_ctx ctx, Xoa_ttl ttl, byte[] ttl_bry) { // NOTE: remove the xwiki part; EX: [[en:File:A.png]] -> [[File:A.png]] - byte[] xwiki_bry = ttl.Wik_txt(); if (xwiki_bry == null) return ttl; // should not happen, but just in case - int xwiki_bry_len = xwiki_bry.length; - int ttl_bry_len = ttl_bry.length; - if (xwiki_bry_len + 1 >= ttl_bry_len) return ttl; // invalid ttl; EX: [[en:]] - byte[] ttl_in_xwiki_bry = Bry_.Mid(ttl_bry, xwiki_bry_len + 1, ttl_bry_len); // +1 to position after xwiki :; EX: [[en:File:A.png]]; +1 to put after ":" at "F" - if (!wiki.Cfg_parser().Lnki_cfg().Xwiki_repo_mgr().Has(xwiki_bry)) return ttl; // alias not in xwikis; EX: [[en_bad:File:A.png]] - Xoa_ttl ttl_in_xwiki = Xoa_ttl.parse_(wiki, ttl_in_xwiki_bry); - if (ttl_in_xwiki == null) return ttl; // occurs if ttl is bad in xwiki; EX: [[en:]] - return ttl_in_xwiki.Ns().Id_file() ? ttl_in_xwiki : ttl; - } - public static int Chk_for_tail(Xol_lang lang, byte[] src, int cur_pos, int src_len, Xop_lnki_tkn lnki) { - int bgn_pos = cur_pos; - Btrie_slim_mgr lnki_trail = lang.Lnki_trail_mgr().Trie(); - while (true) { // loop b/c there can be multiple consecutive lnki_trail_chars; EX: [[A]]bcde - if (cur_pos == src_len) break; - byte[] lnki_trail_bry = (byte[])lnki_trail.Match_bgn_w_byte(src[cur_pos], src, cur_pos, src_len); - if (lnki_trail_bry == null) break; // no longer a lnki_trail char; stop - cur_pos += lnki_trail_bry.length; // lnki_trail char; add - } - if (bgn_pos != cur_pos && lnki.Ns_id() == Xow_ns_.Id_main) { // only mark trail if Main ns (skip trail for Image) - lnki.Tail_bgn_(bgn_pos).Tail_end_(cur_pos); - return cur_pos; - } - else - return bgn_pos; - } - public static void Page_parse(Xop_ctx ctx, byte[] src, NumberParser number_parser, Xop_lnki_tkn lnki, Arg_nde_tkn arg) { - int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); - byte[] val_bry = Bry_.Trim(src, val_tkn_bgn, val_tkn_end); // some tkns have trailing space; EX.WWI: [[File:Bombers of WW1.ogg|thumb |thumbtime=3]] - number_parser.Parse(val_bry); - if (number_parser.HasErr()) - ctx.Msg_log().Add_itm_none(Xop_lnki_log.Upright_val_is_invalid, src, val_tkn_bgn, val_tkn_end); - else - lnki.Page_(number_parser.AsInt()); - } - public static byte[] Val_extract(byte[] src, Arg_nde_tkn arg) { - int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); - return Bry_.Trim(src, val_tkn_bgn, val_tkn_end); // trim trailing space - } - public static void Thumbtime_parse(Xop_ctx ctx, byte[] src, NumberParser number_parser, Xop_lnki_tkn lnki, Arg_nde_tkn arg) { - int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); - long fracs = TimeSpanAdp_.parse_to_fracs(src, val_tkn_bgn, val_tkn_end, false); - if (fracs == TimeSpanAdp_.parse_null) { - ctx.Msg_log().Add_itm_none(Xop_lnki_log.Upright_val_is_invalid, src, val_tkn_bgn, val_tkn_end); - } - else - lnki.Thumbtime_(fracs / TimeSpanAdp_.Ratio_f_to_s); - } - public static boolean Adjust_for_brack_end_len_of_3(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int cur_pos, Xop_lnki_tkn lnki) { - if ( cur_pos < src_len // bounds check - && src[cur_pos] == Byte_ascii.Brack_end // is next char after "]]", "]"; i.e.: "]]]"; PAGE:en.w:Aubervilliers DATE:2014-06-25 - ) { - int nxt_pos = cur_pos + 1; - if ( nxt_pos == src_len // allow "]]]EOS" - || ( nxt_pos < src_len // bounds check - && src[nxt_pos] != Byte_ascii.Brack_end // is next char after "]]]", "]"; i.e.: not "]]]]"; PAGE:ru.w:Меркатале_ин_Валь_ди_Песа; DATE:2014-02-04 - ) - ) { - if ( lnki.Caption_exists() // does a caption exist? - && lnki.Caption_tkn().Src_end() + 2 == cur_pos // is "]]]" at end of caption?; 2="]]".Len; handle [http://a.org [[File:A.png|123px]]] PAGE:ar.w:محمد; DATE:2014-08-20 - && lnki.Ttl() != null // only change "]]]" to "]" + "]]" if lnki is not title; otherwise [[A]]] -> "A]" which will be invalid; PAGE:en.w:Tall_poppy_syndrome DATE:2014-07-23 - ) { - Xop_tkn_itm caption_val_tkn = lnki.Caption_val_tkn(); - caption_val_tkn.Subs_add(tkn_mkr.Bry(cur_pos, cur_pos + 1, Byte_ascii.Brack_end_bry)); // add "]" as bry - caption_val_tkn.Src_end_(caption_val_tkn.Src_end() + 1); - return true; - } - } - } - return false; - } -} diff --git a/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr_.java b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr_.java new file mode 100644 index 000000000..78d1febf5 --- /dev/null +++ b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr_.java @@ -0,0 +1,138 @@ +/* +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; import gplx.*; +import gplx.core.btries.*; +import gplx.xowa.wikis.*; import gplx.xowa.parsers.lnkis.redlinks.*; import gplx.xowa.xtns.pfuncs.ttls.*; import gplx.xowa.xtns.relatedSites.*; +public class Xop_lnki_wkr_ { + private static final Int_obj_ref rel2abs_tid = Int_obj_ref.zero_(); + public static final int Invalidate_lnki_len = 128; + public static int Invalidate_lnki(Xop_ctx ctx, byte[] src, Xop_root_tkn root, Xop_lnki_tkn lnki, int cur_pos) { + lnki.Tkn_tid_to_txt(); // convert initial "[[" to text; note that this lnki has no pipes as pipe_lxr does similar check; EX: [[]]; DATE:2014-03-26 + root.Subs_del_after(lnki.Tkn_sub_idx() + 1);// remove all tkns after [[ from root + int reparse_bgn = lnki.Src_end(); // NOTE: reparse all text from "[["; needed to handle [[|a]] where "a" cannot be returned as text; DATE:2014-03-04 + ctx.App().Msg_log().Add_itm_none(Xop_lnki_log.Invalid_ttl, src, reparse_bgn, reparse_bgn + 128); + // int reparse_len = cur_pos - reparse_bgn; + // if (reparse_len > 512) ctx.App().Usr_dlg().Warn_many("", "", "lnki.reparsing large block; page=~{0} len=~{1} src=~{2}", Xop_ctx_.Page_as_str(ctx), reparse_len, Xop_ctx_.Src_limit_and_escape_nl(src, reparse_bgn, Invalidate_lnki_len)); + return reparse_bgn; + } + public static boolean Parse_ttl(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int pipe_pos) { + int ttl_bgn = lnki.Src_bgn() + Xop_tkn_.Lnki_bgn_len; + ttl_bgn = Bry_finder.Find_fwd_while(src, ttl_bgn, pipe_pos, Byte_ascii.Space); // remove \s from bgn + int ttl_end = Bry_finder.Find_bwd_while(src, pipe_pos, ttl_bgn, Byte_ascii.Space); // remove \s from end + ++ttl_end; // +1 to place after non-ws; EX: [[ a ]]; ttl_end should go from 3 -> 4 + return Parse_ttl(ctx, src, lnki, ttl_bgn, ttl_end); + } + public static boolean Parse_ttl(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int ttl_bgn, int ttl_end) { + Xoa_app app = ctx.App(); + byte[] ttl_bry = Bry_.Mid(src, ttl_bgn, ttl_end); + ttl_bry = app.Encoder_mgr().Url_ttl().Decode(ttl_bry); + int ttl_bry_len = ttl_bry.length; + Xoa_ttl page_ttl = ctx.Cur_page().Ttl(); + if (page_ttl.Ns().Subpages_enabled() + && Pfunc_rel2abs.Rel2abs_ttl(ttl_bry, 0, ttl_bry_len)) { // Linker.php|normalizeSubpageLink + Bry_bfr tmp_bfr = app.Utl_bry_bfr_mkr().Get_b512(); + byte[] new_bry = Pfunc_rel2abs.Rel2abs(tmp_bfr, ttl_bry, page_ttl.Raw(), rel2abs_tid.Val_zero_()); + lnki.Subpage_tid_(rel2abs_tid.Val()); + lnki.Subpage_slash_at_end_(Bry_.Get_at_end(ttl_bry) == Byte_ascii.Slash); + ttl_bry = new_bry; + tmp_bfr.Mkr_rls(); + } + Xow_wiki wiki = ctx.Wiki(); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); + if (ttl == null) return false; + if ( wiki.Cfg_parser_lnki_xwiki_repos_enabled() // wiki has lnki.xwiki_repos + && ttl.Wik_bgn() != Xoa_ttl.Null_wik_bgn // xwiki available; EX: [[en:]] + ) + ttl = Adj_ttl_for_file(wiki, ctx, ttl, ttl_bry); + lnki.Ttl_(ttl); + lnki.Ns_id_(ttl.Ns().Id()); + return true; + } + private static Xoa_ttl Adj_ttl_for_file(Xow_wiki wiki, Xop_ctx ctx, Xoa_ttl ttl, byte[] ttl_bry) { // NOTE: remove the xwiki part; EX: [[en:File:A.png]] -> [[File:A.png]] + byte[] xwiki_bry = ttl.Wik_txt(); if (xwiki_bry == null) return ttl; // should not happen, but just in case + int xwiki_bry_len = xwiki_bry.length; + int ttl_bry_len = ttl_bry.length; + if (xwiki_bry_len + 1 >= ttl_bry_len) return ttl; // invalid ttl; EX: [[en:]] + byte[] ttl_in_xwiki_bry = Bry_.Mid(ttl_bry, xwiki_bry_len + 1, ttl_bry_len); // +1 to position after xwiki :; EX: [[en:File:A.png]]; +1 to put after ":" at "F" + if (!wiki.Cfg_parser().Lnki_cfg().Xwiki_repo_mgr().Has(xwiki_bry)) return ttl; // alias not in xwikis; EX: [[en_bad:File:A.png]] + Xoa_ttl ttl_in_xwiki = Xoa_ttl.parse_(wiki, ttl_in_xwiki_bry); + if (ttl_in_xwiki == null) return ttl; // occurs if ttl is bad in xwiki; EX: [[en:]] + return ttl_in_xwiki.Ns().Id_file() ? ttl_in_xwiki : ttl; + } + public static int Chk_for_tail(Xol_lang lang, byte[] src, int cur_pos, int src_len, Xop_lnki_tkn lnki) { + int bgn_pos = cur_pos; + Btrie_slim_mgr lnki_trail = lang.Lnki_trail_mgr().Trie(); + while (true) { // loop b/c there can be multiple consecutive lnki_trail_chars; EX: [[A]]bcde + if (cur_pos == src_len) break; + byte[] lnki_trail_bry = (byte[])lnki_trail.Match_bgn_w_byte(src[cur_pos], src, cur_pos, src_len); + if (lnki_trail_bry == null) break; // no longer a lnki_trail char; stop + cur_pos += lnki_trail_bry.length; // lnki_trail char; add + } + if (bgn_pos != cur_pos && lnki.Ns_id() == Xow_ns_.Id_main) { // only mark trail if Main ns (skip trail for Image) + lnki.Tail_bgn_(bgn_pos).Tail_end_(cur_pos); + return cur_pos; + } + else + return bgn_pos; + } + public static void Page_parse(Xop_ctx ctx, byte[] src, NumberParser number_parser, Xop_lnki_tkn lnki, Arg_nde_tkn arg) { + int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); + byte[] val_bry = Bry_.Trim(src, val_tkn_bgn, val_tkn_end); // some tkns have trailing space; EX.WWI: [[File:Bombers of WW1.ogg|thumb |thumbtime=3]] + number_parser.Parse(val_bry); + if (number_parser.HasErr()) + ctx.Msg_log().Add_itm_none(Xop_lnki_log.Upright_val_is_invalid, src, val_tkn_bgn, val_tkn_end); + else + lnki.Page_(number_parser.AsInt()); + } + public static byte[] Val_extract(byte[] src, Arg_nde_tkn arg) { + int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); + return Bry_.Trim(src, val_tkn_bgn, val_tkn_end); // trim trailing space + } + public static void Thumbtime_parse(Xop_ctx ctx, byte[] src, NumberParser number_parser, Xop_lnki_tkn lnki, Arg_nde_tkn arg) { + int val_tkn_bgn = arg.Val_tkn().Src_bgn(), val_tkn_end = arg.Val_tkn().Src_end(); + long fracs = TimeSpanAdp_.parse_to_fracs(src, val_tkn_bgn, val_tkn_end, false); + if (fracs == TimeSpanAdp_.parse_null) { + ctx.Msg_log().Add_itm_none(Xop_lnki_log.Upright_val_is_invalid, src, val_tkn_bgn, val_tkn_end); + } + else + lnki.Thumbtime_(fracs / TimeSpanAdp_.Ratio_f_to_s); + } + public static boolean Adjust_for_brack_end_len_of_3(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int cur_pos, Xop_lnki_tkn lnki) { + if ( cur_pos < src_len // bounds check + && src[cur_pos] == Byte_ascii.Brack_end // is next char after "]]", "]"; i.e.: "]]]"; PAGE:en.w:Aubervilliers DATE:2014-06-25 + ) { + int nxt_pos = cur_pos + 1; + if ( nxt_pos == src_len // allow "]]]EOS" + || ( nxt_pos < src_len // bounds check + && src[nxt_pos] != Byte_ascii.Brack_end // is next char after "]]]", "]"; i.e.: not "]]]]"; PAGE:ru.w:Меркатале_ин_Валь_ди_Песа; DATE:2014-02-04 + ) + ) { + if ( lnki.Caption_exists() // does a caption exist? + && lnki.Caption_tkn().Src_end() + 2 == cur_pos // is "]]]" at end of caption?; 2="]]".Len; handle [http://a.org [[File:A.png|123px]]] PAGE:ar.w:محمد; DATE:2014-08-20 + && lnki.Ttl() != null // only change "]]]" to "]" + "]]" if lnki is not title; otherwise [[A]]] -> "A]" which will be invalid; PAGE:en.w:Tall_poppy_syndrome DATE:2014-07-23 + ) { + Xop_tkn_itm caption_val_tkn = lnki.Caption_val_tkn(); + caption_val_tkn.Subs_add(tkn_mkr.Bry(cur_pos, cur_pos + 1, Byte_ascii.Brack_end_bry)); // add "]" as bry + caption_val_tkn.Src_end_(caption_val_tkn.Src_end() + 1); + return true; + } + } + } + return false; + } +} diff --git a/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr__basic_tst.java b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr__basic_tst.java index 96f877966..5015d2455 100644 --- a/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr__basic_tst.java +++ b/400_xowa/src_440_lnki/gplx/xowa/Xop_lnki_wkr__basic_tst.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa; import gplx.*; import org.junit.*; -import gplx.xowa.langs.cases.*; +import gplx.xowa.langs.cases.*; import gplx.xowa.parsers.paras.*; public class Xop_lnki_wkr__basic_tst { @Before public void init() {fxt.Reset(); fxt.Init_para_n_();} private Xop_fxt fxt = new Xop_fxt(); @Test public void Basic() { diff --git a/400_xowa/src_490_xnde/gplx/xowa/Xop_xatr_parser.java b/400_xowa/src_490_xnde/gplx/xowa/Xop_xatr_parser.java index 6f015c988..ba76970ec 100644 --- a/400_xowa/src_490_xnde/gplx/xowa/Xop_xatr_parser.java +++ b/400_xowa/src_490_xnde/gplx/xowa/Xop_xatr_parser.java @@ -347,7 +347,7 @@ public class Xop_xatr_parser { // REF.MW:Sanitizer.php|decodeTagAttributes;MW_AT ++i; } repeated_atrs_hash.Clear(); - return (Xop_xatr_itm[])xatrs.XtoAry(Xop_xatr_itm.class); + return (Xop_xatr_itm[])xatrs.Xto_ary(Xop_xatr_itm.class); } private void Make(Gfo_msg_log log_mgr, byte[] src, int atr_end) { Xop_xatr_itm xatr = null; @@ -366,11 +366,11 @@ public class Xop_xatr_parser { // REF.MW:Sanitizer.php|decodeTagAttributes;MW_AT log_mgr.Add_itm_none(Log_invalid_atr, src, atr_bgn, atr_end); } if (valid) { // note that invalid will have no key_bgn / key_end - byte[] key_bry = key_bfr_on ? key_bfr.XtoAryAndClear() : Bry_.Mid(src, xatr.Key_bgn(), xatr.Key_end()); + byte[] key_bry = key_bfr_on ? key_bfr.Xto_bry_and_clear() : Bry_.Mid(src, xatr.Key_bgn(), xatr.Key_end()); xatr.Key_bry_(key_bry); Invalidate_repeated_atr(xatr, key_bry); } - if (val_bfr_on) xatr.Val_bry_(val_bfr.XtoAryAndClear()); + if (val_bfr_on) xatr.Val_bry_(val_bfr.Xto_bry_and_clear()); xatrs.Add(xatr); mode = Mode_atr_bgn; quote_byte = Byte_ascii.Nil; valid = true; atr_bgn = key_bgn = val_bgn = key_end = val_end = eq_pos = -1; diff --git a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tag_regy.java b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tag_regy.java index 316e78d1c..c096aa702 100644 --- a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tag_regy.java +++ b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tag_regy.java @@ -38,7 +38,7 @@ public class Xop_xnde_tag_regy { if (itm.Xtn()) rv.Add(itm); for (Xop_xnde_tag itm : more) rv.Add(itm); - return (Xop_xnde_tag[])rv.XtoAry(Xop_xnde_tag.class); + return (Xop_xnde_tag[])rv.Xto_ary(Xop_xnde_tag.class); } private void Init_reg(Btrie_slim_mgr tag_regy, Xop_xnde_tag... ary) { for (Xop_xnde_tag tag : ary) { diff --git a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tkn.java b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tkn.java index aece2e588..9fd74a914 100644 --- a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tkn.java +++ b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_tkn.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.xowa.xtns.*; +import gplx.xowa.xtns.*; import gplx.xowa.parsers.tblws.*; public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn { @Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_xnde;} public int Tblw_tid() {return tag.Id();} // NOTE: tblw tkns actually return xnde as Tblw_tid diff --git a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_wkr.java b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_wkr.java index 67bd68ce4..221bf8f3c 100644 --- a/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_wkr.java +++ b/400_xowa/src_490_xnde/gplx/xowa/Xop_xnde_wkr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa; import gplx.*; import gplx.core.btries.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.wikis.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.pfuncs.strings.*; import gplx.html.*; -import gplx.xowa.parsers.logs.*; +import gplx.xowa.parsers.logs.*; import gplx.xowa.parsers.tblws.*; public class Xop_xnde_wkr implements Xop_ctx_wkr { public void Ctor_ctx(Xop_ctx ctx) {} public boolean Pre_at_bos() {return pre_at_bos;} public void Pre_at_bos_(boolean v) {pre_at_bos = v;} private boolean pre_at_bos; @@ -559,7 +559,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr { if (tag_id == -1) {ctx.App().Usr_dlg().Warn_many("", "", "parser.xtn: could not extract int: page=~{0}", ctx.Cur_page().Url().Xto_full_str_safe()); return Bry_finder.Not_found;} Bry_bfr tmp = ctx.Wiki().Utl_bry_bfr_mkr().Get_b128(); tmp.Add(Pfunc_tag.Xtag_end_lhs).Add_int_pad_bgn(Byte_ascii.Num_0, 10, tag_id).Add(Pfunc_tag.Xtag_rhs); - byte[] tag_end = tmp.Mkr_rls().XtoAryAndClear(); + byte[] tag_end = tmp.Mkr_rls().Xto_bry_and_clear(); int rv = Bry_finder.Find_fwd(src, tag_end, open_end + Pfunc_tag.Xtag_rhs.length); if (rv == Bry_finder.Not_found) {ctx.App().Usr_dlg().Warn_many("", "", "parser.xtn: could not find end: page=~{0}", ctx.Cur_page().Url().Xto_full_str_safe()); return Bry_finder.Not_found;} rv = Bry_finder.Find_bwd(src, Byte_ascii.Lt, rv - 1); @@ -664,6 +664,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr { case Xop_xnde_tag_.Tid_listing_sleep: xnde_xtn = tkn_mkr.Xnde_listing(tag_id); break; case Xop_xnde_tag_.Tid_timeline: boolean log_wkr_enabled = Timeline_log_wkr != Xop_log_basic_wkr.Null; if (log_wkr_enabled) Timeline_log_wkr.Log_end_xnde(ctx.Cur_page(), Xop_log_basic_wkr.Tid_timeline, src, xnde); + ctx.Cur_page().Html_data().Module_mgr().Itm_timeline().Enabled_y_(); break; case Xop_xnde_tag_.Tid_xowa_tag_bgn: case Xop_xnde_tag_.Tid_xowa_tag_end: diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xop_curly_bgn_lxr.java b/400_xowa/src_500_tmpl/gplx/xowa/Xop_curly_bgn_lxr.java index 184a1ee14..f3d1a1bfb 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xop_curly_bgn_lxr.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xop_curly_bgn_lxr.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.core.btries.*; +import gplx.core.btries.*; import gplx.xowa.parsers.tblws.*; public class Xop_curly_bgn_lxr implements Xop_lxr { public byte Lxr_tid() {return Xop_lxr_.Tid_curly_bgn;} public void Init_by_wiki(Xow_wiki wiki, Btrie_fast_mgr core_trie) {core_trie.Add(Hook, this);} public static final byte[] Hook = new byte[] {Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn}; diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xop_tkn_print_tst.java b/400_xowa/src_500_tmpl/gplx/xowa/Xop_tkn_print_tst.java index 11ff80d05..8850d18b1 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xop_tkn_print_tst.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xop_tkn_print_tst.java @@ -35,6 +35,6 @@ public class Xop_tkn_print_tst { Xot_fmtr_prm raw_fmtr = new Xot_fmtr_prm(); defn.Root().Tmpl_fmt(ctx, raw_bry, raw_fmtr); raw_fmtr.Print(tst_Print_bb); - Tfds.Eq(raw, tst_Print_bb.XtoStrAndClear()); + Tfds.Eq(raw, tst_Print_bb.Xto_str_and_clear()); } private Bry_bfr tst_Print_bb = Bry_bfr.new_(); } diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl.java index af7d3d36a..d6a370b37 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl.java @@ -51,7 +51,7 @@ public class Xot_defn_tmpl implements Xot_defn { bfr.Add_mid(src, find_bgn_lhs, find_end); pos = find_end + Bry_onlyinclude_end_len; } - return bfr.Mkr_rls().XtoAryAndClear(); + return bfr.Mkr_rls().Xto_bry_and_clear(); } private static final byte[] Bry_onlyinclude_bgn = Bry_.new_ascii_(""), Bry_onlyinclude_end = Bry_.new_ascii_(""); private static int Bry_onlyinclude_bgn_len = Bry_onlyinclude_bgn.length, Bry_onlyinclude_end_len = Bry_onlyinclude_end.length; diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl_.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl_.java index fc9f84c9b..75655ec93 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl_.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_tmpl_.java @@ -49,7 +49,7 @@ public class Xot_defn_tmpl_ { for (int i = 0; i < subs_len; i++) orig.Subs_get(i).Tmpl_evaluate(ctx, src, caller, arg_bfr); Arg_itm_tkn rv = tkn_mkr.ArgItm(-1, -1); // NOTE: was -1, 0; DATE:2013-04-10 - byte[] rv_ary = orig_arg.KeyTkn_exists() && val_tkn ? arg_bfr.XtoAryAndClearAndTrim() : arg_bfr.XtoAryAndClear(); // // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY; PAGE:en.w:Coord in Chernobyl disaster, Sahara + byte[] rv_ary = orig_arg.KeyTkn_exists() && val_tkn ? arg_bfr.Xto_bry_and_clear_and_trim() : arg_bfr.Xto_bry_and_clear(); // // NOTE: must trim if key_exists; DUPE:TRIM_IF_KEY; PAGE:en.w:Coord in Chernobyl disaster, Sahara rv.Dat_ary_(rv_ary); return rv; } diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_trace_brief_tst.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_trace_brief_tst.java index 706d25c8e..f4a7235ab 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_trace_brief_tst.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_defn_trace_brief_tst.java @@ -42,7 +42,7 @@ class Xot_defn_trace_fxt { Xop_root_tkn root = ctx.Tkn_mkr().Root(src); fxt.Parser().Parse_page_all_clear(root, ctx, ctx.Tkn_mkr(), src); ctx.Defn_trace().Print(src, tmp); - String[] actl_ary = String_.Split(tmp.XtoStrAndClear(), (char)Byte_ascii.NewLine); + String[] actl_ary = String_.Split(tmp.Xto_str_and_clear(), (char)Byte_ascii.NewLine); Tfds.Eq_ary(expd_ary, actl_ary); } private Bry_bfr tmp = Bry_bfr.new_(); String[] XtoStr(Xot_defn_trace_itm_brief[] ary) { @@ -50,7 +50,7 @@ class Xot_defn_trace_fxt { for (int i = 0; i < rv.length; i++) { Xot_defn_trace_itm_brief itm = ary[i]; sb.Add(String_.new_utf8_(itm.Name())).Add("|").Add(itm.Count()); - rv[i] = sb.XtoStrAndClear(); + rv[i] = sb.Xto_str_and_clear(); } return rv; } diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_invk_tkn.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_invk_tkn.java index daff9fdf0..e3bf7c86a 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_invk_tkn.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_invk_tkn.java @@ -58,7 +58,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk { if (defn_tid == Xot_defn_.Tid_subst) name_tkn_bfr.Add(Get_first_subst_itm(lang.Kwd_mgr())); name_tkn.Tmpl_evaluate(ctx, src, caller, name_tkn_bfr); - name_ary = name_tkn_bfr.XtoAryAndClear(); + name_ary = name_tkn_bfr.Xto_bry_and_clear(); } else // tmpl is static; note that dat_ary is still valid but rest of name may not be; EX: {{subst:name{{{1}}}}} name_ary = Bry_.Mid(src, name_key_tkn.Dat_bgn(), name_key_tkn.Dat_end()); @@ -251,7 +251,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk { Bry_bfr rslt_bfr = wiki.Utl_bry_bfr_mkr().Get_k004(); try { Bld_key(invk_tmpl, name_ary, rslt_bfr); - byte[] rslt_key = rslt_bfr.XtoAryAndClear(); + byte[] rslt_key = rslt_bfr.Xto_bry_and_clear(); Object o = wiki.Cache_mgr().Tmpl_result_cache().Fetch(rslt_key); Xopg_tmpl_prepend_mgr prepend_mgr = ctx.Cur_page().Tmpl_prepend_mgr().Bgn(bfr); if (o != null) { @@ -263,11 +263,11 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk { rv = defn_tmpl.Tmpl_evaluate(ctx, invk_tmpl, rslt_bfr); prepend_mgr.End(ctx, bfr, rslt_bfr.Bfr(), rslt_bfr.Len(), Bool_.Y); if (name_had_subst) { // current invk had "subst:"; parse incoming invk again to remove effects of subst; PAGE:pt.w:Argentina DATE:2014-09-24 - byte[] tmp_src = rslt_bfr.XtoAryAndClear(); + byte[] tmp_src = rslt_bfr.Xto_bry_and_clear(); rslt_bfr.Add(wiki.Parser().Parse_text_to_wtxt(tmp_src)); // this could be cleaner / more optimized } if (Cache_enabled) { - byte[] rslt_val = rslt_bfr.XtoAryAndClear(); + byte[] rslt_val = rslt_bfr.Xto_bry_and_clear(); bfr.Add(rslt_val); HashAdp cache = wiki.Cache_mgr().Tmpl_result_cache(); cache.Del(rslt_key); diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_prm_tkn.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_prm_tkn.java index affdb2c2a..076b2fe9e 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_prm_tkn.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_prm_tkn.java @@ -49,7 +49,7 @@ public class Xot_prm_tkn extends Xop_tkn_itm_base { find_tkn.Subs_get(i).Tmpl_evaluate(ctx, src, caller, find_bfr); prm_idx = Bry_.Xto_int_or_trim(find_bfr.Bfr(), 0, find_bfr.Len(), -1); // parse as number first; NOTE: trim needed to transform "{{{ 1 }}}" to "1"; it.w:Portale:Giochi_da_tavolo; DATE:2014-02-09 if (prm_idx == -1) - prm_key = find_bfr.XtoAryAndClearAndTrim(); // not a number; parse as key; NOTE: must trim; PAGE:en.w:William Shakespeare; {{Relatebardtree}} + prm_key = find_bfr.Xto_bry_and_clear_and_trim(); // not a number; parse as key; NOTE: must trim; PAGE:en.w:William Shakespeare; {{Relatebardtree}} } Arg_nde_tkn arg_nde = null; if (prm_idx == -1) { // prm is key; EX: "{{{key1}}}" diff --git a/400_xowa/src_500_tmpl/gplx/xowa/Xot_tmpl_wtr.java b/400_xowa/src_500_tmpl/gplx/xowa/Xot_tmpl_wtr.java index 8c36feadc..6ba4e30ea 100644 --- a/400_xowa/src_500_tmpl/gplx/xowa/Xot_tmpl_wtr.java +++ b/400_xowa/src_500_tmpl/gplx/xowa/Xot_tmpl_wtr.java @@ -23,7 +23,7 @@ public class Xot_tmpl_wtr { rslt_bfr.Reset_if_gt(Io_mgr.Len_mb); Write_tkn(ctx, src, src.length, rslt_bfr, root); ctx.Tmpl_output_(null); - return rslt_bfr.Mkr_rls().XtoAryAndClear(); + return rslt_bfr.Mkr_rls().Xto_bry_and_clear(); } private void Write_tkn(Xop_ctx ctx, byte[] src, int src_len, Bry_bfr rslt_bfr, Xop_tkn_itm tkn) { switch (tkn.Tkn_tid()) { diff --git a/tst/400_xowa/root/wiki/en.wikipedia.org/en.wikipedia.org.002.sqlite3 b/tst/400_xowa/root/wiki/en.wikipedia.org/en.wikipedia.org.002.sqlite3 index 344a1a0ed..6778de16f 100644 Binary files a/tst/400_xowa/root/wiki/en.wikipedia.org/en.wikipedia.org.002.sqlite3 and b/tst/400_xowa/root/wiki/en.wikipedia.org/en.wikipedia.org.002.sqlite3 differ