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

Cfg: Convert 'App - Startup' (start)

This commit is contained in:
gnosygnu
2016-12-15 22:01:54 -05:00
parent 2f3a3a7a16
commit bfc5c5b68e
13 changed files with 155 additions and 222 deletions

View File

@@ -50,14 +50,15 @@ public class Xocfg_mgr {
cache_mgr.Sub(sub, ctx, key, key);
return cache_mgr.Get(ctx, key);
}
public boolean Get_bool_by_app_or(String key, boolean or) {
public boolean Get_bool_app_or(String key, boolean or) {
String rv = Get_str(Ctx__app, key);
return rv == null ? or : Yn.parse_or(rv, or);
}
public boolean Get_bool_by_wiki_or(Xow_wiki wiki, String key, boolean or) {
public boolean Get_bool_wiki_or(Xow_wiki wiki, String key, boolean or) {
String rv = Get_str(wiki.Domain_itm().Abrv_xo_str(), key);
return rv == null ? or : Yn.parse_or(rv, or);
}
public String Get_str_app_or(String key, String or) {return cache_mgr.Get_or(Ctx__app, key, or);}
public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);}
public boolean Get_bool_or(String ctx, String key, boolean or) {
String rv = cache_mgr.Get(ctx, key);
@@ -68,7 +69,7 @@ public class Xocfg_mgr {
return or;
}
}
public int Get_int_by_wiki_or(Xow_wiki wiki, String key, int or) {
public int Get_int_wiki_or(Xow_wiki wiki, String key, int or) {
String rv = Get_str(wiki.Domain_itm().Abrv_xo_str(), key);
try {return Int_.parse(rv);}
catch (Exception exc) {

View File

@@ -35,6 +35,14 @@ public class Xocfg_cache_mgr {
Xocfg_cache_grp grp = Grps__get_or_load(key);
return grp.Get(ctx);
}
public String Get_or(String ctx, String key, String or) {
Xocfg_cache_grp grp = (Xocfg_cache_grp)grps.Get_by(key);
if (grp == null) {
grp = Load_grp(key, or);
grps.Add(key, grp);
}
return grp.Get(ctx);
}
public void Set(String ctx, String key, String val) {
Xocfg_cache_grp grp = Grps__get_or_load(key);
grp.Set(ctx, val);
@@ -62,17 +70,17 @@ public class Xocfg_cache_mgr {
private Xocfg_cache_grp Grps__get_or_load(String key) {
Xocfg_cache_grp grp = (Xocfg_cache_grp)grps.Get_by(key);
if (grp == null) {
grp = Load_grp(key);
grp = Load_grp(key, "");
grps.Add(key, grp);
}
return grp;
}
private Xocfg_cache_grp Load_grp(String key) {
private Xocfg_cache_grp Load_grp(String key, String or) {
// get data from db
Xocfg_itm_row meta_itm = db_app.Tbl__itm().Select_by_key_or_null(key);
if (meta_itm == null) {
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:itm not found; key=~{0}", key);
return new Xocfg_cache_grp(key, "");
return new Xocfg_cache_grp(key, or);
}
Xocfg_val_row[] itms = db_usr.Tbl__val().Select_all(meta_itm.Key());