mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.5.4.1
This commit is contained in:
@@ -25,7 +25,7 @@ public class Xoa_cur implements GfoInvkAble {
|
||||
return win.Active_tab() == null ? GfoInvkAble_.Null : win.Active_page().Wikie(); // null check when called from mass html gen; DATE:2014-06-04
|
||||
}
|
||||
else if (ctx.Match(k, Invk_win)) return app.Gui_mgr().Browser_win();
|
||||
else if (ctx.Match(k, Invk_user)) return app.User();
|
||||
else if (ctx.Match(k, Invk_user)) return app.Usere();
|
||||
else return GfoInvkAble_.Rv_unhandled;
|
||||
} private static final String Invk_wiki = "wiki", Invk_win = "win", Invk_user = "user";
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ public class Xoa_hive_mgr {
|
||||
Bry_bfr tmp_bfr = app.Utl__bfr_mkr().Get_m001();
|
||||
byte[] tmp_bry = tmp_bfr.Bfr(); bry_len.Val_zero_();
|
||||
Io_url file = Xotdb_fsys_mgr.Url_fil(hive_root, fil_idx, fil_ext_bry);
|
||||
tmp_bry = Io_mgr._.LoadFilBry_reuse(file, tmp_bry, bry_len);
|
||||
tmp_bry = Io_mgr.I.LoadFilBry_reuse(file, tmp_bry, bry_len);
|
||||
xdat_rdr.Clear().Parse(tmp_bry, bry_len.Val(), file);
|
||||
tmp_bfr.Clear_and_rls();
|
||||
return xdat_rdr;
|
||||
|
||||
@@ -25,8 +25,8 @@ public class Xoa_sys_cfg implements GfoInvkAble {
|
||||
lang_key = Xol_lang_itm_.Get_by_key_or_en(v).Key();
|
||||
if (app.Stage() == gplx.xowa.apps.Xoa_stage_.Tid_launch) { // do not update user lang unless launched; DATE:2014-05-26
|
||||
Xol_lang lang = app.Lang_mgr().Get_by_key_or_load(lang_key);
|
||||
app.User().Lang_(lang);
|
||||
app.User().Wiki().Html_mgr().Portal_mgr().Init();
|
||||
app.Usere().Lang_(lang);
|
||||
app.Usere().Wiki().Html_mgr().Portal_mgr().Init();
|
||||
}
|
||||
return this;
|
||||
} private byte[] lang_key = Xol_lang_.Key_en;
|
||||
@@ -50,8 +50,8 @@ public class Xoa_sys_cfg implements GfoInvkAble {
|
||||
}
|
||||
class Options_list_lang_ {
|
||||
public static KeyVal[] new_() {
|
||||
OrderedHash translated = OrderedHash_.new_bry_();
|
||||
ListAdp untranslated = ListAdp_.new_();
|
||||
Ordered_hash translated = Ordered_hash_.new_bry_();
|
||||
List_adp untranslated = List_adp_.new_();
|
||||
Add_itm_many(translated, Xol_lang_itm_.Id_en, Xol_lang_itm_.Id_de, Xol_lang_itm_.Id_pl, Xol_lang_itm_.Id_zh_hans, Xol_lang_itm_.Id_zh_hant); // add langs with translations first, so they alphabetize to top of list
|
||||
int len = Xol_lang_itm_.Id__max;
|
||||
for (int i = 0; i < len; i++) { // add rest of langs, but sort by code
|
||||
@@ -59,27 +59,27 @@ class Options_list_lang_ {
|
||||
if (translated.Has(itm.Key())) continue;
|
||||
untranslated.Add(itm);
|
||||
}
|
||||
untranslated.SortBy(Xol_lang_itm_.Comparer_key);
|
||||
untranslated.Sort_by(Xol_lang_itm_.Comparer_key);
|
||||
|
||||
KeyVal[] rv = new KeyVal[len];
|
||||
int translated_max = translated.Count();
|
||||
for (int i = 0; i < translated_max; i++)
|
||||
rv[i] = new_itm((Xol_lang_itm)translated.FetchAt(i));
|
||||
rv[i] = new_itm((Xol_lang_itm)translated.Get_at(i));
|
||||
|
||||
for (int i = translated_max; i < len; i++)
|
||||
rv[i] = new_itm((Xol_lang_itm)untranslated.FetchAt(i - translated_max));
|
||||
rv[i] = new_itm((Xol_lang_itm)untranslated.Get_at(i - translated_max));
|
||||
return rv;
|
||||
}
|
||||
private static KeyVal new_itm(Xol_lang_itm itm) {
|
||||
String key_str = String_.new_utf8_(itm.Key());
|
||||
String name_str = String_.new_utf8_(itm.Localized_name());
|
||||
String key_str = String_.new_u8(itm.Key());
|
||||
String name_str = String_.new_u8(itm.Localized_name());
|
||||
return KeyVal_.new_(key_str, name_str + " [" + key_str + "]");
|
||||
}
|
||||
private static void Add_itm_many(OrderedHash translated, int... langs) {
|
||||
private static void Add_itm_many(Ordered_hash translated, int... langs) {
|
||||
int langs_len = langs.length;
|
||||
for (int i = 0; i < langs_len; i++) {
|
||||
Xol_lang_itm itm = Xol_lang_itm_.Get_by_id(langs[i]);
|
||||
translated.AddReplace(itm.Key(), itm);
|
||||
translated.Add_if_dupe_use_nth(itm.Key(), itm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,13 +28,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// private void Add_bulk_tst(String raw_str, params KeyVal[] expd_ary) {
|
||||
// Xoae_app app = Xoa_app_fxt.app_();
|
||||
// Xoa_url_alias_mgr mgr = new Xoa_url_alias_mgr(app);
|
||||
// byte[] raw_bry = Bry_.new_ascii_(raw_str);
|
||||
// byte[] raw_bry = Bry_.new_a7(raw_str);
|
||||
// mgr.Add_bulk(raw_bry);
|
||||
// int expd_ary_len = expd_ary.length;
|
||||
// for (int i = 0; i < expd_ary_len; i++) {
|
||||
// KeyVal kv = expd_ary[i];
|
||||
// byte[] ttl = Bry_.new_ascii_safe_null_(kv.Key());
|
||||
// byte[] expd = Bry_.new_ascii_safe_null_((String)kv.Val());
|
||||
// byte[] ttl = Bry_.new_a7(kv.Key());
|
||||
// byte[] expd = Bry_.new_a7((String)kv.Val());
|
||||
// byte[] actl = mgr.Fmt_or_null(ttl);
|
||||
// Tfds.Eq(String_.new_utf8_null_safe_(expd), String_.new_utf8_null_safe_(actl));
|
||||
// }
|
||||
|
||||
@@ -33,8 +33,8 @@ public class Xoac_lang_grp implements Cfg_nde_obj, Xoac_lang_obj {
|
||||
return rv;
|
||||
}
|
||||
public int Nde_subs_len() {return itms.Count();}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {return (Cfg_nde_obj)itms.FetchAt(i);}
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {return (Cfg_nde_obj)itms.Fetch(key);}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {return (Cfg_nde_obj)itms.Get_at(i);}
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {return (Cfg_nde_obj)itms.Get_by(key);}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {
|
||||
if (!itm_obj.Nde_typ_is_grp()) {
|
||||
Xoac_lang_itm itm = (Xoac_lang_itm)itm_obj;
|
||||
@@ -47,7 +47,7 @@ public class Xoac_lang_grp implements Cfg_nde_obj, Xoac_lang_obj {
|
||||
Cfg_nde_obj cur_obj = (Cfg_nde_obj)Nde_subs_get(key);
|
||||
if (!cur_obj.Nde_typ_is_grp()) {
|
||||
Xoac_lang_itm cur_itm = (Xoac_lang_itm)cur_obj;
|
||||
Xoac_lang_itm reg_itm = (Xoac_lang_itm)regy.Fetch(key);
|
||||
Xoac_lang_itm reg_itm = (Xoac_lang_itm)regy.Get_by(key);
|
||||
if (cur_itm.Uid() == reg_itm.Uid()) regy.Del(cur_itm.Key_bry());
|
||||
}
|
||||
itms.Del(key);
|
||||
@@ -57,13 +57,13 @@ public class Xoac_lang_grp implements Cfg_nde_obj, Xoac_lang_obj {
|
||||
if (ary_len > 0) name_bry = ary[0];
|
||||
if (ary_len > 1) sort_idx = Bry_.Xto_int_or(ary[1], -1);
|
||||
}
|
||||
public static final byte[] Make_grp = Bry_.new_utf8_("grp"), Make_itm = Bry_.new_utf8_("itm");
|
||||
public static final byte[] Make_grp = Bry_.new_u8("grp"), Make_itm = Bry_.new_u8("itm");
|
||||
public int Itms_len() {return itms.Count();}
|
||||
public Cfg_nde_obj Itms_get_at(int i) {return (Cfg_nde_obj)itms.FetchAt(i);}
|
||||
OrderedHash itms = OrderedHash_.new_bry_();
|
||||
public Cfg_nde_obj Itms_get_at(int i) {return (Cfg_nde_obj)itms.Get_at(i);}
|
||||
Ordered_hash itms = Ordered_hash_.new_bry_();
|
||||
|
||||
private static OrderedHash regy = OrderedHash_.new_bry_();
|
||||
public static Xoac_lang_itm Regy_get_or_null(byte[] key) {return (Xoac_lang_itm)regy.Fetch(key);}
|
||||
private static Ordered_hash regy = Ordered_hash_.new_bry_();
|
||||
public static Xoac_lang_itm Regy_get_or_null(byte[] key) {return (Xoac_lang_itm)regy.Get_by(key);}
|
||||
public static Xoac_lang_itm Regy_get_or_new (byte[] key) {
|
||||
Xoac_lang_itm rv = Regy_get_or_null(key);
|
||||
if (rv == null) {
|
||||
|
||||
@@ -89,11 +89,11 @@ class Xoac_lang_grp_fxt {
|
||||
public Xoac_lang_itm_chkr itm_(String key) {return new Xoac_lang_itm_chkr(key);}
|
||||
public Xoac_lang_grp_chkr grp_(String key) {return new Xoac_lang_grp_chkr(key);}
|
||||
public Xoac_lang_grp_fxt Define_bulk(String raw, Xoac_lang_grp_chkr... expd) {
|
||||
lang_mgr.Groups().Set_bulk(Bry_.new_utf8_(raw));
|
||||
tst_mgr.Tst_ary("", expd, Xto_ary(lang_mgr.Groups()));
|
||||
lang_mgr.Groups().Set_bulk(Bry_.new_u8(raw));
|
||||
tst_mgr.Tst_ary("", expd, To_ary(lang_mgr.Groups()));
|
||||
return this;
|
||||
}
|
||||
Xoac_lang_grp[] Xto_ary(Cfg_nde_root root) {
|
||||
Xoac_lang_grp[] To_ary(Cfg_nde_root root) {
|
||||
int len = root.Root_len();
|
||||
Xoac_lang_grp[] rv = new Xoac_lang_grp[len];
|
||||
for (int i = 0; i < len; i++) {
|
||||
@@ -114,8 +114,8 @@ class Xoac_lang_itm_chkr extends Xoac_lang_chkr_base {
|
||||
@Override public int Chk(Tst_mgr mgr, String path, Object actl_obj) {
|
||||
Xoac_lang_itm actl = (Xoac_lang_itm)actl_obj;
|
||||
int rv = 0;
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_utf8_(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(local_name == null, path, "local_name", local_name, String_.new_utf8_(actl.Local_name_bry()));
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_u8(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(local_name == null, path, "local_name", local_name, String_.new_u8(actl.Local_name_bry()));
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
@@ -129,13 +129,13 @@ class Xoac_lang_grp_chkr extends Xoac_lang_chkr_base {
|
||||
@Override public int Chk(Tst_mgr mgr, String path, Object actl_obj) {
|
||||
Xoac_lang_grp actl = (Xoac_lang_grp)actl_obj;
|
||||
int rv = 0;
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_utf8_(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(name == null, path, "name", name, String_.new_utf8_(actl.Name_bry()));
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_u8(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(name == null, path, "name", name, String_.new_u8(actl.Name_bry()));
|
||||
rv += mgr.Tst_val(sort_idx == -1, path, "sort_idx", sort_idx, actl.Sort_idx());
|
||||
rv += mgr.Tst_sub_ary(itms, Xto_ary(actl), path, rv);
|
||||
rv += mgr.Tst_sub_ary(itms, To_ary(actl), path, rv);
|
||||
return rv;
|
||||
}
|
||||
Xoac_lang_obj[] Xto_ary(Xoac_lang_grp grp) {
|
||||
Xoac_lang_obj[] To_ary(Xoac_lang_grp grp) {
|
||||
int len = grp.Itms_len();
|
||||
Xoac_lang_obj[] rv = new Xoac_lang_obj[len];
|
||||
for (int i = 0; i < len; i++)
|
||||
|
||||
@@ -28,8 +28,8 @@ public class Xoac_lang_itm implements Cfg_nde_obj, Xoac_lang_obj {
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_get", "langs cannot have itms: ~{0}", key);}
|
||||
public int Nde_subs_len() {return 0;}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_get", "langs cannot have itms: ~{0}", i);}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_add", "langs cannot have itms: ~{0}", String_.new_utf8_(itm_key));}
|
||||
public void Nde_subs_del(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_del", "langs cannot delete itms: ~{0}", String_.new_utf8_(key));}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_add", "langs cannot have itms: ~{0}", String_.new_u8(itm_key));}
|
||||
public void Nde_subs_del(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_del", "langs cannot delete itms: ~{0}", String_.new_u8(key));}
|
||||
public void Nde_atrs_set(byte[][] ary) {
|
||||
if (ary.length != 1) throw Err_mgr._.fmt_("xowa.langs.itms", "invalid_atrs", "expecting name only: ~{0}", String_.AryXtoStr(String_.Ary(ary)));
|
||||
local_name_bry = ary[0];
|
||||
|
||||
@@ -20,7 +20,7 @@ public class Xoac_wiki_cfg_bldr_fil implements GfoInvkAble {
|
||||
public Xoac_wiki_cfg_bldr_fil(String wiki) {this.wiki = wiki;}
|
||||
public String Wiki() {return wiki;} private String wiki;
|
||||
public int Itms_count() {return list.Count();}
|
||||
public Xoac_wiki_cfg_bldr_cmd Itms_get_at(int i) {return (Xoac_wiki_cfg_bldr_cmd)list.FetchAt(i);}
|
||||
public Xoac_wiki_cfg_bldr_cmd Itms_get_at(int i) {return (Xoac_wiki_cfg_bldr_cmd)list.Get_at(i);}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_new_cmd_)) {Itms_add(m.ReadStr("id"), m.ReadStr("text"));}
|
||||
else return GfoInvkAble_.Rv_unhandled;
|
||||
@@ -31,5 +31,5 @@ public class Xoac_wiki_cfg_bldr_fil implements GfoInvkAble {
|
||||
list.Add(rv);
|
||||
return rv;
|
||||
}
|
||||
ListAdp list = ListAdp_.new_();
|
||||
List_adp list = List_adp_.new_();
|
||||
}
|
||||
|
||||
@@ -32,16 +32,16 @@ public class Xoac_wiki_grp implements Cfg_nde_obj, Xoac_wiki_obj {
|
||||
return rv;
|
||||
}
|
||||
public int Nde_subs_len() {return itms.Count();}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {return (Cfg_nde_obj)itms.FetchAt(i);}
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {return (Cfg_nde_obj)itms.Fetch(key);}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {return (Cfg_nde_obj)itms.Get_at(i);}
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {return (Cfg_nde_obj)itms.Get_by(key);}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {itms.Add(itm_key, itm_obj);}
|
||||
public void Nde_subs_del(byte[] key) {itms.Del(key);}
|
||||
public void Nde_atrs_set(byte[][] ary) {
|
||||
int ary_len = ary.length;
|
||||
if (ary_len > 0) name_bry = ary[0];
|
||||
}
|
||||
public static final byte[] Make_grp = Bry_.new_utf8_("grp"), Make_itm = Bry_.new_utf8_("itm");
|
||||
public static final byte[] Make_grp = Bry_.new_u8("grp"), Make_itm = Bry_.new_u8("itm");
|
||||
public int Itms_len() {return itms.Count();}
|
||||
public Cfg_nde_obj Itms_get_at(int i) {return (Cfg_nde_obj)itms.FetchAt(i);}
|
||||
OrderedHash itms = OrderedHash_.new_bry_();
|
||||
public Cfg_nde_obj Itms_get_at(int i) {return (Cfg_nde_obj)itms.Get_at(i);}
|
||||
Ordered_hash itms = Ordered_hash_.new_bry_();
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class Xoac_wiki_grp_tst {
|
||||
}
|
||||
}
|
||||
class Xoac_wiki_grp_fxt {
|
||||
Xoa_wiki_mgr wiki_mgr; Tst_mgr tst_mgr = new Tst_mgr();
|
||||
Xoae_wiki_mgr wiki_mgr; Tst_mgr tst_mgr = new Tst_mgr();
|
||||
public void Clear() {
|
||||
Xoae_app app = Xoa_app_fxt.app_();
|
||||
wiki_mgr = app.Wiki_mgr();
|
||||
@@ -48,11 +48,11 @@ class Xoac_wiki_grp_fxt {
|
||||
public Xoac_wiki_itm_chkr itm_(String key) {return new Xoac_wiki_itm_chkr(key);}
|
||||
public Xoac_wiki_grp_chkr grp_(String key) {return new Xoac_wiki_grp_chkr(key);}
|
||||
public Xoac_wiki_grp_fxt Define_bulk(String raw, Xoac_wiki_grp_chkr... expd) {
|
||||
wiki_mgr.Groups().Set_bulk(Bry_.new_utf8_(raw));
|
||||
tst_mgr.Tst_ary("", expd, Xto_ary(wiki_mgr.Groups()));
|
||||
wiki_mgr.Groups().Set_bulk(Bry_.new_u8(raw));
|
||||
tst_mgr.Tst_ary("", expd, To_ary(wiki_mgr.Groups()));
|
||||
return this;
|
||||
}
|
||||
Xoac_wiki_grp[] Xto_ary(Cfg_nde_root root) {
|
||||
Xoac_wiki_grp[] To_ary(Cfg_nde_root root) {
|
||||
int len = root.Root_len();
|
||||
Xoac_wiki_grp[] rv = new Xoac_wiki_grp[len];
|
||||
for (int i = 0; i < len; i++) {
|
||||
@@ -70,7 +70,7 @@ class Xoac_wiki_itm_chkr implements Xoac_wiki_chkr_obj {
|
||||
public int Chk(Tst_mgr mgr, String path, Object actl_obj) {
|
||||
Xoac_wiki_itm actl = (Xoac_wiki_itm)actl_obj;
|
||||
int rv = 0;
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_utf8_(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_u8(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(aliases == null, path, "aliases", String_.AryXtoStr(aliases), String_.AryXtoStr(String_.Ary(actl.Aliases())));
|
||||
return rv;
|
||||
}
|
||||
@@ -84,12 +84,12 @@ class Xoac_wiki_grp_chkr implements Xoac_wiki_chkr_obj {
|
||||
public int Chk(Tst_mgr mgr, String path, Object actl_obj) {
|
||||
Xoac_wiki_grp actl = (Xoac_wiki_grp)actl_obj;
|
||||
int rv = 0;
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_utf8_(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(name == null, path, "name", name, String_.new_utf8_(actl.Name_bry()));
|
||||
rv += mgr.Tst_sub_ary(itms, Xto_ary(actl), path, rv);
|
||||
rv += mgr.Tst_val(key == null, path, "key", key, String_.new_u8(actl.Key_bry()));
|
||||
rv += mgr.Tst_val(name == null, path, "name", name, String_.new_u8(actl.Name_bry()));
|
||||
rv += mgr.Tst_sub_ary(itms, To_ary(actl), path, rv);
|
||||
return rv;
|
||||
}
|
||||
Xoac_wiki_obj[] Xto_ary(Xoac_wiki_grp grp) {
|
||||
Xoac_wiki_obj[] To_ary(Xoac_wiki_grp grp) {
|
||||
int len = grp.Itms_len();
|
||||
Xoac_wiki_obj[] rv = new Xoac_wiki_obj[len];
|
||||
for (int i = 0; i < len; i++)
|
||||
|
||||
@@ -26,8 +26,8 @@ public class Xoac_wiki_itm implements Cfg_nde_obj, Xoac_wiki_obj {
|
||||
public Cfg_nde_obj Nde_subs_get(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_get", "leafs cannot have itms: ~{0}", key);}
|
||||
public int Nde_subs_len() {return 0;}
|
||||
public Cfg_nde_obj Nde_subs_get_at(int i) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_get", "leafs cannot have itms: ~{0}", i);}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_add", "leafs cannot have itms: ~{0}", String_.new_utf8_(itm_key));}
|
||||
public void Nde_subs_del(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_del", "leafs cannot delete itms: ~{0}", String_.new_utf8_(key));}
|
||||
public void Nde_subs_add(byte[] itm_key, Cfg_nde_obj itm_obj) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_add", "leafs cannot have itms: ~{0}", String_.new_u8(itm_key));}
|
||||
public void Nde_subs_del(byte[] key) {throw Err_mgr._.fmt_(GRP_KEY, "invalid_sub_del", "leafs cannot delete itms: ~{0}", String_.new_u8(key));}
|
||||
public void Nde_atrs_set(byte[][] ary) {
|
||||
int ary_len = ary.length;
|
||||
if (ary_len > 0) aliases = Bry_.Split(ary[0], Byte_ascii.Semic);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class Xoad_wtr_dump {
|
||||
public void Flush() {
|
||||
int len = dump_itms.Count();
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xoad_dump_itm data = (Xoad_dump_itm)dump_itms.FetchAt(i);
|
||||
Xoad_dump_itm data = (Xoad_dump_itm)dump_itms.Get_at(i);
|
||||
if (data != null) {
|
||||
data.Flush(log_dir);
|
||||
data.Rls();
|
||||
@@ -46,24 +46,24 @@ public class Xoad_wtr_dump {
|
||||
}
|
||||
Xoad_dump_itm GetByItm(Gfo_msg_data data) {
|
||||
byte[] path_bry = data.Item().Path_bry();
|
||||
Xoad_dump_itm rv = (Xoad_dump_itm)dump_itms.Fetch(path_bry);
|
||||
Xoad_dump_itm rv = (Xoad_dump_itm)dump_itms.Get_by(path_bry);
|
||||
if (rv == null) {
|
||||
rv = new Xoad_dump_itm(path_bry, data.Item().Key_bry());
|
||||
dump_itms.Add(path_bry, rv);
|
||||
}
|
||||
return rv;
|
||||
} private OrderedHash dump_itms = OrderedHash_.new_bry_();
|
||||
} private Ordered_hash dump_itms = Ordered_hash_.new_bry_();
|
||||
}
|
||||
class Xoad_dump_itm {
|
||||
Bry_bfr bfr = Bry_bfr.new_(4096);
|
||||
int pageIdx_last;
|
||||
public int BfrLen() {return bfr.Len();}
|
||||
public Xoad_dump_itm(byte[] ownerKey, byte[] itmKey) {
|
||||
fil_name = String_.new_utf8_(ownerKey) + "__" + String_.new_utf8_(itmKey);
|
||||
fil_name = String_.new_u8(ownerKey) + "__" + String_.new_u8(itmKey);
|
||||
} String fil_name;
|
||||
public void Flush(Io_url log_dir) {
|
||||
Io_url fil_url = log_dir.GenSubFil_ary(fil_name, ".txt");
|
||||
Io_mgr._.AppendFilByt(fil_url, bfr.Bfr(), bfr.Len());
|
||||
Io_mgr.I.AppendFilByt(fil_url, bfr.Bfr(), bfr.Len());
|
||||
bfr.Reset_if_gt(Io_mgr.Len_kb);
|
||||
}
|
||||
public void Rls() {
|
||||
|
||||
Reference in New Issue
Block a user